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

Version Description

Download this release

Release Info

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

Code changes from version 1.0 to 1.1

assets/css/twae-admin-feedback-notice.css DELETED
@@ -1,28 +0,0 @@
1
- .cool-feedback-notice-wrapper.notice.notice-info.is-dismissible {
2
- padding: 5px;
3
- display: inline-block;
4
- width: 100%;
5
- }
6
- .cool-feedback-notice-wrapper .logo_container {
7
- width:80px;
8
- display:inline-block;
9
- margin-right: 10px;
10
- vertical-align: top;
11
- }
12
- .cool-feedback-notice-wrapper .logo_container img {
13
- width:100%;
14
- height:auto;
15
- }
16
- .cool-feedback-notice-wrapper .message_container {
17
- width: calc(100% - 120px);
18
- display: inline-block;
19
- margin: 0;
20
- vertical-align: top;
21
- }
22
- .cool-feedback-notice-wrapper ul li {
23
- float: left;
24
- margin: 0px 5px;
25
- }
26
- .clrfix{
27
- clear:both;
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/twae-centered-timeline.css CHANGED
@@ -1,5 +1,5 @@
1
- .twae-wrapper:before,
2
- .twae-wrapper:after {
3
  content: "";
4
  width: 20px;
5
  height: 20px;
@@ -10,10 +10,10 @@
10
  left: calc(50% - 12px);
11
  z-index: 9;
12
  }
13
- .twae-wrapper:before {
14
  top: -10px;
15
  }
16
- .twae-wrapper:after {
17
  bottom: 20px;
18
  }
19
  .twae-timeline-centered {
@@ -21,7 +21,7 @@
21
  margin-bottom: 30px;
22
  padding-top: 20px;
23
  }
24
- .twae-wrapper span.twae-year-container:first-child {
25
  margin-top: 0px!important;
26
  }
27
  .twae-timeline-centered.twae-timeline-sm .twae-timeline-entry {
@@ -145,7 +145,7 @@
145
  line-height: 38px;
146
  font-size: 22px;
147
  }
148
- .twae-wrapper .twae-timeline-centered .twae-data-container{
149
  display: flow-root;
150
  }
151
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container {
@@ -155,9 +155,11 @@
155
  -webkit-background-clip: padding-box;
156
  -moz-background-clip: padding;
157
  background-clip: padding-box;
158
- -webkit-border-radius: 3px;
159
- -moz-border-radius: 3px;
160
- border-radius: 3px;
 
 
161
  }
162
 
163
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container.twae-bg-orange:after {
@@ -186,6 +188,8 @@
186
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title {
187
  margin-bottom: 10px;
188
  font-weight: bold;
 
 
189
  }
190
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title span {
191
  -webkit-opacity: .6;
@@ -235,7 +239,7 @@
235
  .twae-timeline-centered .twae-year-container:after {
236
  clear: both
237
  }
238
- .twae-wrapper .twae-timeline-centered .twae-year{
239
  border: 2px solid;
240
  }
241
 
@@ -243,8 +247,8 @@
243
 
244
  @media only screen and (max-width: 768px) {
245
 
246
- .twae-wrapper:before,
247
- .twae-wrapper:after {
248
  left: 10px;
249
  }
250
  .twae-timeline-centered:before {
@@ -293,6 +297,7 @@
293
  .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container {
294
  margin-left: 54px;
295
  margin-right: 0;
 
296
  }
297
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after {
298
  top:10px;
@@ -338,9 +343,10 @@
338
  left: -2%;
339
  width: 22%;
340
  }
341
- .twae-wrapper.twae-one-sided-wrapper:before,
342
- .twae-wrapper.twae-one-sided-wrapper:after {
343
  left: calc(23% - 4px);
344
  }
345
 
346
- }
 
1
+ .twae-vertical:before,
2
+ .twae-vertical:after {
3
  content: "";
4
  width: 20px;
5
  height: 20px;
10
  left: calc(50% - 12px);
11
  z-index: 9;
12
  }
13
+ .twae-vertical:before {
14
  top: -10px;
15
  }
16
+ .twae-vertical:after {
17
  bottom: 20px;
18
  }
19
  .twae-timeline-centered {
21
  margin-bottom: 30px;
22
  padding-top: 20px;
23
  }
24
+ .twae-vertical span.twae-year-container:first-child {
25
  margin-top: 0px!important;
26
  }
27
  .twae-timeline-centered.twae-timeline-sm .twae-timeline-entry {
145
  line-height: 38px;
146
  font-size: 22px;
147
  }
148
+ .twae-vertical .twae-timeline-centered .twae-data-container{
149
  display: flow-root;
150
  }
151
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container {
155
  -webkit-background-clip: padding-box;
156
  -moz-background-clip: padding;
157
  background-clip: padding-box;
158
+ -webkit-border-radius: 6px;
159
+ -moz-border-radius: 6px;
160
+ border-radius: 6px;
161
+ box-shadow: 0px 2px 8px -2px rgba(0, 0, 0, 0.3);
162
+ border: 1px solid rgba(0, 0, 0, 0.05);
163
  }
164
 
165
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container.twae-bg-orange:after {
188
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title {
189
  margin-bottom: 10px;
190
  font-weight: bold;
191
+ display: inline-block;
192
+ width: 100%;
193
  }
194
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title span {
195
  -webkit-opacity: .6;
239
  .twae-timeline-centered .twae-year-container:after {
240
  clear: both
241
  }
242
+ .twae-vertical .twae-timeline-centered .twae-year{
243
  border: 2px solid;
244
  }
245
 
247
 
248
  @media only screen and (max-width: 768px) {
249
 
250
+ .twae-vertical:before,
251
+ .twae-vertical:after {
252
  left: 10px;
253
  }
254
  .twae-timeline-centered:before {
297
  .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container {
298
  margin-left: 54px;
299
  margin-right: 0;
300
+ border-right: 1px solid rgba(0, 0, 0, 0.05) !Important;
301
  }
302
  .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after {
303
  top:10px;
343
  left: -2%;
344
  width: 22%;
345
  }
346
+ .twae-vertical.twae-one-sided-wrapper:before,
347
+ .twae-vertical.twae-one-sided-wrapper:after {
348
  left: calc(23% - 4px);
349
  }
350
 
351
+ }
352
+
assets/css/twae-centered-timeline.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .twae-vertical:after,.twae-vertical:before{content:"";width:20px;height:20px;background:#222;display:inline-block;border-radius:50%;position:absolute;left:calc(50% - 12px);z-index:9}.twae-vertical:before{top:-10px}.twae-vertical:after{bottom:20px}.twae-timeline-centered{position:relative;margin-bottom:30px;padding-top:20px}.twae-vertical span.twae-year-container:first-child{margin-top:0!important}.twae-timeline-centered.twae-timeline-sm .twae-timeline-entry{margin-bottom:20px!important}.twae-timeline-centered.twae-timeline-sm .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{padding:.85em}.twae-timeline-centered:after,.twae-timeline-centered:before{content:" ";display:table}.twae-timeline-centered:after{clear:both}.twae-timeline-centered:before{content:'';position:absolute;display:block;width:4px;left:50%;top:0;bottom:0;margin-left:-4px}.twae-timeline-centered .twae-timeline-entry{position:relative;width:50%;float:right;margin-bottom:70px;clear:both}.twae-timeline-centered .twae-timeline-entry:after,.twae-timeline-centered .twae-timeline-entry:before{content:" ";display:table}.twae-timeline-centered .twae-timeline-entry:after{clear:both}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned{float:left}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner{margin-left:0;margin-right:-22px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-label-extra-label{left:auto;right:-100%;text-align:left}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-icon{float:right}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container{margin-left:0;margin-right:70px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container:after{left:auto;right:0;margin-left:0;margin-right:-9px;-moz-transform:rotate(180deg);-o-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner{position:relative;margin-left:-27px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:after,.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:before{content:" ";display:table}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:after{clear:both}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{position:absolute;left:-100%;width:100%;text-align:right;padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label>span{display:block}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label>span:first-child{font-size:1em;font-weight:700}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label>span:last-child{font-size:.75em;margin-top:5px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{display:block;width:48px;height:48px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;border-radius:50%;text-align:center;border:4px solid;line-height:0;font-size:0;float:left;padding:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon i{line-height:38px;font-size:22px}.twae-vertical .twae-timeline-centered .twae-data-container{display:flow-root}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{position:relative;padding:1.7em;margin-left:70px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;box-shadow:0 2px 8px -2px rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.05)}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container.twae-bg-orange:after{border-color:transparent #e9662c transparent transparent}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after{content:'';display:block;position:absolute;width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;left:0;top:14px;margin-left:-9px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title,.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container p{margin:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container p+p{margin-top:15px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title{margin-bottom:10px;font-weight:700;display:inline-block;width:100%}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title span{-webkit-opacity:.6;-moz-opacity:.6;opacity:.6}.twae-timeline-centered .twae-timeline-entry .twae-data-container .twae-timeline-img img{float:left;padding:0 5px 0 0}.twae-timeline-centered .twae-year-container .twae-year-label{border-radius:6px;display:inline-block;font-size:20px;font-weight:600;line-height:1;padding:7px 14px;text-align:center;vertical-align:baseline;white-space:nowrap}.twae-timeline-centered .twae-year-container{position:relative;float:left;clear:left;width:50%;margin-top:20px;margin-bottom:20px;top:1px;width:100%;margin-left:auto;margin-right:auto;padding:0;text-align:center}.twae-timeline-centered .twae-year-container:after,.twae-timeline-centered .twae-year-container:before{content:"";display:table}.twae-timeline-centered .twae-year-container:after{clear:both}.twae-vertical .twae-timeline-centered .twae-year{border:2px solid}@media only screen and (max-width:768px){.twae-vertical:after,.twae-vertical:before{left:10px}.twae-timeline-centered:before{left:22px}.twae-timeline-centered .twae-year-container{padding-left:54px;text-align:left;margin-bottom:5px;margin-top:20px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner{margin-left:0}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner{margin-right:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{position:relative;left:0;text-align:left;display:inline-block;width:100%;padding-left:54px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-label-extra-label{right:0}.twae-timeline-centered .twae-timeline-entry{width:100%}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{width:40px;height:40px;line-height:28px;font-size:18px!important}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon i{font-size:18px!important;line-height:31px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-icon{float:left}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container,.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container{margin-left:54px;margin-right:0;border-right:1px solid rgba(0,0,0,.05)!important}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after{top:10px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container:after{left:0;right:auto;margin-left:-9px;margin-right:0;-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@media only screen and (min-width:769px){.twae-timeline-centered.twae-one-sided-timeline:before{left:24%}.twae-timeline-centered.twae-one-sided-timeline .twae-year-container{text-align:right;padding-right:80%}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry{width:100%;float:left}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner{margin-left:0}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{margin-left:31%}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{margin-left:calc(24% - 25px)}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{left:-2%;width:22%}.twae-vertical.twae-one-sided-wrapper:after,.twae-vertical.twae-one-sided-wrapper:before{left:calc(23% - 4px)}}
assets/css/twae-fontello.css ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'fontello';
3
+ src: url('../font/fontello.eot?42994344');
4
+ src: url('../font/fontello.eot?42994344#iefix') format('embedded-opentype'),
5
+ url('../font/fontello.woff2?42994344') format('woff2'),
6
+ url('../font/fontello.woff?42994344') format('woff'),
7
+ url('../font/fontello.ttf?42994344') format('truetype'),
8
+ url('../font/fontello.svg?42994344#fontello') format('svg');
9
+ font-weight: normal;
10
+ font-style: normal;
11
+ }
12
+ /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
13
+ /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
14
+ /*
15
+ @media screen and (-webkit-min-device-pixel-ratio:0) {
16
+ @font-face {
17
+ font-family: 'fontello';
18
+ src: url('../font/fontello.svg?42994344#fontello') format('svg');
19
+ }
20
+ }
21
+ */
22
+
23
+ [class^="twae-icon-"]:before, [class*=" twae-icon-"]:before {
24
+ font-family: "fontello";
25
+ font-style: normal;
26
+ font-weight: normal;
27
+ speak: never;
28
+
29
+ display: inline-block;
30
+ text-decoration: inherit;
31
+ width: 1em;
32
+ margin-right: .2em;
33
+ text-align: center;
34
+ /* opacity: .8; */
35
+
36
+ /* For safety - reset parent styles, that can break glyph codes*/
37
+ font-variant: normal;
38
+ text-transform: none;
39
+
40
+ /* fix buttons height, for twitter bootstrap */
41
+ line-height: 1em;
42
+
43
+ /* Animation center compensation - margins should be symmetric */
44
+ /* remove if not needed */
45
+ margin-left: .2em;
46
+
47
+ /* you can be more comfortable with increased icons size */
48
+ /* font-size: 120%; */
49
+
50
+ /* Font smoothing. That was taken from TWBS */
51
+ -webkit-font-smoothing: antialiased;
52
+ -moz-osx-font-smoothing: grayscale;
53
+
54
+ /* Uncomment for 3D effect */
55
+ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
56
+ }
57
+
58
+ .twae-icon-left-open-big:before { content: '\e800'; } /* '' */
59
+ .twae-icon-left-open:before { content: '\e801'; } /* '' */
60
+ .twae-icon-left-circled:before { content: '\e802'; } /* '' */
61
+ .twae-icon-right-open:before { content: '\e803'; } /* '' */
62
+ .twae-icon-right-big:before { content: '\e804'; } /* '' */
63
+ .twae-icon-right-circled:before { content: '\e805'; } /* '' */
64
+ .twae-icon-right-open-big:before { content: '\e806'; } /* '' */
65
+ .twae-icon-left-open-1:before { content: '\f007'; } /* '' */
assets/css/twae-horizontal-styles.css ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*----Horizontal Timeline----*/
2
+ .twae-horizontal.swiper-container {
3
+ position: unset;
4
+ margin-left: auto;
5
+ margin-right: auto;
6
+ overflow: hidden;
7
+ z-index: 10;
8
+ margin: 0 32px;
9
+ }
10
+
11
+
12
+ /*----Year Label----*/
13
+ .twae-horizontal .twae-year-container {
14
+ position: absolute;
15
+ display: table;
16
+ text-align: center;
17
+ top: 96px;
18
+ left: 10px;
19
+ height: 36px;
20
+ width: 72px;
21
+ vertical-align: middle;
22
+ border-radius: 6px;
23
+ overflow: hidden;
24
+ z-index: 1;
25
+ table-layout: fixed;
26
+ word-break: break-word;
27
+ }
28
+ .twae-horizontal .twae-year-label {
29
+ padding: 2px;
30
+ vertical-align: middle;
31
+ display: table-cell;
32
+ }
33
+
34
+
35
+ /*----Extra Labels----*/
36
+ .twae-horizontal .twae-label-extra-label {
37
+ position: absolute;
38
+ display: table;
39
+ width: 100%;
40
+ height: 80px;
41
+ overflow: hidden;
42
+ text-align: center;
43
+ vertical-align: middle;
44
+ }
45
+ .twae-horizontal .twae-label-extra-label div {
46
+ display: table-cell;
47
+ vertical-align: bottom;
48
+ }
49
+ .twae-horizontal .twae-label-extra-label .twae-label,
50
+ .twae-horizontal .twae-label-extra-label .twae-extra-label {
51
+ display: inline-block;
52
+ width: 100%;
53
+ }
54
+
55
+
56
+ /*----Story Icon----*/
57
+ .twae-horizontal .twae-icon {
58
+ color: #fff;
59
+ width: 40px;
60
+ height: 40px;
61
+ top: 94px;
62
+ left: calc(50% - 20px);
63
+ text-align: center;
64
+ position: absolute;
65
+ display: block;
66
+ z-index: 100;
67
+ border-radius: 50%;
68
+ }
69
+ .twae-horizontal .twae-icon i {
70
+ line-height: 40px;
71
+ font-size: 26px;
72
+ }
73
+ .twae-horizontal .twae-icon:empty {
74
+ width: 24px;
75
+ height: 24px;
76
+ top: 102px;
77
+ left: calc(50% - 12px);
78
+ }
79
+
80
+
81
+ /*----Story Content Section----*/
82
+ .twae-horizontal .twae-story-info:before {
83
+ content: "";
84
+ display: block;
85
+ border: 13px solid transparent;
86
+ position: absolute;
87
+ left: calc(50% - 13px);
88
+ left: -moz-calc(50% - 1em);
89
+ left: -webkit-calc(50% - 13px);
90
+ left: -o-calc(50% - 13px);
91
+ top: -28px;
92
+ }
93
+ .twae-horizontal .twae-story-info {
94
+ padding: 0;
95
+ margin: 150px 4px 10px;
96
+ justify-content: center;
97
+ border-top: 4px solid;
98
+ position: relative;
99
+ transition: all 200ms ease-in;
100
+ text-align: center;
101
+ box-sizing: border-box;
102
+ box-shadow: 0px 2px 8px -2px rgba(0, 0, 0, 0.4);
103
+ -webkit-border-radius: 6px;
104
+ -moz-border-radius: 6px;
105
+ border-radius: 6px;
106
+ height: calc(100% - 160px);
107
+ }
108
+ .twae-horizontal .twae-timeline-img,
109
+ .twae-horizontal .twae-timeline-img img {
110
+ display: inline-block;
111
+ width: 100%;
112
+ height: auto;
113
+ }
114
+ .twae-horizontal .twae-title,
115
+ .twae-horizontal .twae-description {
116
+ display: inline-block;
117
+ width: 100%;
118
+ margin: 0;
119
+ line-height: 1.2em;
120
+ }
121
+ .twae-horizontal .twae-title {
122
+ padding: 8px 8px 0;
123
+ font-size: 20px;
124
+ }
125
+ .twae-horizontal .twae-description {
126
+ padding: 8px;
127
+ font-size: inherit;
128
+ }
129
+
130
+
131
+ /*----Middle Line----*/
132
+ .twae-horizontal .twae-pagination.swiper-pagination-progressbar {
133
+ position: absolute;
134
+ top: 112px;
135
+ margin: 0px 32px;
136
+ width: calc(100% - 64px);
137
+ z-index: 0;
138
+ }
139
+ .twae-horizontal .twae-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
140
+ background: rgba(0, 0, 0, 0.25);
141
+ }
142
+
143
+
144
+ /*----Next/Prev Buttons----*/
145
+ .twae-horizontal .twae-button-prev, .twae-horizontal .twae-button-next {
146
+ position: absolute;
147
+ font-size: 40px;
148
+ top: 94px;
149
+ cursor: pointer;
150
+ line-height: 0;
151
+ }
152
+ .twae-horizontal .twae-button-prev {
153
+ left: -10px;
154
+ }
155
+ .twae-horizontal .twae-button-next {
156
+ right: -10px;
157
+ }
158
+ .twae-button-prev.swiper-button-disabled,
159
+ .twae-button-next.swiper-button-disabled {
160
+ opacity: 0.35;
161
+ cursor: auto;
162
+ pointer-events: none;
163
+ }
164
+
165
+
166
+ /*----Slider Styles*/
167
+ .swiper-slide.auto-height {
168
+ height: auto;
169
+ }
assets/css/twae-horizontal-styles.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .twae-horizontal.swiper-container{position:unset;margin-left:auto;margin-right:auto;overflow:hidden;z-index:10;margin:0 32px}.twae-horizontal .twae-year-container{position:absolute;display:table;text-align:center;top:96px;left:10px;height:36px;width:72px;vertical-align:middle;border-radius:6px;overflow:hidden;z-index:1;table-layout:fixed;word-break:break-word}.twae-horizontal .twae-year-label{padding:2px;vertical-align:middle;display:table-cell}.twae-horizontal .twae-label-extra-label{position:absolute;display:table;width:100%;height:80px;overflow:hidden;text-align:center;vertical-align:middle}.twae-horizontal .twae-label-extra-label div{display:table-cell;vertical-align:bottom}.twae-horizontal .twae-label-extra-label .twae-extra-label,.twae-horizontal .twae-label-extra-label .twae-label{display:inline-block;width:100%}.twae-horizontal .twae-icon{color:#fff;width:40px;height:40px;top:94px;left:calc(50% - 20px);text-align:center;position:absolute;display:block;z-index:100;border-radius:50%}.twae-horizontal .twae-icon i{line-height:40px;font-size:26px}.twae-horizontal .twae-icon:empty{width:24px;height:24px;top:102px;left:calc(50% - 12px)}.twae-horizontal .twae-story-info:before{content:"";display:block;border:13px solid transparent;position:absolute;left:calc(50% - 13px);left:-moz-calc(50% - 1em);left:-webkit-calc(50% - 13px);left:-o-calc(50% - 13px);top:-28px}.twae-horizontal .twae-story-info{padding:0;margin:150px 4px 10px;justify-content:center;border-top:4px solid;position:relative;transition:all .2s ease-in;text-align:center;box-sizing:border-box;box-shadow:0 2px 8px -2px rgba(0,0,0,.4);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;height:calc(100% - 160px)}.twae-horizontal .twae-timeline-img,.twae-horizontal .twae-timeline-img img{display:inline-block;width:100%;height:auto}.twae-horizontal .twae-description,.twae-horizontal .twae-title{display:inline-block;width:100%;margin:0;line-height:1.2em}.twae-horizontal .twae-title{padding:8px 8px 0;font-size:20px}.twae-horizontal .twae-description{padding:8px;font-size:inherit}.twae-horizontal .twae-pagination.swiper-pagination-progressbar{position:absolute;top:112px;margin:0 32px;width:calc(100% - 64px);z-index:0}.twae-horizontal .twae-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:rgba(0,0,0,.25)}.twae-horizontal .twae-button-next,.twae-horizontal .twae-button-prev{position:absolute;font-size:40px;top:94px;cursor:pointer;line-height:0}.twae-horizontal .twae-button-prev{left:-10px}.twae-horizontal .twae-button-next{right:-10px}.twae-button-next.swiper-button-disabled,.twae-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-slide.auto-height{height:auto}
assets/font/fontello.eot ADDED
Binary file
assets/font/fontello.svg ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>Copyright (C) 2020 by original authors @ fontello.com</metadata>
5
+ <defs>
6
+ <font id="fontello" horiz-adv-x="1000" >
7
+ <font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
8
+ <missing-glyph horiz-adv-x="1000" />
9
+ <glyph glyph-name="left-open-big" unicode="&#xe800;" d="M452-20q26-26 0-48-26-26-48 0l-392 394q-24 24 0 50l392 394q22 26 48 0 26-22 0-48l-358-372z" horiz-adv-x="465" />
10
+
11
+ <glyph glyph-name="left-open" unicode="&#xe801;" d="M654 682l-297-296 297-297q10-10 10-25t-10-25l-93-93q-11-10-25-10t-25 10l-414 415q-11 10-11 25t11 25l414 414q10 11 25 11t25-11l93-93q10-10 10-25t-10-25z" horiz-adv-x="714.3" />
12
+
13
+ <glyph glyph-name="left-circled" unicode="&#xe802;" d="M920 350q0-190-135-325t-325-135-325 135-135 325q0 192 135 326t325 134 325-134 135-326z m-820 0q0-148 106-254t254-106 254 106 106 254q0 150-106 255t-254 105-254-105-106-255z m552-90l-204 0 0-112-190 202 190 204 0-114 204 0 0-180z" horiz-adv-x="920" />
14
+
15
+ <glyph glyph-name="right-open" unicode="&#xe803;" d="M618 361l-414-415q-11-10-25-10t-25 10l-93 93q-11 11-11 25t11 25l296 297-296 296q-11 11-11 25t11 25l93 93q10 11 25 11t25-11l414-414q10-11 10-25t-10-25z" horiz-adv-x="714.3" />
16
+
17
+ <glyph glyph-name="right-big" unicode="&#xe804;" d="M821 314q0-30-20-50l-363-364q-22-20-51-20-29 0-50 20l-42 42q-22 21-22 51t22 51l163 163h-393q-29 0-47 21t-18 51v71q0 30 18 51t47 20h393l-163 165q-22 20-22 50t22 50l42 42q21 21 50 21 29 0 51-21l363-363q20-20 20-51z" horiz-adv-x="857.1" />
18
+
19
+ <glyph glyph-name="right-circled" unicode="&#xe805;" d="M0 350q0 190 135 325t325 135 325-135 135-325-135-325-325-135-325 135-135 325z m820 0q0 150-105 255t-255 105q-148 0-254-105t-106-255q0-148 106-254t254-106q150 0 255 106t105 254z m-552 90l204 0 0 114 190-204-190-202 0 112-204 0 0 180z" horiz-adv-x="920" />
20
+
21
+ <glyph glyph-name="right-open-big" unicode="&#xe806;" d="M13-20l358 370-358 372q-26 26 0 48 26 26 48 0l392-394q24-26 0-50l-392-394q-22-26-48 0-26 22 0 48z" horiz-adv-x="465" />
22
+
23
+ <glyph glyph-name="left-open-1" unicode="&#xf007;" d="M0 353l391 391q18 18 43 18 24 0 43-18 18-18 18-44t-18-43l-304-304 304-305q18-17 18-43t-18-43q-18-18-43-18t-43 18z" horiz-adv-x="495.1" />
24
+ </font>
25
+ </defs>
26
+ </svg>
assets/font/fontello.ttf ADDED
Binary file
assets/font/fontello.woff ADDED
Binary file
assets/font/fontello.woff2 ADDED
Binary file
assets/js/twae-admin-feedback-notice.js DELETED
@@ -1,13 +0,0 @@
1
- jQuery(document).ready(function ($) {
2
- $('.twae_dismiss_notice').on('click', function (event) {
3
- var $this = $(this);
4
- var wrapper=$this.parents('.cool-feedback-notice-wrapper');
5
- var ajaxURL=wrapper.data('ajax-url');
6
- var ajaxCallback=wrapper.data('ajax-callback');
7
-
8
- $.post(ajaxURL, { 'action':ajaxCallback }, function( data ) {
9
- wrapper.slideUp('fast');
10
- }, "json");
11
-
12
- });
13
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/twae-horizontal-editor.js ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function ($) {
2
+
3
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/timeline-widget-addon.default', function($scope, $){
4
+
5
+ $(".twae-horizontal.swiper-container").each(function(index){
6
+
7
+ var slidestoshow = $(this).data("slidestoshow");
8
+ var autoplay = $(this).data("autoplay");
9
+
10
+ var swiper = new Swiper( $(this), {
11
+ spaceBetween: 10,
12
+ autoplay:autoplay,
13
+ delay: 5000,
14
+ slidesPerView: slidestoshow,
15
+ direction: 'horizontal',
16
+ pagination: {
17
+ el: '.twae-pagination',
18
+ type: 'progressbar',
19
+ },
20
+ navigation: {
21
+ nextEl: '.twae-button-next',
22
+ prevEl: '.twae-button-prev',
23
+ },
24
+ // Responsive breakpoints
25
+ breakpoints: {
26
+ // when window width is >= 320px
27
+ 320: {
28
+ slidesPerView: 1,
29
+ },
30
+ // when window width is >= 480px
31
+ 480: {
32
+ slidesPerView: 2,
33
+ },
34
+ // when window width is >= 640px
35
+ 640: {
36
+ slidesPerView: slidestoshow,
37
+
38
+ }
39
+ },
40
+
41
+ });
42
+
43
+
44
+ });
45
+
46
+ });
47
+
48
+ });
assets/js/twae-horizontal.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function ($) {
2
+
3
+
4
+ $( window ).on( 'elementor/frontend/init', function() {
5
+
6
+
7
+ $(".twae-horizontal.swiper-container").each(function(index){
8
+
9
+ var slidestoshow = $(this).data("slidestoshow");
10
+ var autoplay = $(this).data("autoplay");
11
+
12
+ var swiper = new Swiper( $(this), {
13
+ spaceBetween: 10,
14
+ autoplay:autoplay,
15
+ delay: 5000,
16
+ slidesPerView: slidestoshow,
17
+ direction: 'horizontal',
18
+ pagination: {
19
+ el: '.twae-pagination',
20
+ type: 'progressbar',
21
+ },
22
+ navigation: {
23
+ nextEl: '.twae-button-next',
24
+ prevEl: '.twae-button-prev',
25
+ },
26
+ // Responsive breakpoints
27
+ breakpoints: {
28
+ // when window width is >= 320px
29
+ 320: {
30
+ slidesPerView: 1,
31
+ },
32
+ // when window width is >= 480px
33
+ 480: {
34
+ slidesPerView: 2,
35
+ },
36
+ // when window width is >= 640px
37
+ 640: {
38
+ slidesPerView: slidestoshow,
39
+
40
+ }
41
+ },
42
+
43
+ });
44
+
45
+
46
+ });
47
+
48
+
49
+
50
+ });
51
+
52
+ });
assets/js/twae-swiper.js ADDED
@@ -0,0 +1,4027 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ! function (e, t) {
2
+ "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self).Swiper = t()
3
+ }(this, (function () {
4
+ "use strict";
5
+
6
+ function e(e) {
7
+ return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object
8
+ }
9
+
10
+ function t(i, s) {
11
+ void 0 === i && (i = {}), void 0 === s && (s = {}), Object.keys(s).forEach((function (a) {
12
+ void 0 === i[a] ? i[a] = s[a] : e(s[a]) && e(i[a]) && Object.keys(s[a]).length > 0 && t(i[a], s[a])
13
+ }))
14
+ }
15
+ var i = "undefined" != typeof document ? document : {},
16
+ s = {
17
+ body: {},
18
+ addEventListener: function () {},
19
+ removeEventListener: function () {},
20
+ activeElement: {
21
+ blur: function () {},
22
+ nodeName: ""
23
+ },
24
+ querySelector: function () {
25
+ return null
26
+ },
27
+ querySelectorAll: function () {
28
+ return []
29
+ },
30
+ getElementById: function () {
31
+ return null
32
+ },
33
+ createEvent: function () {
34
+ return {
35
+ initEvent: function () {}
36
+ }
37
+ },
38
+ createElement: function () {
39
+ return {
40
+ children: [],
41
+ childNodes: [],
42
+ style: {},
43
+ setAttribute: function () {},
44
+ getElementsByTagName: function () {
45
+ return []
46
+ }
47
+ }
48
+ },
49
+ createElementNS: function () {
50
+ return {}
51
+ },
52
+ importNode: function () {
53
+ return null
54
+ },
55
+ location: {
56
+ hash: "",
57
+ host: "",
58
+ hostname: "",
59
+ href: "",
60
+ origin: "",
61
+ pathname: "",
62
+ protocol: "",
63
+ search: ""
64
+ }
65
+ };
66
+ t(i, s);
67
+ var a = "undefined" != typeof window ? window : {};
68
+ t(a, {
69
+ document: s,
70
+ navigator: {
71
+ userAgent: ""
72
+ },
73
+ location: {
74
+ hash: "",
75
+ host: "",
76
+ hostname: "",
77
+ href: "",
78
+ origin: "",
79
+ pathname: "",
80
+ protocol: "",
81
+ search: ""
82
+ },
83
+ history: {
84
+ replaceState: function () {},
85
+ pushState: function () {},
86
+ go: function () {},
87
+ back: function () {}
88
+ },
89
+ CustomEvent: function () {
90
+ return this
91
+ },
92
+ addEventListener: function () {},
93
+ removeEventListener: function () {},
94
+ getComputedStyle: function () {
95
+ return {
96
+ getPropertyValue: function () {
97
+ return ""
98
+ }
99
+ }
100
+ },
101
+ Image: function () {},
102
+ Date: function () {},
103
+ screen: {},
104
+ setTimeout: function () {},
105
+ clearTimeout: function () {},
106
+ matchMedia: function () {
107
+ return {}
108
+ }
109
+ });
110
+ var r = function (e) {
111
+ for (var t = 0; t < e.length; t += 1) this[t] = e[t];
112
+ return this.length = e.length, this
113
+ };
114
+
115
+ function n(e, t) {
116
+ var s = [],
117
+ n = 0;
118
+ if (e && !t && e instanceof r) return e;
119
+ if (e)
120
+ if ("string" == typeof e) {
121
+ var o, l, d = e.trim();
122
+ if (d.indexOf("<") >= 0 && d.indexOf(">") >= 0) {
123
+ var h = "div";
124
+ for (0 === d.indexOf("<li") && (h = "ul"), 0 === d.indexOf("<tr") && (h = "tbody"), 0 !== d.indexOf("<td") && 0 !== d.indexOf("<th") || (h = "tr"), 0 === d.indexOf("<tbody") && (h = "table"), 0 === d.indexOf("<option") && (h = "select"), (l = i.createElement(h)).innerHTML = d, n = 0; n < l.childNodes.length; n += 1) s.push(l.childNodes[n])
125
+ } else
126
+ for (o = t || "#" !== e[0] || e.match(/[ .<>:~]/) ? (t || i).querySelectorAll(e.trim()) : [i.getElementById(e.trim().split("#")[1])], n = 0; n < o.length; n += 1) o[n] && s.push(o[n])
127
+ } else if (e.nodeType || e === a || e === i) s.push(e);
128
+ else if (e.length > 0 && e[0].nodeType)
129
+ for (n = 0; n < e.length; n += 1) s.push(e[n]);
130
+ return new r(s)
131
+ }
132
+
133
+ function o(e) {
134
+ for (var t = [], i = 0; i < e.length; i += 1) - 1 === t.indexOf(e[i]) && t.push(e[i]);
135
+ return t
136
+ }
137
+ n.fn = r.prototype, n.Class = r, n.Dom7 = r;
138
+ var l = {
139
+ addClass: function (e) {
140
+ if (void 0 === e) return this;
141
+ for (var t = e.split(" "), i = 0; i < t.length; i += 1)
142
+ for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.add(t[i]);
143
+ return this
144
+ },
145
+ removeClass: function (e) {
146
+ for (var t = e.split(" "), i = 0; i < t.length; i += 1)
147
+ for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.remove(t[i]);
148
+ return this
149
+ },
150
+ hasClass: function (e) {
151
+ return !!this[0] && this[0].classList.contains(e)
152
+ },
153
+ toggleClass: function (e) {
154
+ for (var t = e.split(" "), i = 0; i < t.length; i += 1)
155
+ for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.toggle(t[i]);
156
+ return this
157
+ },
158
+ attr: function (e, t) {
159
+ var i = arguments;
160
+ if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
161
+ for (var s = 0; s < this.length; s += 1)
162
+ if (2 === i.length) this[s].setAttribute(e, t);
163
+ else
164
+ for (var a in e) this[s][a] = e[a], this[s].setAttribute(a, e[a]);
165
+ return this
166
+ },
167
+ removeAttr: function (e) {
168
+ for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
169
+ return this
170
+ },
171
+ data: function (e, t) {
172
+ var i;
173
+ if (void 0 !== t) {
174
+ for (var s = 0; s < this.length; s += 1)(i = this[s]).dom7ElementDataStorage || (i.dom7ElementDataStorage = {}), i.dom7ElementDataStorage[e] = t;
175
+ return this
176
+ }
177
+ if (i = this[0]) {
178
+ if (i.dom7ElementDataStorage && e in i.dom7ElementDataStorage) return i.dom7ElementDataStorage[e];
179
+ var a = i.getAttribute("data-" + e);
180
+ return a || void 0
181
+ }
182
+ },
183
+ transform: function (e) {
184
+ for (var t = 0; t < this.length; t += 1) {
185
+ var i = this[t].style;
186
+ i.webkitTransform = e, i.transform = e
187
+ }
188
+ return this
189
+ },
190
+ transition: function (e) {
191
+ "string" != typeof e && (e += "ms");
192
+ for (var t = 0; t < this.length; t += 1) {
193
+ var i = this[t].style;
194
+ i.webkitTransitionDuration = e, i.transitionDuration = e
195
+ }
196
+ return this
197
+ },
198
+ on: function () {
199
+ for (var e, t = [], i = arguments.length; i--;) t[i] = arguments[i];
200
+ var s = t[0],
201
+ a = t[1],
202
+ r = t[2],
203
+ o = t[3];
204
+
205
+ function l(e) {
206
+ var t = e.target;
207
+ if (t) {
208
+ var i = e.target.dom7EventData || [];
209
+ if (i.indexOf(e) < 0 && i.unshift(e), n(t).is(a)) r.apply(t, i);
210
+ else
211
+ for (var s = n(t).parents(), o = 0; o < s.length; o += 1) n(s[o]).is(a) && r.apply(s[o], i)
212
+ }
213
+ }
214
+
215
+ function d(e) {
216
+ var t = e && e.target && e.target.dom7EventData || [];
217
+ t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t)
218
+ }
219
+ "function" == typeof t[1] && (s = (e = t)[0], r = e[1], o = e[2], a = void 0), o || (o = !1);
220
+ for (var h, p = s.split(" "), c = 0; c < this.length; c += 1) {
221
+ var u = this[c];
222
+ if (a)
223
+ for (h = 0; h < p.length; h += 1) {
224
+ var v = p[h];
225
+ u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[v] || (u.dom7LiveListeners[v] = []), u.dom7LiveListeners[v].push({
226
+ listener: r,
227
+ proxyListener: l
228
+ }), u.addEventListener(v, l, o)
229
+ } else
230
+ for (h = 0; h < p.length; h += 1) {
231
+ var f = p[h];
232
+ u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[f] || (u.dom7Listeners[f] = []), u.dom7Listeners[f].push({
233
+ listener: r,
234
+ proxyListener: d
235
+ }), u.addEventListener(f, d, o)
236
+ }
237
+ }
238
+ return this
239
+ },
240
+ off: function () {
241
+ for (var e, t = [], i = arguments.length; i--;) t[i] = arguments[i];
242
+ var s = t[0],
243
+ a = t[1],
244
+ r = t[2],
245
+ n = t[3];
246
+ "function" == typeof t[1] && (s = (e = t)[0], r = e[1], n = e[2], a = void 0), n || (n = !1);
247
+ for (var o = s.split(" "), l = 0; l < o.length; l += 1)
248
+ for (var d = o[l], h = 0; h < this.length; h += 1) {
249
+ var p = this[h],
250
+ c = void 0;
251
+ if (!a && p.dom7Listeners ? c = p.dom7Listeners[d] : a && p.dom7LiveListeners && (c = p.dom7LiveListeners[d]), c && c.length)
252
+ for (var u = c.length - 1; u >= 0; u -= 1) {
253
+ var v = c[u];
254
+ r && v.listener === r || r && v.listener && v.listener.dom7proxy && v.listener.dom7proxy === r ? (p.removeEventListener(d, v.proxyListener, n), c.splice(u, 1)) : r || (p.removeEventListener(d, v.proxyListener, n), c.splice(u, 1))
255
+ }
256
+ }
257
+ return this
258
+ },
259
+ trigger: function () {
260
+ for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
261
+ for (var s = e[0].split(" "), r = e[1], n = 0; n < s.length; n += 1)
262
+ for (var o = s[n], l = 0; l < this.length; l += 1) {
263
+ var d = this[l],
264
+ h = void 0;
265
+ try {
266
+ h = new a.CustomEvent(o, {
267
+ detail: r,
268
+ bubbles: !0,
269
+ cancelable: !0
270
+ })
271
+ } catch (e) {
272
+ (h = i.createEvent("Event")).initEvent(o, !0, !0), h.detail = r
273
+ }
274
+ d.dom7EventData = e.filter((function (e, t) {
275
+ return t > 0
276
+ })), d.dispatchEvent(h), d.dom7EventData = [], delete d.dom7EventData
277
+ }
278
+ return this
279
+ },
280
+ transitionEnd: function (e) {
281
+ var t, i = ["webkitTransitionEnd", "transitionend"],
282
+ s = this;
283
+
284
+ function a(r) {
285
+ if (r.target === this)
286
+ for (e.call(this, r), t = 0; t < i.length; t += 1) s.off(i[t], a)
287
+ }
288
+ if (e)
289
+ for (t = 0; t < i.length; t += 1) s.on(i[t], a);
290
+ return this
291
+ },
292
+ outerWidth: function (e) {
293
+ if (this.length > 0) {
294
+ if (e) {
295
+ var t = this.styles();
296
+ return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left"))
297
+ }
298
+ return this[0].offsetWidth
299
+ }
300
+ return null
301
+ },
302
+ outerHeight: function (e) {
303
+ if (this.length > 0) {
304
+ if (e) {
305
+ var t = this.styles();
306
+ return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"))
307
+ }
308
+ return this[0].offsetHeight
309
+ }
310
+ return null
311
+ },
312
+ offset: function () {
313
+ if (this.length > 0) {
314
+ var e = this[0],
315
+ t = e.getBoundingClientRect(),
316
+ s = i.body,
317
+ r = e.clientTop || s.clientTop || 0,
318
+ n = e.clientLeft || s.clientLeft || 0,
319
+ o = e === a ? a.scrollY : e.scrollTop,
320
+ l = e === a ? a.scrollX : e.scrollLeft;
321
+ return {
322
+ top: t.top + o - r,
323
+ left: t.left + l - n
324
+ }
325
+ }
326
+ return null
327
+ },
328
+ css: function (e, t) {
329
+ var i;
330
+ if (1 === arguments.length) {
331
+ if ("string" != typeof e) {
332
+ for (i = 0; i < this.length; i += 1)
333
+ for (var s in e) this[i].style[s] = e[s];
334
+ return this
335
+ }
336
+ if (this[0]) return a.getComputedStyle(this[0], null).getPropertyValue(e)
337
+ }
338
+ if (2 === arguments.length && "string" == typeof e) {
339
+ for (i = 0; i < this.length; i += 1) this[i].style[e] = t;
340
+ return this
341
+ }
342
+ return this
343
+ },
344
+ each: function (e) {
345
+ if (!e) return this;
346
+ for (var t = 0; t < this.length; t += 1)
347
+ if (!1 === e.call(this[t], t, this[t])) return this;
348
+ return this
349
+ },
350
+ html: function (e) {
351
+ if (void 0 === e) return this[0] ? this[0].innerHTML : void 0;
352
+ for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e;
353
+ return this
354
+ },
355
+ text: function (e) {
356
+ if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
357
+ for (var t = 0; t < this.length; t += 1) this[t].textContent = e;
358
+ return this
359
+ },
360
+ is: function (e) {
361
+ var t, s, o = this[0];
362
+ if (!o || void 0 === e) return !1;
363
+ if ("string" == typeof e) {
364
+ if (o.matches) return o.matches(e);
365
+ if (o.webkitMatchesSelector) return o.webkitMatchesSelector(e);
366
+ if (o.msMatchesSelector) return o.msMatchesSelector(e);
367
+ for (t = n(e), s = 0; s < t.length; s += 1)
368
+ if (t[s] === o) return !0;
369
+ return !1
370
+ }
371
+ if (e === i) return o === i;
372
+ if (e === a) return o === a;
373
+ if (e.nodeType || e instanceof r) {
374
+ for (t = e.nodeType ? [e] : e, s = 0; s < t.length; s += 1)
375
+ if (t[s] === o) return !0;
376
+ return !1
377
+ }
378
+ return !1
379
+ },
380
+ index: function () {
381
+ var e, t = this[0];
382
+ if (t) {
383
+ for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
384
+ return e
385
+ }
386
+ },
387
+ eq: function (e) {
388
+ if (void 0 === e) return this;
389
+ var t, i = this.length;
390
+ return new r(e > i - 1 ? [] : e < 0 ? (t = i + e) < 0 ? [] : [this[t]] : [this[e]])
391
+ },
392
+ append: function () {
393
+ for (var e, t = [], s = arguments.length; s--;) t[s] = arguments[s];
394
+ for (var a = 0; a < t.length; a += 1) {
395
+ e = t[a];
396
+ for (var n = 0; n < this.length; n += 1)
397
+ if ("string" == typeof e) {
398
+ var o = i.createElement("div");
399
+ for (o.innerHTML = e; o.firstChild;) this[n].appendChild(o.firstChild)
400
+ } else if (e instanceof r)
401
+ for (var l = 0; l < e.length; l += 1) this[n].appendChild(e[l]);
402
+ else this[n].appendChild(e)
403
+ }
404
+ return this
405
+ },
406
+ prepend: function (e) {
407
+ var t, s;
408
+ for (t = 0; t < this.length; t += 1)
409
+ if ("string" == typeof e) {
410
+ var a = i.createElement("div");
411
+ for (a.innerHTML = e, s = a.childNodes.length - 1; s >= 0; s -= 1) this[t].insertBefore(a.childNodes[s], this[t].childNodes[0])
412
+ } else if (e instanceof r)
413
+ for (s = 0; s < e.length; s += 1) this[t].insertBefore(e[s], this[t].childNodes[0]);
414
+ else this[t].insertBefore(e, this[t].childNodes[0]);
415
+ return this
416
+ },
417
+ next: function (e) {
418
+ return this.length > 0 ? e ? this[0].nextElementSibling && n(this[0].nextElementSibling).is(e) ? new r([this[0].nextElementSibling]) : new r([]) : this[0].nextElementSibling ? new r([this[0].nextElementSibling]) : new r([]) : new r([])
419
+ },
420
+ nextAll: function (e) {
421
+ var t = [],
422
+ i = this[0];
423
+ if (!i) return new r([]);
424
+ for (; i.nextElementSibling;) {
425
+ var s = i.nextElementSibling;
426
+ e ? n(s).is(e) && t.push(s) : t.push(s), i = s
427
+ }
428
+ return new r(t)
429
+ },
430
+ prev: function (e) {
431
+ if (this.length > 0) {
432
+ var t = this[0];
433
+ return e ? t.previousElementSibling && n(t.previousElementSibling).is(e) ? new r([t.previousElementSibling]) : new r([]) : t.previousElementSibling ? new r([t.previousElementSibling]) : new r([])
434
+ }
435
+ return new r([])
436
+ },
437
+ prevAll: function (e) {
438
+ var t = [],
439
+ i = this[0];
440
+ if (!i) return new r([]);
441
+ for (; i.previousElementSibling;) {
442
+ var s = i.previousElementSibling;
443
+ e ? n(s).is(e) && t.push(s) : t.push(s), i = s
444
+ }
445
+ return new r(t)
446
+ },
447
+ parent: function (e) {
448
+ for (var t = [], i = 0; i < this.length; i += 1) null !== this[i].parentNode && (e ? n(this[i].parentNode).is(e) && t.push(this[i].parentNode) : t.push(this[i].parentNode));
449
+ return n(o(t))
450
+ },
451
+ parents: function (e) {
452
+ for (var t = [], i = 0; i < this.length; i += 1)
453
+ for (var s = this[i].parentNode; s;) e ? n(s).is(e) && t.push(s) : t.push(s), s = s.parentNode;
454
+ return n(o(t))
455
+ },
456
+ closest: function (e) {
457
+ var t = this;
458
+ return void 0 === e ? new r([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
459
+ },
460
+ find: function (e) {
461
+ for (var t = [], i = 0; i < this.length; i += 1)
462
+ for (var s = this[i].querySelectorAll(e), a = 0; a < s.length; a += 1) t.push(s[a]);
463
+ return new r(t)
464
+ },
465
+ children: function (e) {
466
+ for (var t = [], i = 0; i < this.length; i += 1)
467
+ for (var s = this[i].childNodes, a = 0; a < s.length; a += 1) e ? 1 === s[a].nodeType && n(s[a]).is(e) && t.push(s[a]) : 1 === s[a].nodeType && t.push(s[a]);
468
+ return new r(o(t))
469
+ },
470
+ filter: function (e) {
471
+ for (var t = [], i = 0; i < this.length; i += 1) e.call(this[i], i, this[i]) && t.push(this[i]);
472
+ return new r(t)
473
+ },
474
+ remove: function () {
475
+ for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
476
+ return this
477
+ },
478
+ add: function () {
479
+ for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
480
+ var i, s, a = this;
481
+ for (i = 0; i < e.length; i += 1) {
482
+ var r = n(e[i]);
483
+ for (s = 0; s < r.length; s += 1) a[a.length] = r[s], a.length += 1
484
+ }
485
+ return a
486
+ },
487
+ styles: function () {
488
+ return this[0] ? a.getComputedStyle(this[0], null) : {}
489
+ }
490
+ };
491
+ Object.keys(l).forEach((function (e) {
492
+ n.fn[e] = n.fn[e] || l[e]
493
+ }));
494
+ var d = {
495
+ deleteProps: function (e) {
496
+ var t = e;
497
+ Object.keys(t).forEach((function (e) {
498
+ try {
499
+ t[e] = null
500
+ } catch (e) {}
501
+ try {
502
+ delete t[e]
503
+ } catch (e) {}
504
+ }))
505
+ },
506
+ nextTick: function (e, t) {
507
+ return void 0 === t && (t = 0), setTimeout(e, t)
508
+ },
509
+ now: function () {
510
+ return Date.now()
511
+ },
512
+ getTranslate: function (e, t) {
513
+ var i, s, r;
514
+ void 0 === t && (t = "x");
515
+ var n = a.getComputedStyle(e, null);
516
+ return a.WebKitCSSMatrix ? ((s = n.transform || n.webkitTransform).split(",").length > 6 && (s = s.split(", ").map((function (e) {
517
+ return e.replace(",", ".")
518
+ })).join(", ")), r = new a.WebKitCSSMatrix("none" === s ? "" : s)) : i = (r = n.MozTransform || n.OTransform || n.MsTransform || n.msTransform || n.transform || n.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (s = a.WebKitCSSMatrix ? r.m41 : 16 === i.length ? parseFloat(i[12]) : parseFloat(i[4])), "y" === t && (s = a.WebKitCSSMatrix ? r.m42 : 16 === i.length ? parseFloat(i[13]) : parseFloat(i[5])), s || 0
519
+ },
520
+ parseUrlQuery: function (e) {
521
+ var t, i, s, r, n = {},
522
+ o = e || a.location.href;
523
+ if ("string" == typeof o && o.length)
524
+ for (r = (i = (o = o.indexOf("?") > -1 ? o.replace(/\S*\?/, "") : "").split("&").filter((function (e) {
525
+ return "" !== e
526
+ }))).length, t = 0; t < r; t += 1) s = i[t].replace(/#\S+/g, "").split("="), n[decodeURIComponent(s[0])] = void 0 === s[1] ? void 0 : decodeURIComponent(s[1]) || "";
527
+ return n
528
+ },
529
+ isObject: function (e) {
530
+ return "object" == typeof e && null !== e && e.constructor && e.constructor === Object
531
+ },
532
+ extend: function () {
533
+ for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
534
+ for (var i = Object(e[0]), s = 1; s < e.length; s += 1) {
535
+ var a = e[s];
536
+ if (null != a)
537
+ for (var r = Object.keys(Object(a)), n = 0, o = r.length; n < o; n += 1) {
538
+ var l = r[n],
539
+ h = Object.getOwnPropertyDescriptor(a, l);
540
+ void 0 !== h && h.enumerable && (d.isObject(i[l]) && d.isObject(a[l]) ? d.extend(i[l], a[l]) : !d.isObject(i[l]) && d.isObject(a[l]) ? (i[l] = {}, d.extend(i[l], a[l])) : i[l] = a[l])
541
+ }
542
+ }
543
+ return i
544
+ }
545
+ },
546
+ h = {
547
+ touch: !!("ontouchstart" in a || a.DocumentTouch && i instanceof a.DocumentTouch),
548
+ pointerEvents: !!a.PointerEvent && "maxTouchPoints" in a.navigator && a.navigator.maxTouchPoints >= 0,
549
+ observer: "MutationObserver" in a || "WebkitMutationObserver" in a,
550
+ passiveListener: function () {
551
+ var e = !1;
552
+ try {
553
+ var t = Object.defineProperty({}, "passive", {
554
+ get: function () {
555
+ e = !0
556
+ }
557
+ });
558
+ a.addEventListener("testPassiveListener", null, t)
559
+ } catch (e) {}
560
+ return e
561
+ }(),
562
+ gestures: "ongesturestart" in a
563
+ },
564
+ p = function (e) {
565
+ void 0 === e && (e = {});
566
+ var t = this;
567
+ t.params = e, t.eventsListeners = {}, t.params && t.params.on && Object.keys(t.params.on).forEach((function (e) {
568
+ t.on(e, t.params.on[e])
569
+ }))
570
+ },
571
+ c = {
572
+ components: {
573
+ configurable: !0
574
+ }
575
+ };
576
+ p.prototype.on = function (e, t, i) {
577
+ var s = this;
578
+ if ("function" != typeof t) return s;
579
+ var a = i ? "unshift" : "push";
580
+ return e.split(" ").forEach((function (e) {
581
+ s.eventsListeners[e] || (s.eventsListeners[e] = []), s.eventsListeners[e][a](t)
582
+ })), s
583
+ }, p.prototype.once = function (e, t, i) {
584
+ var s = this;
585
+ if ("function" != typeof t) return s;
586
+
587
+ function a() {
588
+ for (var i = [], r = arguments.length; r--;) i[r] = arguments[r];
589
+ s.off(e, a), a.f7proxy && delete a.f7proxy, t.apply(s, i)
590
+ }
591
+ return a.f7proxy = t, s.on(e, a, i)
592
+ }, p.prototype.off = function (e, t) {
593
+ var i = this;
594
+ return i.eventsListeners ? (e.split(" ").forEach((function (e) {
595
+ void 0 === t ? i.eventsListeners[e] = [] : i.eventsListeners[e] && i.eventsListeners[e].length && i.eventsListeners[e].forEach((function (s, a) {
596
+ (s === t || s.f7proxy && s.f7proxy === t) && i.eventsListeners[e].splice(a, 1)
597
+ }))
598
+ })), i) : i
599
+ }, p.prototype.emit = function () {
600
+ for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
601
+ var i, s, a, r = this;
602
+ if (!r.eventsListeners) return r;
603
+ "string" == typeof e[0] || Array.isArray(e[0]) ? (i = e[0], s = e.slice(1, e.length), a = r) : (i = e[0].events, s = e[0].data, a = e[0].context || r);
604
+ var n = Array.isArray(i) ? i : i.split(" ");
605
+ return n.forEach((function (e) {
606
+ if (r.eventsListeners && r.eventsListeners[e]) {
607
+ var t = [];
608
+ r.eventsListeners[e].forEach((function (e) {
609
+ t.push(e)
610
+ })), t.forEach((function (e) {
611
+ e.apply(a, s)
612
+ }))
613
+ }
614
+ })), r
615
+ }, p.prototype.useModulesParams = function (e) {
616
+ var t = this;
617
+ t.modules && Object.keys(t.modules).forEach((function (i) {
618
+ var s = t.modules[i];
619
+ s.params && d.extend(e, s.params)
620
+ }))
621
+ }, p.prototype.useModules = function (e) {
622
+ void 0 === e && (e = {});
623
+ var t = this;
624
+ t.modules && Object.keys(t.modules).forEach((function (i) {
625
+ var s = t.modules[i],
626
+ a = e[i] || {};
627
+ s.instance && Object.keys(s.instance).forEach((function (e) {
628
+ var i = s.instance[e];
629
+ t[e] = "function" == typeof i ? i.bind(t) : i
630
+ })), s.on && t.on && Object.keys(s.on).forEach((function (e) {
631
+ t.on(e, s.on[e])
632
+ })), s.create && s.create.bind(t)(a)
633
+ }))
634
+ }, c.components.set = function (e) {
635
+ this.use && this.use(e)
636
+ }, p.installModule = function (e) {
637
+ for (var t = [], i = arguments.length - 1; i-- > 0;) t[i] = arguments[i + 1];
638
+ var s = this;
639
+ s.prototype.modules || (s.prototype.modules = {});
640
+ var a = e.name || Object.keys(s.prototype.modules).length + "_" + d.now();
641
+ return s.prototype.modules[a] = e, e.proto && Object.keys(e.proto).forEach((function (t) {
642
+ s.prototype[t] = e.proto[t]
643
+ })), e.static && Object.keys(e.static).forEach((function (t) {
644
+ s[t] = e.static[t]
645
+ })), e.install && e.install.apply(s, t), s
646
+ }, p.use = function (e) {
647
+ for (var t = [], i = arguments.length - 1; i-- > 0;) t[i] = arguments[i + 1];
648
+ var s = this;
649
+ return Array.isArray(e) ? (e.forEach((function (e) {
650
+ return s.installModule(e)
651
+ })), s) : s.installModule.apply(s, [e].concat(t))
652
+ }, Object.defineProperties(p, c);
653
+ var u = {
654
+ updateSize: function () {
655
+ var e, t, i = this.$el;
656
+ e = void 0 !== this.params.width ? this.params.width : i[0].clientWidth, t = void 0 !== this.params.height ? this.params.height : i[0].clientHeight, 0 === e && this.isHorizontal() || 0 === t && this.isVertical() || (e = e - parseInt(i.css("padding-left"), 10) - parseInt(i.css("padding-right"), 10), t = t - parseInt(i.css("padding-top"), 10) - parseInt(i.css("padding-bottom"), 10), d.extend(this, {
657
+ width: e,
658
+ height: t,
659
+ size: this.isHorizontal() ? e : t
660
+ }))
661
+ },
662
+ updateSlides: function () {
663
+ var e = this.params,
664
+ t = this.$wrapperEl,
665
+ i = this.size,
666
+ s = this.rtlTranslate,
667
+ r = this.wrongRTL,
668
+ n = this.virtual && e.virtual.enabled,
669
+ o = n ? this.virtual.slides.length : this.slides.length,
670
+ l = t.children("." + this.params.slideClass),
671
+ h = n ? this.virtual.slides.length : l.length,
672
+ p = [],
673
+ c = [],
674
+ u = [];
675
+
676
+ function v(t) {
677
+ return !e.cssMode || t !== l.length - 1
678
+ }
679
+ var f = e.slidesOffsetBefore;
680
+ "function" == typeof f && (f = e.slidesOffsetBefore.call(this));
681
+ var m = e.slidesOffsetAfter;
682
+ "function" == typeof m && (m = e.slidesOffsetAfter.call(this));
683
+ var g = this.snapGrid.length,
684
+ b = this.snapGrid.length,
685
+ w = e.spaceBetween,
686
+ y = -f,
687
+ x = 0,
688
+ E = 0;
689
+ if (void 0 !== i) {
690
+ var T, S;
691
+ "string" == typeof w && w.indexOf("%") >= 0 && (w = parseFloat(w.replace("%", "")) / 100 * i), this.virtualSize = -w, s ? l.css({
692
+ marginLeft: "",
693
+ marginTop: ""
694
+ }) : l.css({
695
+ marginRight: "",
696
+ marginBottom: ""
697
+ }), e.slidesPerColumn > 1 && (T = Math.floor(h / e.slidesPerColumn) === h / this.params.slidesPerColumn ? h : Math.ceil(h / e.slidesPerColumn) * e.slidesPerColumn, "auto" !== e.slidesPerView && "row" === e.slidesPerColumnFill && (T = Math.max(T, e.slidesPerView * e.slidesPerColumn)));
698
+ for (var C, M = e.slidesPerColumn, P = T / M, z = Math.floor(h / e.slidesPerColumn), k = 0; k < h; k += 1) {
699
+ S = 0;
700
+ var $ = l.eq(k);
701
+ if (e.slidesPerColumn > 1) {
702
+ var L = void 0,
703
+ I = void 0,
704
+ D = void 0;
705
+ if ("row" === e.slidesPerColumnFill && e.slidesPerGroup > 1) {
706
+ var O = Math.floor(k / (e.slidesPerGroup * e.slidesPerColumn)),
707
+ A = k - e.slidesPerColumn * e.slidesPerGroup * O,
708
+ G = 0 === O ? e.slidesPerGroup : Math.min(Math.ceil((h - O * M * e.slidesPerGroup) / M), e.slidesPerGroup);
709
+ L = (I = A - (D = Math.floor(A / G)) * G + O * e.slidesPerGroup) + D * T / M, $.css({
710
+ "-webkit-box-ordinal-group": L,
711
+ "-moz-box-ordinal-group": L,
712
+ "-ms-flex-order": L,
713
+ "-webkit-order": L,
714
+ order: L
715
+ })
716
+ } else "column" === e.slidesPerColumnFill ? (D = k - (I = Math.floor(k / M)) * M, (I > z || I === z && D === M - 1) && (D += 1) >= M && (D = 0, I += 1)) : I = k - (D = Math.floor(k / P)) * P;
717
+ $.css("margin-" + (this.isHorizontal() ? "top" : "left"), 0 !== D && e.spaceBetween && e.spaceBetween + "px")
718
+ }
719
+ if ("none" !== $.css("display")) {
720
+ if ("auto" === e.slidesPerView) {
721
+ var H = a.getComputedStyle($[0], null),
722
+ B = $[0].style.transform,
723
+ N = $[0].style.webkitTransform;
724
+ if (B && ($[0].style.transform = "none"), N && ($[0].style.webkitTransform = "none"), e.roundLengths) S = this.isHorizontal() ? $.outerWidth(!0) : $.outerHeight(!0);
725
+ else if (this.isHorizontal()) {
726
+ var X = parseFloat(H.getPropertyValue("width")),
727
+ V = parseFloat(H.getPropertyValue("padding-left")),
728
+ Y = parseFloat(H.getPropertyValue("padding-right")),
729
+ F = parseFloat(H.getPropertyValue("margin-left")),
730
+ W = parseFloat(H.getPropertyValue("margin-right")),
731
+ R = H.getPropertyValue("box-sizing");
732
+ S = R && "border-box" === R ? X + F + W : X + V + Y + F + W
733
+ } else {
734
+ var q = parseFloat(H.getPropertyValue("height")),
735
+ j = parseFloat(H.getPropertyValue("padding-top")),
736
+ K = parseFloat(H.getPropertyValue("padding-bottom")),
737
+ U = parseFloat(H.getPropertyValue("margin-top")),
738
+ _ = parseFloat(H.getPropertyValue("margin-bottom")),
739
+ Z = H.getPropertyValue("box-sizing");
740
+ S = Z && "border-box" === Z ? q + U + _ : q + j + K + U + _
741
+ }
742
+ B && ($[0].style.transform = B), N && ($[0].style.webkitTransform = N), e.roundLengths && (S = Math.floor(S))
743
+ } else S = (i - (e.slidesPerView - 1) * w) / e.slidesPerView, e.roundLengths && (S = Math.floor(S)), l[k] && (this.isHorizontal() ? l[k].style.width = S + "px" : l[k].style.height = S + "px");
744
+ l[k] && (l[k].swiperSlideSize = S), u.push(S), e.centeredSlides ? (y = y + S / 2 + x / 2 + w, 0 === x && 0 !== k && (y = y - i / 2 - w), 0 === k && (y = y - i / 2 - w), Math.abs(y) < .001 && (y = 0), e.roundLengths && (y = Math.floor(y)), E % e.slidesPerGroup == 0 && p.push(y), c.push(y)) : (e.roundLengths && (y = Math.floor(y)), (E - Math.min(this.params.slidesPerGroupSkip, E)) % this.params.slidesPerGroup == 0 && p.push(y), c.push(y), y = y + S + w), this.virtualSize += S + w, x = S, E += 1
745
+ }
746
+ }
747
+ if (this.virtualSize = Math.max(this.virtualSize, i) + m, s && r && ("slide" === e.effect || "coverflow" === e.effect) && t.css({
748
+ width: this.virtualSize + e.spaceBetween + "px"
749
+ }), e.setWrapperSize && (this.isHorizontal() ? t.css({
750
+ width: this.virtualSize + e.spaceBetween + "px"
751
+ }) : t.css({
752
+ height: this.virtualSize + e.spaceBetween + "px"
753
+ })), e.slidesPerColumn > 1 && (this.virtualSize = (S + e.spaceBetween) * T, this.virtualSize = Math.ceil(this.virtualSize / e.slidesPerColumn) - e.spaceBetween, this.isHorizontal() ? t.css({
754
+ width: this.virtualSize + e.spaceBetween + "px"
755
+ }) : t.css({
756
+ height: this.virtualSize + e.spaceBetween + "px"
757
+ }), e.centeredSlides)) {
758
+ C = [];
759
+ for (var Q = 0; Q < p.length; Q += 1) {
760
+ var J = p[Q];
761
+ e.roundLengths && (J = Math.floor(J)), p[Q] < this.virtualSize + p[0] && C.push(J)
762
+ }
763
+ p = C
764
+ }
765
+ if (!e.centeredSlides) {
766
+ C = [];
767
+ for (var ee = 0; ee < p.length; ee += 1) {
768
+ var te = p[ee];
769
+ e.roundLengths && (te = Math.floor(te)), p[ee] <= this.virtualSize - i && C.push(te)
770
+ }
771
+ p = C, Math.floor(this.virtualSize - i) - Math.floor(p[p.length - 1]) > 1 && p.push(this.virtualSize - i)
772
+ }
773
+ if (0 === p.length && (p = [0]), 0 !== e.spaceBetween && (this.isHorizontal() ? s ? l.filter(v).css({
774
+ marginLeft: w + "px"
775
+ }) : l.filter(v).css({
776
+ marginRight: w + "px"
777
+ }) : l.filter(v).css({
778
+ marginBottom: w + "px"
779
+ })), e.centeredSlides && e.centeredSlidesBounds) {
780
+ var ie = 0;
781
+ u.forEach((function (t) {
782
+ ie += t + (e.spaceBetween ? e.spaceBetween : 0)
783
+ }));
784
+ var se = (ie -= e.spaceBetween) - i;
785
+ p = p.map((function (e) {
786
+ return e < 0 ? -f : e > se ? se + m : e
787
+ }))
788
+ }
789
+ if (e.centerInsufficientSlides) {
790
+ var ae = 0;
791
+ if (u.forEach((function (t) {
792
+ ae += t + (e.spaceBetween ? e.spaceBetween : 0)
793
+ })), (ae -= e.spaceBetween) < i) {
794
+ var re = (i - ae) / 2;
795
+ p.forEach((function (e, t) {
796
+ p[t] = e - re
797
+ })), c.forEach((function (e, t) {
798
+ c[t] = e + re
799
+ }))
800
+ }
801
+ }
802
+ d.extend(this, {
803
+ slides: l,
804
+ snapGrid: p,
805
+ slidesGrid: c,
806
+ slidesSizesGrid: u
807
+ }), h !== o && this.emit("slidesLengthChange"), p.length !== g && (this.params.watchOverflow && this.checkOverflow(), this.emit("snapGridLengthChange")), c.length !== b && this.emit("slidesGridLengthChange"), (e.watchSlidesProgress || e.watchSlidesVisibility) && this.updateSlidesOffset()
808
+ }
809
+ },
810
+ updateAutoHeight: function (e) {
811
+ var t, i = [],
812
+ s = 0;
813
+ if ("number" == typeof e ? this.setTransition(e) : !0 === e && this.setTransition(this.params.speed), "auto" !== this.params.slidesPerView && this.params.slidesPerView > 1)
814
+ if (this.params.centeredSlides) this.visibleSlides.each((function (e, t) {
815
+ i.push(t)
816
+ }));
817
+ else
818
+ for (t = 0; t < Math.ceil(this.params.slidesPerView); t += 1) {
819
+ var a = this.activeIndex + t;
820
+ if (a > this.slides.length) break;
821
+ i.push(this.slides.eq(a)[0])
822
+ } else i.push(this.slides.eq(this.activeIndex)[0]);
823
+ for (t = 0; t < i.length; t += 1)
824
+ if (void 0 !== i[t]) {
825
+ var r = i[t].offsetHeight;
826
+ s = r > s ? r : s
827
+ }
828
+ s && this.$wrapperEl.css("height", s + "px")
829
+ },
830
+ updateSlidesOffset: function () {
831
+ for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
832
+ },
833
+ updateSlidesProgress: function (e) {
834
+ void 0 === e && (e = this && this.translate || 0);
835
+ var t = this.params,
836
+ i = this.slides,
837
+ s = this.rtlTranslate;
838
+ if (0 !== i.length) {
839
+ void 0 === i[0].swiperSlideOffset && this.updateSlidesOffset();
840
+ var a = -e;
841
+ s && (a = e), i.removeClass(t.slideVisibleClass), this.visibleSlidesIndexes = [], this.visibleSlides = [];
842
+ for (var r = 0; r < i.length; r += 1) {
843
+ var o = i[r],
844
+ l = (a + (t.centeredSlides ? this.minTranslate() : 0) - o.swiperSlideOffset) / (o.swiperSlideSize + t.spaceBetween);
845
+ if (t.watchSlidesVisibility || t.centeredSlides && t.autoHeight) {
846
+ var d = -(a - o.swiperSlideOffset),
847
+ h = d + this.slidesSizesGrid[r];
848
+ (d >= 0 && d < this.size - 1 || h > 1 && h <= this.size || d <= 0 && h >= this.size) && (this.visibleSlides.push(o), this.visibleSlidesIndexes.push(r), i.eq(r).addClass(t.slideVisibleClass))
849
+ }
850
+ o.progress = s ? -l : l
851
+ }
852
+ this.visibleSlides = n(this.visibleSlides)
853
+ }
854
+ },
855
+ updateProgress: function (e) {
856
+ if (void 0 === e) {
857
+ var t = this.rtlTranslate ? -1 : 1;
858
+ e = this && this.translate && this.translate * t || 0
859
+ }
860
+ var i = this.params,
861
+ s = this.maxTranslate() - this.minTranslate(),
862
+ a = this.progress,
863
+ r = this.isBeginning,
864
+ n = this.isEnd,
865
+ o = r,
866
+ l = n;
867
+ 0 === s ? (a = 0, r = !0, n = !0) : (r = (a = (e - this.minTranslate()) / s) <= 0, n = a >= 1), d.extend(this, {
868
+ progress: a,
869
+ isBeginning: r,
870
+ isEnd: n
871
+ }), (i.watchSlidesProgress || i.watchSlidesVisibility || i.centeredSlides && i.autoHeight) && this.updateSlidesProgress(e), r && !o && this.emit("reachBeginning toEdge"), n && !l && this.emit("reachEnd toEdge"), (o && !r || l && !n) && this.emit("fromEdge"), this.emit("progress", a)
872
+ },
873
+ updateSlidesClasses: function () {
874
+ var e, t = this.slides,
875
+ i = this.params,
876
+ s = this.$wrapperEl,
877
+ a = this.activeIndex,
878
+ r = this.realIndex,
879
+ n = this.virtual && i.virtual.enabled;
880
+ t.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass), (e = n ? this.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + a + '"]') : t.eq(a)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass));
881
+ var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
882
+ i.loop && 0 === o.length && (o = t.eq(0)).addClass(i.slideNextClass);
883
+ var l = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
884
+ i.loop && 0 === l.length && (l = t.eq(-1)).addClass(i.slidePrevClass), i.loop && (o.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass), l.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass))
885
+ },
886
+ updateActiveIndex: function (e) {
887
+ var t, i = this.rtlTranslate ? this.translate : -this.translate,
888
+ s = this.slidesGrid,
889
+ a = this.snapGrid,
890
+ r = this.params,
891
+ n = this.activeIndex,
892
+ o = this.realIndex,
893
+ l = this.snapIndex,
894
+ h = e;
895
+ if (void 0 === h) {
896
+ for (var p = 0; p < s.length; p += 1) void 0 !== s[p + 1] ? i >= s[p] && i < s[p + 1] - (s[p + 1] - s[p]) / 2 ? h = p : i >= s[p] && i < s[p + 1] && (h = p + 1) : i >= s[p] && (h = p);
897
+ r.normalizeSlideIndex && (h < 0 || void 0 === h) && (h = 0)
898
+ }
899
+ if (a.indexOf(i) >= 0) t = a.indexOf(i);
900
+ else {
901
+ var c = Math.min(r.slidesPerGroupSkip, h);
902
+ t = c + Math.floor((h - c) / r.slidesPerGroup)
903
+ }
904
+ if (t >= a.length && (t = a.length - 1), h !== n) {
905
+ var u = parseInt(this.slides.eq(h).attr("data-swiper-slide-index") || h, 10);
906
+ d.extend(this, {
907
+ snapIndex: t,
908
+ realIndex: u,
909
+ previousIndex: n,
910
+ activeIndex: h
911
+ }), this.emit("activeIndexChange"), this.emit("snapIndexChange"), o !== u && this.emit("realIndexChange"), (this.initialized || this.params.runCallbacksOnInit) && this.emit("slideChange")
912
+ } else t !== l && (this.snapIndex = t, this.emit("snapIndexChange"))
913
+ },
914
+ updateClickedSlide: function (e) {
915
+ var t = this.params,
916
+ i = n(e.target).closest("." + t.slideClass)[0],
917
+ s = !1;
918
+ if (i)
919
+ for (var a = 0; a < this.slides.length; a += 1) this.slides[a] === i && (s = !0);
920
+ if (!i || !s) return this.clickedSlide = void 0, void(this.clickedIndex = void 0);
921
+ this.clickedSlide = i, this.virtual && this.params.virtual.enabled ? this.clickedIndex = parseInt(n(i).attr("data-swiper-slide-index"), 10) : this.clickedIndex = n(i).index(), t.slideToClickedSlide && void 0 !== this.clickedIndex && this.clickedIndex !== this.activeIndex && this.slideToClickedSlide()
922
+ }
923
+ };
924
+ var v = {
925
+ getTranslate: function (e) {
926
+ void 0 === e && (e = this.isHorizontal() ? "x" : "y");
927
+ var t = this.params,
928
+ i = this.rtlTranslate,
929
+ s = this.translate,
930
+ a = this.$wrapperEl;
931
+ if (t.virtualTranslate) return i ? -s : s;
932
+ if (t.cssMode) return s;
933
+ var r = d.getTranslate(a[0], e);
934
+ return i && (r = -r), r || 0
935
+ },
936
+ setTranslate: function (e, t) {
937
+ var i = this.rtlTranslate,
938
+ s = this.params,
939
+ a = this.$wrapperEl,
940
+ r = this.wrapperEl,
941
+ n = this.progress,
942
+ o = 0,
943
+ l = 0;
944
+ this.isHorizontal() ? o = i ? -e : e : l = e, s.roundLengths && (o = Math.floor(o), l = Math.floor(l)), s.cssMode ? r[this.isHorizontal() ? "scrollLeft" : "scrollTop"] = this.isHorizontal() ? -o : -l : s.virtualTranslate || a.transform("translate3d(" + o + "px, " + l + "px, 0px)"), this.previousTranslate = this.translate, this.translate = this.isHorizontal() ? o : l;
945
+ var d = this.maxTranslate() - this.minTranslate();
946
+ (0 === d ? 0 : (e - this.minTranslate()) / d) !== n && this.updateProgress(e), this.emit("setTranslate", this.translate, t)
947
+ },
948
+ minTranslate: function () {
949
+ return -this.snapGrid[0]
950
+ },
951
+ maxTranslate: function () {
952
+ return -this.snapGrid[this.snapGrid.length - 1]
953
+ },
954
+ translateTo: function (e, t, i, s, a) {
955
+ var r;
956
+ void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0), void 0 === s && (s = !0);
957
+ var n = this,
958
+ o = n.params,
959
+ l = n.wrapperEl;
960
+ if (n.animating && o.preventInteractionOnTransition) return !1;
961
+ var d, h = n.minTranslate(),
962
+ p = n.maxTranslate();
963
+ if (d = s && e > h ? h : s && e < p ? p : e, n.updateProgress(d), o.cssMode) {
964
+ var c = n.isHorizontal();
965
+ return 0 === t ? l[c ? "scrollLeft" : "scrollTop"] = -d : l.scrollTo ? l.scrollTo(((r = {})[c ? "left" : "top"] = -d, r.behavior = "smooth", r)) : l[c ? "scrollLeft" : "scrollTop"] = -d, !0
966
+ }
967
+ return 0 === t ? (n.setTransition(0), n.setTranslate(d), i && (n.emit("beforeTransitionStart", t, a), n.emit("transitionEnd"))) : (n.setTransition(t), n.setTranslate(d), i && (n.emit("beforeTransitionStart", t, a), n.emit("transitionStart")), n.animating || (n.animating = !0, n.onTranslateToWrapperTransitionEnd || (n.onTranslateToWrapperTransitionEnd = function (e) {
968
+ n && !n.destroyed && e.target === this && (n.$wrapperEl[0].removeEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.$wrapperEl[0].removeEventListener("webkitTransitionEnd", n.onTranslateToWrapperTransitionEnd), n.onTranslateToWrapperTransitionEnd = null, delete n.onTranslateToWrapperTransitionEnd, i && n.emit("transitionEnd"))
969
+ }), n.$wrapperEl[0].addEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.$wrapperEl[0].addEventListener("webkitTransitionEnd", n.onTranslateToWrapperTransitionEnd))), !0
970
+ }
971
+ };
972
+ var f = {
973
+ setTransition: function (e, t) {
974
+ this.params.cssMode || this.$wrapperEl.transition(e), this.emit("setTransition", e, t)
975
+ },
976
+ transitionStart: function (e, t) {
977
+ void 0 === e && (e = !0);
978
+ var i = this.activeIndex,
979
+ s = this.params,
980
+ a = this.previousIndex;
981
+ if (!s.cssMode) {
982
+ s.autoHeight && this.updateAutoHeight();
983
+ var r = t;
984
+ if (r || (r = i > a ? "next" : i < a ? "prev" : "reset"), this.emit("transitionStart"), e && i !== a) {
985
+ if ("reset" === r) return void this.emit("slideResetTransitionStart");
986
+ this.emit("slideChangeTransitionStart"), "next" === r ? this.emit("slideNextTransitionStart") : this.emit("slidePrevTransitionStart")
987
+ }
988
+ }
989
+ },
990
+ transitionEnd: function (e, t) {
991
+ void 0 === e && (e = !0);
992
+ var i = this.activeIndex,
993
+ s = this.previousIndex,
994
+ a = this.params;
995
+ if (this.animating = !1, !a.cssMode) {
996
+ this.setTransition(0);
997
+ var r = t;
998
+ if (r || (r = i > s ? "next" : i < s ? "prev" : "reset"), this.emit("transitionEnd"), e && i !== s) {
999
+ if ("reset" === r) return void this.emit("slideResetTransitionEnd");
1000
+ this.emit("slideChangeTransitionEnd"), "next" === r ? this.emit("slideNextTransitionEnd") : this.emit("slidePrevTransitionEnd")
1001
+ }
1002
+ }
1003
+ }
1004
+ };
1005
+ var m = {
1006
+ slideTo: function (e, t, i, s) {
1007
+ var a;
1008
+ void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0);
1009
+ var r = this,
1010
+ n = e;
1011
+ n < 0 && (n = 0);
1012
+ var o = r.params,
1013
+ l = r.snapGrid,
1014
+ d = r.slidesGrid,
1015
+ h = r.previousIndex,
1016
+ p = r.activeIndex,
1017
+ c = r.rtlTranslate,
1018
+ u = r.wrapperEl;
1019
+ if (r.animating && o.preventInteractionOnTransition) return !1;
1020
+ var v = Math.min(r.params.slidesPerGroupSkip, n),
1021
+ f = v + Math.floor((n - v) / r.params.slidesPerGroup);
1022
+ f >= l.length && (f = l.length - 1), (p || o.initialSlide || 0) === (h || 0) && i && r.emit("beforeSlideChangeStart");
1023
+ var m, g = -l[f];
1024
+ if (r.updateProgress(g), o.normalizeSlideIndex)
1025
+ for (var b = 0; b < d.length; b += 1) - Math.floor(100 * g) >= Math.floor(100 * d[b]) && (n = b);
1026
+ if (r.initialized && n !== p) {
1027
+ if (!r.allowSlideNext && g < r.translate && g < r.minTranslate()) return !1;
1028
+ if (!r.allowSlidePrev && g > r.translate && g > r.maxTranslate() && (p || 0) !== n) return !1
1029
+ }
1030
+ if (m = n > p ? "next" : n < p ? "prev" : "reset", c && -g === r.translate || !c && g === r.translate) return r.updateActiveIndex(n), o.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== o.effect && r.setTranslate(g), "reset" !== m && (r.transitionStart(i, m), r.transitionEnd(i, m)), !1;
1031
+ if (o.cssMode) {
1032
+ var w = r.isHorizontal(),
1033
+ y = -g;
1034
+ return c && (y = u.scrollWidth - u.offsetWidth - y), 0 === t ? u[w ? "scrollLeft" : "scrollTop"] = y : u.scrollTo ? u.scrollTo(((a = {})[w ? "left" : "top"] = y, a.behavior = "smooth", a)) : u[w ? "scrollLeft" : "scrollTop"] = y, !0
1035
+ }
1036
+ return 0 === t ? (r.setTransition(0), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, s), r.transitionStart(i, m), r.transitionEnd(i, m)) : (r.setTransition(t), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, s), r.transitionStart(i, m), r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function (e) {
1037
+ r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(i, m))
1038
+ }), r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd))), !0
1039
+ },
1040
+ slideToLoop: function (e, t, i, s) {
1041
+ void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0);
1042
+ var a = e;
1043
+ return this.params.loop && (a += this.loopedSlides), this.slideTo(a, t, i, s)
1044
+ },
1045
+ slideNext: function (e, t, i) {
1046
+ void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1047
+ var s = this.params,
1048
+ a = this.animating,
1049
+ r = this.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup;
1050
+ if (s.loop) {
1051
+ if (a) return !1;
1052
+ this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft
1053
+ }
1054
+ return this.slideTo(this.activeIndex + r, e, t, i)
1055
+ },
1056
+ slidePrev: function (e, t, i) {
1057
+ void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1058
+ var s = this.params,
1059
+ a = this.animating,
1060
+ r = this.snapGrid,
1061
+ n = this.slidesGrid,
1062
+ o = this.rtlTranslate;
1063
+ if (s.loop) {
1064
+ if (a) return !1;
1065
+ this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft
1066
+ }
1067
+
1068
+ function l(e) {
1069
+ return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
1070
+ }
1071
+ var d, h = l(o ? this.translate : -this.translate),
1072
+ p = r.map((function (e) {
1073
+ return l(e)
1074
+ })),
1075
+ c = (n.map((function (e) {
1076
+ return l(e)
1077
+ })), r[p.indexOf(h)], r[p.indexOf(h) - 1]);
1078
+ return void 0 === c && s.cssMode && r.forEach((function (e) {
1079
+ !c && h >= e && (c = e)
1080
+ })), void 0 !== c && (d = n.indexOf(c)) < 0 && (d = this.activeIndex - 1), this.slideTo(d, e, t, i)
1081
+ },
1082
+ slideReset: function (e, t, i) {
1083
+ return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, i)
1084
+ },
1085
+ slideToClosest: function (e, t, i, s) {
1086
+ void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), void 0 === s && (s = .5);
1087
+ var a = this.activeIndex,
1088
+ r = Math.min(this.params.slidesPerGroupSkip, a),
1089
+ n = r + Math.floor((a - r) / this.params.slidesPerGroup),
1090
+ o = this.rtlTranslate ? this.translate : -this.translate;
1091
+ if (o >= this.snapGrid[n]) {
1092
+ var l = this.snapGrid[n];
1093
+ o - l > (this.snapGrid[n + 1] - l) * s && (a += this.params.slidesPerGroup)
1094
+ } else {
1095
+ var d = this.snapGrid[n - 1];
1096
+ o - d <= (this.snapGrid[n] - d) * s && (a -= this.params.slidesPerGroup)
1097
+ }
1098
+ return a = Math.max(a, 0), a = Math.min(a, this.slidesGrid.length - 1), this.slideTo(a, e, t, i)
1099
+ },
1100
+ slideToClickedSlide: function () {
1101
+ var e, t = this,
1102
+ i = t.params,
1103
+ s = t.$wrapperEl,
1104
+ a = "auto" === i.slidesPerView ? t.slidesPerViewDynamic() : i.slidesPerView,
1105
+ r = t.clickedIndex;
1106
+ if (i.loop) {
1107
+ if (t.animating) return;
1108
+ e = parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"), 10), i.centeredSlides ? r < t.loopedSlides - a / 2 || r > t.slides.length - t.loopedSlides + a / 2 ? (t.loopFix(), r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index(), d.nextTick((function () {
1109
+ t.slideTo(r)
1110
+ }))) : t.slideTo(r) : r > t.slides.length - a ? (t.loopFix(), r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index(), d.nextTick((function () {
1111
+ t.slideTo(r)
1112
+ }))) : t.slideTo(r)
1113
+ } else t.slideTo(r)
1114
+ }
1115
+ };
1116
+ var g = {
1117
+ loopCreate: function () {
1118
+ var e = this,
1119
+ t = e.params,
1120
+ s = e.$wrapperEl;
1121
+ s.children("." + t.slideClass + "." + t.slideDuplicateClass).remove();
1122
+ var a = s.children("." + t.slideClass);
1123
+ if (t.loopFillGroupWithBlank) {
1124
+ var r = t.slidesPerGroup - a.length % t.slidesPerGroup;
1125
+ if (r !== t.slidesPerGroup) {
1126
+ for (var o = 0; o < r; o += 1) {
1127
+ var l = n(i.createElement("div")).addClass(t.slideClass + " " + t.slideBlankClass);
1128
+ s.append(l)
1129
+ }
1130
+ a = s.children("." + t.slideClass)
1131
+ }
1132
+ }
1133
+ "auto" !== t.slidesPerView || t.loopedSlides || (t.loopedSlides = a.length), e.loopedSlides = Math.ceil(parseFloat(t.loopedSlides || t.slidesPerView, 10)), e.loopedSlides += t.loopAdditionalSlides, e.loopedSlides > a.length && (e.loopedSlides = a.length);
1134
+ var d = [],
1135
+ h = [];
1136
+ a.each((function (t, i) {
1137
+ var s = n(i);
1138
+ t < e.loopedSlides && h.push(i), t < a.length && t >= a.length - e.loopedSlides && d.push(i), s.attr("data-swiper-slide-index", t)
1139
+ }));
1140
+ for (var p = 0; p < h.length; p += 1) s.append(n(h[p].cloneNode(!0)).addClass(t.slideDuplicateClass));
1141
+ for (var c = d.length - 1; c >= 0; c -= 1) s.prepend(n(d[c].cloneNode(!0)).addClass(t.slideDuplicateClass))
1142
+ },
1143
+ loopFix: function () {
1144
+ this.emit("beforeLoopFix");
1145
+ var e, t = this.activeIndex,
1146
+ i = this.slides,
1147
+ s = this.loopedSlides,
1148
+ a = this.allowSlidePrev,
1149
+ r = this.allowSlideNext,
1150
+ n = this.snapGrid,
1151
+ o = this.rtlTranslate;
1152
+ this.allowSlidePrev = !0, this.allowSlideNext = !0;
1153
+ var l = -n[t] - this.getTranslate();
1154
+ if (t < s) e = i.length - 3 * s + t, e += s, this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l);
1155
+ else if (t >= i.length - s) {
1156
+ e = -i.length + t + s, e += s, this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l)
1157
+ }
1158
+ this.allowSlidePrev = a, this.allowSlideNext = r, this.emit("loopFix")
1159
+ },
1160
+ loopDestroy: function () {
1161
+ var e = this.$wrapperEl,
1162
+ t = this.params,
1163
+ i = this.slides;
1164
+ e.children("." + t.slideClass + "." + t.slideDuplicateClass + ",." + t.slideClass + "." + t.slideBlankClass).remove(), i.removeAttr("data-swiper-slide-index")
1165
+ }
1166
+ };
1167
+ var b = {
1168
+ setGrabCursor: function (e) {
1169
+ if (!(h.touch || !this.params.simulateTouch || this.params.watchOverflow && this.isLocked || this.params.cssMode)) {
1170
+ var t = this.el;
1171
+ t.style.cursor = "move", t.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", t.style.cursor = e ? "-moz-grabbin" : "-moz-grab", t.style.cursor = e ? "grabbing" : "grab"
1172
+ }
1173
+ },
1174
+ unsetGrabCursor: function () {
1175
+ h.touch || this.params.watchOverflow && this.isLocked || this.params.cssMode || (this.el.style.cursor = "")
1176
+ }
1177
+ };
1178
+ var w, y, x, E, T, S, C, M, P, z, k, $, L, I, D, O = {
1179
+ appendSlide: function (e) {
1180
+ var t = this.$wrapperEl,
1181
+ i = this.params;
1182
+ if (i.loop && this.loopDestroy(), "object" == typeof e && "length" in e)
1183
+ for (var s = 0; s < e.length; s += 1) e[s] && t.append(e[s]);
1184
+ else t.append(e);
1185
+ i.loop && this.loopCreate(), i.observer && h.observer || this.update()
1186
+ },
1187
+ prependSlide: function (e) {
1188
+ var t = this.params,
1189
+ i = this.$wrapperEl,
1190
+ s = this.activeIndex;
1191
+ t.loop && this.loopDestroy();
1192
+ var a = s + 1;
1193
+ if ("object" == typeof e && "length" in e) {
1194
+ for (var r = 0; r < e.length; r += 1) e[r] && i.prepend(e[r]);
1195
+ a = s + e.length
1196
+ } else i.prepend(e);
1197
+ t.loop && this.loopCreate(), t.observer && h.observer || this.update(), this.slideTo(a, 0, !1)
1198
+ },
1199
+ addSlide: function (e, t) {
1200
+ var i = this.$wrapperEl,
1201
+ s = this.params,
1202
+ a = this.activeIndex;
1203
+ s.loop && (a -= this.loopedSlides, this.loopDestroy(), this.slides = i.children("." + s.slideClass));
1204
+ var r = this.slides.length;
1205
+ if (e <= 0) this.prependSlide(t);
1206
+ else if (e >= r) this.appendSlide(t);
1207
+ else {
1208
+ for (var n = a > e ? a + 1 : a, o = [], l = r - 1; l >= e; l -= 1) {
1209
+ var d = this.slides.eq(l);
1210
+ d.remove(), o.unshift(d)
1211
+ }
1212
+ if ("object" == typeof t && "length" in t) {
1213
+ for (var p = 0; p < t.length; p += 1) t[p] && i.append(t[p]);
1214
+ n = a > e ? a + t.length : a
1215
+ } else i.append(t);
1216
+ for (var c = 0; c < o.length; c += 1) i.append(o[c]);
1217
+ s.loop && this.loopCreate(), s.observer && h.observer || this.update(), s.loop ? this.slideTo(n + this.loopedSlides, 0, !1) : this.slideTo(n, 0, !1)
1218
+ }
1219
+ },
1220
+ removeSlide: function (e) {
1221
+ var t = this.params,
1222
+ i = this.$wrapperEl,
1223
+ s = this.activeIndex;
1224
+ t.loop && (s -= this.loopedSlides, this.loopDestroy(), this.slides = i.children("." + t.slideClass));
1225
+ var a, r = s;
1226
+ if ("object" == typeof e && "length" in e) {
1227
+ for (var n = 0; n < e.length; n += 1) a = e[n], this.slides[a] && this.slides.eq(a).remove(), a < r && (r -= 1);
1228
+ r = Math.max(r, 0)
1229
+ } else a = e, this.slides[a] && this.slides.eq(a).remove(), a < r && (r -= 1), r = Math.max(r, 0);
1230
+ t.loop && this.loopCreate(), t.observer && h.observer || this.update(), t.loop ? this.slideTo(r + this.loopedSlides, 0, !1) : this.slideTo(r, 0, !1)
1231
+ },
1232
+ removeAllSlides: function () {
1233
+ for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t);
1234
+ this.removeSlide(e)
1235
+ }
1236
+ },
1237
+ A = (w = a.navigator.platform, y = a.navigator.userAgent, x = {
1238
+ ios: !1,
1239
+ android: !1,
1240
+ androidChrome: !1,
1241
+ desktop: !1,
1242
+ iphone: !1,
1243
+ ipod: !1,
1244
+ ipad: !1,
1245
+ edge: !1,
1246
+ ie: !1,
1247
+ firefox: !1,
1248
+ macos: !1,
1249
+ windows: !1,
1250
+ cordova: !(!a.cordova && !a.phonegap),
1251
+ phonegap: !(!a.cordova && !a.phonegap),
1252
+ electron: !1
1253
+ }, E = a.screen.width, T = a.screen.height, S = y.match(/(Android);?[\s\/]+([\d.]+)?/), C = y.match(/(iPad).*OS\s([\d_]+)/), M = y.match(/(iPod)(.*OS\s([\d_]+))?/), P = !C && y.match(/(iPhone\sOS|iOS)\s([\d_]+)/), z = y.indexOf("MSIE ") >= 0 || y.indexOf("Trident/") >= 0, k = y.indexOf("Edge/") >= 0, $ = y.indexOf("Gecko/") >= 0 && y.indexOf("Firefox/") >= 0, L = "Win32" === w, I = y.toLowerCase().indexOf("electron") >= 0, D = "MacIntel" === w, !C && D && h.touch && (1024 === E && 1366 === T || 834 === E && 1194 === T || 834 === E && 1112 === T || 768 === E && 1024 === T) && (C = y.match(/(Version)\/([\d.]+)/), D = !1), x.ie = z, x.edge = k, x.firefox = $, S && !L && (x.os = "android", x.osVersion = S[2], x.android = !0, x.androidChrome = y.toLowerCase().indexOf("chrome") >= 0), (C || P || M) && (x.os = "ios", x.ios = !0), P && !M && (x.osVersion = P[2].replace(/_/g, "."), x.iphone = !0), C && (x.osVersion = C[2].replace(/_/g, "."), x.ipad = !0), M && (x.osVersion = M[3] ? M[3].replace(/_/g, ".") : null, x.ipod = !0), x.ios && x.osVersion && y.indexOf("Version/") >= 0 && "10" === x.osVersion.split(".")[0] && (x.osVersion = y.toLowerCase().split("version/")[1].split(" ")[0]), x.webView = !(!(P || C || M) || !y.match(/.*AppleWebKit(?!.*Safari)/i) && !a.navigator.standalone) || a.matchMedia && a.matchMedia("(display-mode: standalone)").matches, x.webview = x.webView, x.standalone = x.webView, x.desktop = !(x.ios || x.android) || I, x.desktop && (x.electron = I, x.macos = D, x.windows = L, x.macos && (x.os = "macos"), x.windows && (x.os = "windows")), x.pixelRatio = a.devicePixelRatio || 1, x);
1254
+
1255
+ function G(e) {
1256
+ var t = this.touchEventsData,
1257
+ s = this.params,
1258
+ r = this.touches;
1259
+ if (!this.animating || !s.preventInteractionOnTransition) {
1260
+ var o = e;
1261
+ o.originalEvent && (o = o.originalEvent);
1262
+ var l = n(o.target);
1263
+ if (("wrapper" !== s.touchEventsTarget || l.closest(this.wrapperEl).length) && (t.isTouchEvent = "touchstart" === o.type, (t.isTouchEvent || !("which" in o) || 3 !== o.which) && !(!t.isTouchEvent && "button" in o && o.button > 0 || t.isTouched && t.isMoved)))
1264
+ if (s.noSwiping && l.closest(s.noSwipingSelector ? s.noSwipingSelector : "." + s.noSwipingClass)[0]) this.allowClick = !0;
1265
+ else if (!s.swipeHandler || l.closest(s.swipeHandler)[0]) {
1266
+ r.currentX = "touchstart" === o.type ? o.targetTouches[0].pageX : o.pageX, r.currentY = "touchstart" === o.type ? o.targetTouches[0].pageY : o.pageY;
1267
+ var h = r.currentX,
1268
+ p = r.currentY,
1269
+ c = s.edgeSwipeDetection || s.iOSEdgeSwipeDetection,
1270
+ u = s.edgeSwipeThreshold || s.iOSEdgeSwipeThreshold;
1271
+ if (!c || !(h <= u || h >= a.screen.width - u)) {
1272
+ if (d.extend(t, {
1273
+ isTouched: !0,
1274
+ isMoved: !1,
1275
+ allowTouchCallbacks: !0,
1276
+ isScrolling: void 0,
1277
+ startMoving: void 0
1278
+ }), r.startX = h, r.startY = p, t.touchStartTime = d.now(), this.allowClick = !0, this.updateSize(), this.swipeDirection = void 0, s.threshold > 0 && (t.allowThresholdMove = !1), "touchstart" !== o.type) {
1279
+ var v = !0;
1280
+ l.is(t.formElements) && (v = !1), i.activeElement && n(i.activeElement).is(t.formElements) && i.activeElement !== l[0] && i.activeElement.blur();
1281
+ var f = v && this.allowTouchMove && s.touchStartPreventDefault;
1282
+ (s.touchStartForcePreventDefault || f) && o.preventDefault()
1283
+ }
1284
+ this.emit("touchStart", o)
1285
+ }
1286
+ }
1287
+ }
1288
+ }
1289
+
1290
+ function H(e) {
1291
+ var t = this.touchEventsData,
1292
+ s = this.params,
1293
+ a = this.touches,
1294
+ r = this.rtlTranslate,
1295
+ o = e;
1296
+ if (o.originalEvent && (o = o.originalEvent), t.isTouched) {
1297
+ if (!t.isTouchEvent || "touchmove" === o.type) {
1298
+ var l = "touchmove" === o.type && o.targetTouches && (o.targetTouches[0] || o.changedTouches[0]),
1299
+ h = "touchmove" === o.type ? l.pageX : o.pageX,
1300
+ p = "touchmove" === o.type ? l.pageY : o.pageY;
1301
+ if (o.preventedByNestedSwiper) return a.startX = h, void(a.startY = p);
1302
+ if (!this.allowTouchMove) return this.allowClick = !1, void(t.isTouched && (d.extend(a, {
1303
+ startX: h,
1304
+ startY: p,
1305
+ currentX: h,
1306
+ currentY: p
1307
+ }), t.touchStartTime = d.now()));
1308
+ if (t.isTouchEvent && s.touchReleaseOnEdges && !s.loop)
1309
+ if (this.isVertical()) {
1310
+ if (p < a.startY && this.translate <= this.maxTranslate() || p > a.startY && this.translate >= this.minTranslate()) return t.isTouched = !1, void(t.isMoved = !1)
1311
+ } else if (h < a.startX && this.translate <= this.maxTranslate() || h > a.startX && this.translate >= this.minTranslate()) return;
1312
+ if (t.isTouchEvent && i.activeElement && o.target === i.activeElement && n(o.target).is(t.formElements)) return t.isMoved = !0, void(this.allowClick = !1);
1313
+ if (t.allowTouchCallbacks && this.emit("touchMove", o), !(o.targetTouches && o.targetTouches.length > 1)) {
1314
+ a.currentX = h, a.currentY = p;
1315
+ var c = a.currentX - a.startX,
1316
+ u = a.currentY - a.startY;
1317
+ if (!(this.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(u, 2)) < this.params.threshold)) {
1318
+ var v;
1319
+ if (void 0 === t.isScrolling) this.isHorizontal() && a.currentY === a.startY || this.isVertical() && a.currentX === a.startX ? t.isScrolling = !1 : c * c + u * u >= 25 && (v = 180 * Math.atan2(Math.abs(u), Math.abs(c)) / Math.PI, t.isScrolling = this.isHorizontal() ? v > s.touchAngle : 90 - v > s.touchAngle);
1320
+ if (t.isScrolling && this.emit("touchMoveOpposite", o), void 0 === t.startMoving && (a.currentX === a.startX && a.currentY === a.startY || (t.startMoving = !0)), t.isScrolling) t.isTouched = !1;
1321
+ else if (t.startMoving) {
1322
+ this.allowClick = !1, !s.cssMode && o.cancelable && o.preventDefault(), s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), t.isMoved || (s.loop && this.loopFix(), t.startTranslate = this.getTranslate(), this.setTransition(0), this.animating && this.$wrapperEl.trigger("webkitTransitionEnd transitionend"), t.allowMomentumBounce = !1, !s.grabCursor || !0 !== this.allowSlideNext && !0 !== this.allowSlidePrev || this.setGrabCursor(!0), this.emit("sliderFirstMove", o)), this.emit("sliderMove", o), t.isMoved = !0;
1323
+ var f = this.isHorizontal() ? c : u;
1324
+ a.diff = f, f *= s.touchRatio, r && (f = -f), this.swipeDirection = f > 0 ? "prev" : "next", t.currentTranslate = f + t.startTranslate;
1325
+ var m = !0,
1326
+ g = s.resistanceRatio;
1327
+ if (s.touchReleaseOnEdges && (g = 0), f > 0 && t.currentTranslate > this.minTranslate() ? (m = !1, s.resistance && (t.currentTranslate = this.minTranslate() - 1 + Math.pow(-this.minTranslate() + t.startTranslate + f, g))) : f < 0 && t.currentTranslate < this.maxTranslate() && (m = !1, s.resistance && (t.currentTranslate = this.maxTranslate() + 1 - Math.pow(this.maxTranslate() - t.startTranslate - f, g))), m && (o.preventedByNestedSwiper = !0), !this.allowSlideNext && "next" === this.swipeDirection && t.currentTranslate < t.startTranslate && (t.currentTranslate = t.startTranslate), !this.allowSlidePrev && "prev" === this.swipeDirection && t.currentTranslate > t.startTranslate && (t.currentTranslate = t.startTranslate), s.threshold > 0) {
1328
+ if (!(Math.abs(f) > s.threshold || t.allowThresholdMove)) return void(t.currentTranslate = t.startTranslate);
1329
+ if (!t.allowThresholdMove) return t.allowThresholdMove = !0, a.startX = a.currentX, a.startY = a.currentY, t.currentTranslate = t.startTranslate, void(a.diff = this.isHorizontal() ? a.currentX - a.startX : a.currentY - a.startY)
1330
+ }
1331
+ s.followFinger && !s.cssMode && ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (this.updateActiveIndex(), this.updateSlidesClasses()), s.freeMode && (0 === t.velocities.length && t.velocities.push({
1332
+ position: a[this.isHorizontal() ? "startX" : "startY"],
1333
+ time: t.touchStartTime
1334
+ }), t.velocities.push({
1335
+ position: a[this.isHorizontal() ? "currentX" : "currentY"],
1336
+ time: d.now()
1337
+ })), this.updateProgress(t.currentTranslate), this.setTranslate(t.currentTranslate))
1338
+ }
1339
+ }
1340
+ }
1341
+ }
1342
+ } else t.startMoving && t.isScrolling && this.emit("touchMoveOpposite", o)
1343
+ }
1344
+
1345
+ function B(e) {
1346
+ var t = this,
1347
+ i = t.touchEventsData,
1348
+ s = t.params,
1349
+ a = t.touches,
1350
+ r = t.rtlTranslate,
1351
+ n = t.$wrapperEl,
1352
+ o = t.slidesGrid,
1353
+ l = t.snapGrid,
1354
+ h = e;
1355
+ if (h.originalEvent && (h = h.originalEvent), i.allowTouchCallbacks && t.emit("touchEnd", h), i.allowTouchCallbacks = !1, !i.isTouched) return i.isMoved && s.grabCursor && t.setGrabCursor(!1), i.isMoved = !1, void(i.startMoving = !1);
1356
+ s.grabCursor && i.isMoved && i.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
1357
+ var p, c = d.now(),
1358
+ u = c - i.touchStartTime;
1359
+ if (t.allowClick && (t.updateClickedSlide(h), t.emit("tap click", h), u < 300 && c - i.lastClickTime < 300 && t.emit("doubleTap doubleClick", h)), i.lastClickTime = d.now(), d.nextTick((function () {
1360
+ t.destroyed || (t.allowClick = !0)
1361
+ })), !i.isTouched || !i.isMoved || !t.swipeDirection || 0 === a.diff || i.currentTranslate === i.startTranslate) return i.isTouched = !1, i.isMoved = !1, void(i.startMoving = !1);
1362
+ if (i.isTouched = !1, i.isMoved = !1, i.startMoving = !1, p = s.followFinger ? r ? t.translate : -t.translate : -i.currentTranslate, !s.cssMode)
1363
+ if (s.freeMode) {
1364
+ if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
1365
+ if (p > -t.maxTranslate()) return void(t.slides.length < l.length ? t.slideTo(l.length - 1) : t.slideTo(t.slides.length - 1));
1366
+ if (s.freeModeMomentum) {
1367
+ if (i.velocities.length > 1) {
1368
+ var v = i.velocities.pop(),
1369
+ f = i.velocities.pop(),
1370
+ m = v.position - f.position,
1371
+ g = v.time - f.time;
1372
+ t.velocity = m / g, t.velocity /= 2, Math.abs(t.velocity) < s.freeModeMinimumVelocity && (t.velocity = 0), (g > 150 || d.now() - v.time > 300) && (t.velocity = 0)
1373
+ } else t.velocity = 0;
1374
+ t.velocity *= s.freeModeMomentumVelocityRatio, i.velocities.length = 0;
1375
+ var b = 1e3 * s.freeModeMomentumRatio,
1376
+ w = t.velocity * b,
1377
+ y = t.translate + w;
1378
+ r && (y = -y);
1379
+ var x, E, T = !1,
1380
+ S = 20 * Math.abs(t.velocity) * s.freeModeMomentumBounceRatio;
1381
+ if (y < t.maxTranslate()) s.freeModeMomentumBounce ? (y + t.maxTranslate() < -S && (y = t.maxTranslate() - S), x = t.maxTranslate(), T = !0, i.allowMomentumBounce = !0) : y = t.maxTranslate(), s.loop && s.centeredSlides && (E = !0);
1382
+ else if (y > t.minTranslate()) s.freeModeMomentumBounce ? (y - t.minTranslate() > S && (y = t.minTranslate() + S), x = t.minTranslate(), T = !0, i.allowMomentumBounce = !0) : y = t.minTranslate(), s.loop && s.centeredSlides && (E = !0);
1383
+ else if (s.freeModeSticky) {
1384
+ for (var C, M = 0; M < l.length; M += 1)
1385
+ if (l[M] > -y) {
1386
+ C = M;
1387
+ break
1388
+ }
1389
+ y = -(y = Math.abs(l[C] - y) < Math.abs(l[C - 1] - y) || "next" === t.swipeDirection ? l[C] : l[C - 1])
1390
+ }
1391
+ if (E && t.once("transitionEnd", (function () {
1392
+ t.loopFix()
1393
+ })), 0 !== t.velocity) {
1394
+ if (b = r ? Math.abs((-y - t.translate) / t.velocity) : Math.abs((y - t.translate) / t.velocity), s.freeModeSticky) {
1395
+ var P = Math.abs((r ? -y : y) - t.translate),
1396
+ z = t.slidesSizesGrid[t.activeIndex];
1397
+ b = P < z ? s.speed : P < 2 * z ? 1.5 * s.speed : 2.5 * s.speed
1398
+ }
1399
+ } else if (s.freeModeSticky) return void t.slideToClosest();
1400
+ s.freeModeMomentumBounce && T ? (t.updateProgress(x), t.setTransition(b), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating = !0, n.transitionEnd((function () {
1401
+ t && !t.destroyed && i.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(s.speed), setTimeout((function () {
1402
+ t.setTranslate(x), n.transitionEnd((function () {
1403
+ t && !t.destroyed && t.transitionEnd()
1404
+ }))
1405
+ }), 0))
1406
+ }))) : t.velocity ? (t.updateProgress(y), t.setTransition(b), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, n.transitionEnd((function () {
1407
+ t && !t.destroyed && t.transitionEnd()
1408
+ })))) : t.updateProgress(y), t.updateActiveIndex(), t.updateSlidesClasses()
1409
+ } else if (s.freeModeSticky) return void t.slideToClosest();
1410
+ (!s.freeModeMomentum || u >= s.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses())
1411
+ } else {
1412
+ for (var k = 0, $ = t.slidesSizesGrid[0], L = 0; L < o.length; L += L < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup) {
1413
+ var I = L < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
1414
+ void 0 !== o[L + I] ? p >= o[L] && p < o[L + I] && (k = L, $ = o[L + I] - o[L]) : p >= o[L] && (k = L, $ = o[o.length - 1] - o[o.length - 2])
1415
+ }
1416
+ var D = (p - o[k]) / $,
1417
+ O = k < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
1418
+ if (u > s.longSwipesMs) {
1419
+ if (!s.longSwipes) return void t.slideTo(t.activeIndex);
1420
+ "next" === t.swipeDirection && (D >= s.longSwipesRatio ? t.slideTo(k + O) : t.slideTo(k)), "prev" === t.swipeDirection && (D > 1 - s.longSwipesRatio ? t.slideTo(k + O) : t.slideTo(k))
1421
+ } else {
1422
+ if (!s.shortSwipes) return void t.slideTo(t.activeIndex);
1423
+ t.navigation && (h.target === t.navigation.nextEl || h.target === t.navigation.prevEl) ? h.target === t.navigation.nextEl ? t.slideTo(k + O) : t.slideTo(k) : ("next" === t.swipeDirection && t.slideTo(k + O), "prev" === t.swipeDirection && t.slideTo(k))
1424
+ }
1425
+ }
1426
+ }
1427
+
1428
+ function N() {
1429
+ var e = this.params,
1430
+ t = this.el;
1431
+ if (!t || 0 !== t.offsetWidth) {
1432
+ e.breakpoints && this.setBreakpoint();
1433
+ var i = this.allowSlideNext,
1434
+ s = this.allowSlidePrev,
1435
+ a = this.snapGrid;
1436
+ this.allowSlideNext = !0, this.allowSlidePrev = !0, this.updateSize(), this.updateSlides(), this.updateSlidesClasses(), ("auto" === e.slidesPerView || e.slidesPerView > 1) && this.isEnd && !this.isBeginning && !this.params.centeredSlides ? this.slideTo(this.slides.length - 1, 0, !1, !0) : this.slideTo(this.activeIndex, 0, !1, !0), this.autoplay && this.autoplay.running && this.autoplay.paused && this.autoplay.run(), this.allowSlidePrev = s, this.allowSlideNext = i, this.params.watchOverflow && a !== this.snapGrid && this.checkOverflow()
1437
+ }
1438
+ }
1439
+
1440
+ function X(e) {
1441
+ this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params.preventClicksPropagation && this.animating && (e.stopPropagation(), e.stopImmediatePropagation()))
1442
+ }
1443
+
1444
+ function V() {
1445
+ var e = this.wrapperEl,
1446
+ t = this.rtlTranslate;
1447
+ this.previousTranslate = this.translate, this.isHorizontal() ? this.translate = t ? e.scrollWidth - e.offsetWidth - e.scrollLeft : -e.scrollLeft : this.translate = -e.scrollTop, -0 === this.translate && (this.translate = 0), this.updateActiveIndex(), this.updateSlidesClasses();
1448
+ var i = this.maxTranslate() - this.minTranslate();
1449
+ (0 === i ? 0 : (this.translate - this.minTranslate()) / i) !== this.progress && this.updateProgress(t ? -this.translate : this.translate), this.emit("setTranslate", this.translate, !1)
1450
+ }
1451
+ var Y = !1;
1452
+
1453
+ function F() {}
1454
+ var W = {
1455
+ init: !0,
1456
+ direction: "horizontal",
1457
+ touchEventsTarget: "container",
1458
+ initialSlide: 0,
1459
+ speed: 300,
1460
+ cssMode: !1,
1461
+ updateOnWindowResize: !0,
1462
+ preventInteractionOnTransition: !1,
1463
+ edgeSwipeDetection: !1,
1464
+ edgeSwipeThreshold: 20,
1465
+ freeMode: !1,
1466
+ freeModeMomentum: !0,
1467
+ freeModeMomentumRatio: 1,
1468
+ freeModeMomentumBounce: !0,
1469
+ freeModeMomentumBounceRatio: 1,
1470
+ freeModeMomentumVelocityRatio: 1,
1471
+ freeModeSticky: !1,
1472
+ freeModeMinimumVelocity: .02,
1473
+ autoHeight: !1,
1474
+ setWrapperSize: !1,
1475
+ virtualTranslate: !1,
1476
+ effect: "slide",
1477
+ breakpoints: void 0,
1478
+ spaceBetween: 0,
1479
+ slidesPerView: 1,
1480
+ slidesPerColumn: 1,
1481
+ slidesPerColumnFill: "column",
1482
+ slidesPerGroup: 1,
1483
+ slidesPerGroupSkip: 0,
1484
+ centeredSlides: !1,
1485
+ centeredSlidesBounds: !1,
1486
+ slidesOffsetBefore: 0,
1487
+ slidesOffsetAfter: 0,
1488
+ normalizeSlideIndex: !0,
1489
+ centerInsufficientSlides: !1,
1490
+ watchOverflow: !1,
1491
+ roundLengths: !1,
1492
+ touchRatio: 1,
1493
+ touchAngle: 45,
1494
+ simulateTouch: !0,
1495
+ shortSwipes: !0,
1496
+ longSwipes: !0,
1497
+ longSwipesRatio: .5,
1498
+ longSwipesMs: 300,
1499
+ followFinger: !0,
1500
+ allowTouchMove: !0,
1501
+ threshold: 0,
1502
+ touchMoveStopPropagation: !1,
1503
+ touchStartPreventDefault: !0,
1504
+ touchStartForcePreventDefault: !1,
1505
+ touchReleaseOnEdges: !1,
1506
+ uniqueNavElements: !0,
1507
+ resistance: !0,
1508
+ resistanceRatio: .85,
1509
+ watchSlidesProgress: !1,
1510
+ watchSlidesVisibility: !1,
1511
+ grabCursor: !1,
1512
+ preventClicks: !0,
1513
+ preventClicksPropagation: !0,
1514
+ slideToClickedSlide: !1,
1515
+ preloadImages: !0,
1516
+ updateOnImagesReady: !0,
1517
+ loop: !1,
1518
+ loopAdditionalSlides: 0,
1519
+ loopedSlides: null,
1520
+ loopFillGroupWithBlank: !1,
1521
+ allowSlidePrev: !0,
1522
+ allowSlideNext: !0,
1523
+ swipeHandler: null,
1524
+ noSwiping: !0,
1525
+ noSwipingClass: "swiper-no-swiping",
1526
+ noSwipingSelector: null,
1527
+ passiveListeners: !0,
1528
+ containerModifierClass: "swiper-container-",
1529
+ slideClass: "swiper-slide",
1530
+ slideBlankClass: "swiper-slide-invisible-blank",
1531
+ slideActiveClass: "swiper-slide-active",
1532
+ slideDuplicateActiveClass: "swiper-slide-duplicate-active",
1533
+ slideVisibleClass: "swiper-slide-visible",
1534
+ slideDuplicateClass: "swiper-slide-duplicate",
1535
+ slideNextClass: "swiper-slide-next",
1536
+ slideDuplicateNextClass: "swiper-slide-duplicate-next",
1537
+ slidePrevClass: "swiper-slide-prev",
1538
+ slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
1539
+ wrapperClass: "swiper-wrapper",
1540
+ runCallbacksOnInit: !0
1541
+ },
1542
+ R = {
1543
+ update: u,
1544
+ translate: v,
1545
+ transition: f,
1546
+ slide: m,
1547
+ loop: g,
1548
+ grabCursor: b,
1549
+ manipulation: O,
1550
+ events: {
1551
+ attachEvents: function () {
1552
+ var e = this.params,
1553
+ t = this.touchEvents,
1554
+ s = this.el,
1555
+ a = this.wrapperEl;
1556
+ this.onTouchStart = G.bind(this), this.onTouchMove = H.bind(this), this.onTouchEnd = B.bind(this), e.cssMode && (this.onScroll = V.bind(this)), this.onClick = X.bind(this);
1557
+ var r = !!e.nested;
1558
+ if (!h.touch && h.pointerEvents) s.addEventListener(t.start, this.onTouchStart, !1), i.addEventListener(t.move, this.onTouchMove, r), i.addEventListener(t.end, this.onTouchEnd, !1);
1559
+ else {
1560
+ if (h.touch) {
1561
+ var n = !("touchstart" !== t.start || !h.passiveListener || !e.passiveListeners) && {
1562
+ passive: !0,
1563
+ capture: !1
1564
+ };
1565
+ s.addEventListener(t.start, this.onTouchStart, n), s.addEventListener(t.move, this.onTouchMove, h.passiveListener ? {
1566
+ passive: !1,
1567
+ capture: r
1568
+ } : r), s.addEventListener(t.end, this.onTouchEnd, n), t.cancel && s.addEventListener(t.cancel, this.onTouchEnd, n), Y || (i.addEventListener("touchstart", F), Y = !0)
1569
+ }(e.simulateTouch && !A.ios && !A.android || e.simulateTouch && !h.touch && A.ios) && (s.addEventListener("mousedown", this.onTouchStart, !1), i.addEventListener("mousemove", this.onTouchMove, r), i.addEventListener("mouseup", this.onTouchEnd, !1))
1570
+ }(e.preventClicks || e.preventClicksPropagation) && s.addEventListener("click", this.onClick, !0), e.cssMode && a.addEventListener("scroll", this.onScroll), e.updateOnWindowResize ? this.on(A.ios || A.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", N, !0) : this.on("observerUpdate", N, !0)
1571
+ },
1572
+ detachEvents: function () {
1573
+ var e = this.params,
1574
+ t = this.touchEvents,
1575
+ s = this.el,
1576
+ a = this.wrapperEl,
1577
+ r = !!e.nested;
1578
+ if (!h.touch && h.pointerEvents) s.removeEventListener(t.start, this.onTouchStart, !1), i.removeEventListener(t.move, this.onTouchMove, r), i.removeEventListener(t.end, this.onTouchEnd, !1);
1579
+ else {
1580
+ if (h.touch) {
1581
+ var n = !("onTouchStart" !== t.start || !h.passiveListener || !e.passiveListeners) && {
1582
+ passive: !0,
1583
+ capture: !1
1584
+ };
1585
+ s.removeEventListener(t.start, this.onTouchStart, n), s.removeEventListener(t.move, this.onTouchMove, r), s.removeEventListener(t.end, this.onTouchEnd, n), t.cancel && s.removeEventListener(t.cancel, this.onTouchEnd, n)
1586
+ }(e.simulateTouch && !A.ios && !A.android || e.simulateTouch && !h.touch && A.ios) && (s.removeEventListener("mousedown", this.onTouchStart, !1), i.removeEventListener("mousemove", this.onTouchMove, r), i.removeEventListener("mouseup", this.onTouchEnd, !1))
1587
+ }(e.preventClicks || e.preventClicksPropagation) && s.removeEventListener("click", this.onClick, !0), e.cssMode && a.removeEventListener("scroll", this.onScroll), this.off(A.ios || A.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", N)
1588
+ }
1589
+ },
1590
+ breakpoints: {
1591
+ setBreakpoint: function () {
1592
+ var e = this.activeIndex,
1593
+ t = this.initialized,
1594
+ i = this.loopedSlides;
1595
+ void 0 === i && (i = 0);
1596
+ var s = this.params,
1597
+ a = this.$el,
1598
+ r = s.breakpoints;
1599
+ if (r && (!r || 0 !== Object.keys(r).length)) {
1600
+ var n = this.getBreakpoint(r);
1601
+ if (n && this.currentBreakpoint !== n) {
1602
+ var o = n in r ? r[n] : void 0;
1603
+ o && ["slidesPerView", "spaceBetween", "slidesPerGroup", "slidesPerGroupSkip", "slidesPerColumn"].forEach((function (e) {
1604
+ var t = o[e];
1605
+ void 0 !== t && (o[e] = "slidesPerView" !== e || "AUTO" !== t && "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto")
1606
+ }));
1607
+ var l = o || this.originalParams,
1608
+ h = s.slidesPerColumn > 1,
1609
+ p = l.slidesPerColumn > 1;
1610
+ h && !p ? a.removeClass(s.containerModifierClass + "multirow " + s.containerModifierClass + "multirow-column") : !h && p && (a.addClass(s.containerModifierClass + "multirow"), "column" === l.slidesPerColumnFill && a.addClass(s.containerModifierClass + "multirow-column"));
1611
+ var c = l.direction && l.direction !== s.direction,
1612
+ u = s.loop && (l.slidesPerView !== s.slidesPerView || c);
1613
+ c && t && this.changeDirection(), d.extend(this.params, l), d.extend(this, {
1614
+ allowTouchMove: this.params.allowTouchMove,
1615
+ allowSlideNext: this.params.allowSlideNext,
1616
+ allowSlidePrev: this.params.allowSlidePrev
1617
+ }), this.currentBreakpoint = n, u && t && (this.loopDestroy(), this.loopCreate(), this.updateSlides(), this.slideTo(e - i + this.loopedSlides, 0, !1)), this.emit("breakpoint", l)
1618
+ }
1619
+ }
1620
+ },
1621
+ getBreakpoint: function (e) {
1622
+ if (e) {
1623
+ var t = !1,
1624
+ i = Object.keys(e).map((function (e) {
1625
+ if ("string" == typeof e && 0 === e.indexOf("@")) {
1626
+ var t = parseFloat(e.substr(1));
1627
+ return {
1628
+ value: a.innerHeight * t,
1629
+ point: e
1630
+ }
1631
+ }
1632
+ return {
1633
+ value: e,
1634
+ point: e
1635
+ }
1636
+ }));
1637
+ i.sort((function (e, t) {
1638
+ return parseInt(e.value, 10) - parseInt(t.value, 10)
1639
+ }));
1640
+ for (var s = 0; s < i.length; s += 1) {
1641
+ var r = i[s],
1642
+ n = r.point;
1643
+ r.value <= a.innerWidth && (t = n)
1644
+ }
1645
+ return t || "max"
1646
+ }
1647
+ }
1648
+ },
1649
+ checkOverflow: {
1650
+ checkOverflow: function () {
1651
+ var e = this.params,
1652
+ t = this.isLocked,
1653
+ i = this.slides.length > 0 && e.slidesOffsetBefore + e.spaceBetween * (this.slides.length - 1) + this.slides[0].offsetWidth * this.slides.length;
1654
+ e.slidesOffsetBefore && e.slidesOffsetAfter && i ? this.isLocked = i <= this.size : this.isLocked = 1 === this.snapGrid.length, this.allowSlideNext = !this.isLocked, this.allowSlidePrev = !this.isLocked, t !== this.isLocked && this.emit(this.isLocked ? "lock" : "unlock"), t && t !== this.isLocked && (this.isEnd = !1, this.navigation && this.navigation.update())
1655
+ }
1656
+ },
1657
+ classes: {
1658
+ addClasses: function () {
1659
+ var e = this.classNames,
1660
+ t = this.params,
1661
+ i = this.rtl,
1662
+ s = this.$el,
1663
+ a = [];
1664
+ a.push("initialized"), a.push(t.direction), t.freeMode && a.push("free-mode"), t.autoHeight && a.push("autoheight"), i && a.push("rtl"), t.slidesPerColumn > 1 && (a.push("multirow"), "column" === t.slidesPerColumnFill && a.push("multirow-column")), A.android && a.push("android"), A.ios && a.push("ios"), t.cssMode && a.push("css-mode"), a.forEach((function (i) {
1665
+ e.push(t.containerModifierClass + i)
1666
+ })), s.addClass(e.join(" "))
1667
+ },
1668
+ removeClasses: function () {
1669
+ var e = this.$el,
1670
+ t = this.classNames;
1671
+ e.removeClass(t.join(" "))
1672
+ }
1673
+ },
1674
+ images: {
1675
+ loadImage: function (e, t, i, s, r, o) {
1676
+ var l;
1677
+
1678
+ function d() {
1679
+ o && o()
1680
+ }
1681
+ n(e).parent("picture")[0] || e.complete && r ? d() : t ? ((l = new a.Image).onload = d, l.onerror = d, s && (l.sizes = s), i && (l.srcset = i), t && (l.src = t)) : d()
1682
+ },
1683
+ preloadImages: function () {
1684
+ var e = this;
1685
+
1686
+ function t() {
1687
+ null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")))
1688
+ }
1689
+ e.imagesToLoad = e.$el.find("img");
1690
+ for (var i = 0; i < e.imagesToLoad.length; i += 1) {
1691
+ var s = e.imagesToLoad[i];
1692
+ e.loadImage(s, s.currentSrc || s.getAttribute("src"), s.srcset || s.getAttribute("srcset"), s.sizes || s.getAttribute("sizes"), !0, t)
1693
+ }
1694
+ }
1695
+ }
1696
+ },
1697
+ q = {},
1698
+ j = function (e) {
1699
+ function t() {
1700
+ for (var i, s, a, r = [], o = arguments.length; o--;) r[o] = arguments[o];
1701
+ 1 === r.length && r[0].constructor && r[0].constructor === Object ? a = r[0] : (s = (i = r)[0], a = i[1]), a || (a = {}), a = d.extend({}, a), s && !a.el && (a.el = s), e.call(this, a), Object.keys(R).forEach((function (e) {
1702
+ Object.keys(R[e]).forEach((function (i) {
1703
+ t.prototype[i] || (t.prototype[i] = R[e][i])
1704
+ }))
1705
+ }));
1706
+ var l = this;
1707
+ void 0 === l.modules && (l.modules = {}), Object.keys(l.modules).forEach((function (e) {
1708
+ var t = l.modules[e];
1709
+ if (t.params) {
1710
+ var i = Object.keys(t.params)[0],
1711
+ s = t.params[i];
1712
+ if ("object" != typeof s || null === s) return;
1713
+ if (!(i in a) || !("enabled" in s)) return;
1714
+ !0 === a[i] && (a[i] = {
1715
+ enabled: !0
1716
+ }), "object" != typeof a[i] || "enabled" in a[i] || (a[i].enabled = !0), a[i] || (a[i] = {
1717
+ enabled: !1
1718
+ })
1719
+ }
1720
+ }));
1721
+ var p = d.extend({}, W);
1722
+ l.useModulesParams(p), l.params = d.extend({}, p, q, a), l.originalParams = d.extend({}, l.params), l.passedParams = d.extend({}, a), l.$ = n;
1723
+ var c = n(l.params.el);
1724
+ if (s = c[0]) {
1725
+ if (c.length > 1) {
1726
+ var u = [];
1727
+ return c.each((function (e, i) {
1728
+ var s = d.extend({}, a, {
1729
+ el: i
1730
+ });
1731
+ u.push(new t(s))
1732
+ })), u
1733
+ }
1734
+ var v, f, m;
1735
+ return s.swiper = l, c.data("swiper", l), s && s.shadowRoot && s.shadowRoot.querySelector ? (v = n(s.shadowRoot.querySelector("." + l.params.wrapperClass))).children = function (e) {
1736
+ return c.children(e)
1737
+ } : v = c.children("." + l.params.wrapperClass), d.extend(l, {
1738
+ $el: c,
1739
+ el: s,
1740
+ $wrapperEl: v,
1741
+ wrapperEl: v[0],
1742
+ classNames: [],
1743
+ slides: n(),
1744
+ slidesGrid: [],
1745
+ snapGrid: [],
1746
+ slidesSizesGrid: [],
1747
+ isHorizontal: function () {
1748
+ return "horizontal" === l.params.direction
1749
+ },
1750
+ isVertical: function () {
1751
+ return "vertical" === l.params.direction
1752
+ },
1753
+ rtl: "rtl" === s.dir.toLowerCase() || "rtl" === c.css("direction"),
1754
+ rtlTranslate: "horizontal" === l.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === c.css("direction")),
1755
+ wrongRTL: "-webkit-box" === v.css("display"),
1756
+ activeIndex: 0,
1757
+ realIndex: 0,
1758
+ isBeginning: !0,
1759
+ isEnd: !1,
1760
+ translate: 0,
1761
+ previousTranslate: 0,
1762
+ progress: 0,
1763
+ velocity: 0,
1764
+ animating: !1,
1765
+ allowSlideNext: l.params.allowSlideNext,
1766
+ allowSlidePrev: l.params.allowSlidePrev,
1767
+ touchEvents: (f = ["touchstart", "touchmove", "touchend", "touchcancel"], m = ["mousedown", "mousemove", "mouseup"], h.pointerEvents && (m = ["pointerdown", "pointermove", "pointerup"]), l.touchEventsTouch = {
1768
+ start: f[0],
1769
+ move: f[1],
1770
+ end: f[2],
1771
+ cancel: f[3]
1772
+ }, l.touchEventsDesktop = {
1773
+ start: m[0],
1774
+ move: m[1],
1775
+ end: m[2]
1776
+ }, h.touch || !l.params.simulateTouch ? l.touchEventsTouch : l.touchEventsDesktop),
1777
+ touchEventsData: {
1778
+ isTouched: void 0,
1779
+ isMoved: void 0,
1780
+ allowTouchCallbacks: void 0,
1781
+ touchStartTime: void 0,
1782
+ isScrolling: void 0,
1783
+ currentTranslate: void 0,
1784
+ startTranslate: void 0,
1785
+ allowThresholdMove: void 0,
1786
+ formElements: "input, select, option, textarea, button, video, label",
1787
+ lastClickTime: d.now(),
1788
+ clickTimeout: void 0,
1789
+ velocities: [],
1790
+ allowMomentumBounce: void 0,
1791
+ isTouchEvent: void 0,
1792
+ startMoving: void 0
1793
+ },
1794
+ allowClick: !0,
1795
+ allowTouchMove: l.params.allowTouchMove,
1796
+ touches: {
1797
+ startX: 0,
1798
+ startY: 0,
1799
+ currentX: 0,
1800
+ currentY: 0,
1801
+ diff: 0
1802
+ },
1803
+ imagesToLoad: [],
1804
+ imagesLoaded: 0
1805
+ }), l.useModules(), l.params.init && l.init(), l
1806
+ }
1807
+ }
1808
+ e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t;
1809
+ var i = {
1810
+ extendedDefaults: {
1811
+ configurable: !0
1812
+ },
1813
+ defaults: {
1814
+ configurable: !0
1815
+ },
1816
+ Class: {
1817
+ configurable: !0
1818
+ },
1819
+ $: {
1820
+ configurable: !0
1821
+ }
1822
+ };
1823
+ return t.prototype.slidesPerViewDynamic = function () {
1824
+ var e = this.params,
1825
+ t = this.slides,
1826
+ i = this.slidesGrid,
1827
+ s = this.size,
1828
+ a = this.activeIndex,
1829
+ r = 1;
1830
+ if (e.centeredSlides) {
1831
+ for (var n, o = t[a].swiperSlideSize, l = a + 1; l < t.length; l += 1) t[l] && !n && (r += 1, (o += t[l].swiperSlideSize) > s && (n = !0));
1832
+ for (var d = a - 1; d >= 0; d -= 1) t[d] && !n && (r += 1, (o += t[d].swiperSlideSize) > s && (n = !0))
1833
+ } else
1834
+ for (var h = a + 1; h < t.length; h += 1) i[h] - i[a] < s && (r += 1);
1835
+ return r
1836
+ }, t.prototype.update = function () {
1837
+ var e = this;
1838
+ if (e && !e.destroyed) {
1839
+ var t = e.snapGrid,
1840
+ i = e.params;
1841
+ i.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode ? (s(), e.params.autoHeight && e.updateAutoHeight()) : (("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0)) || s(), i.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update")
1842
+ }
1843
+
1844
+ function s() {
1845
+ var t = e.rtlTranslate ? -1 * e.translate : e.translate,
1846
+ i = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
1847
+ e.setTranslate(i), e.updateActiveIndex(), e.updateSlidesClasses()
1848
+ }
1849
+ }, t.prototype.changeDirection = function (e, t) {
1850
+ void 0 === t && (t = !0);
1851
+ var i = this.params.direction;
1852
+ return e || (e = "horizontal" === i ? "vertical" : "horizontal"), e === i || "horizontal" !== e && "vertical" !== e || (this.$el.removeClass("" + this.params.containerModifierClass + i).addClass("" + this.params.containerModifierClass + e), this.params.direction = e, this.slides.each((function (t, i) {
1853
+ "vertical" === e ? i.style.width = "" : i.style.height = ""
1854
+ })), this.emit("changeDirection"), t && this.update()), this
1855
+ }, t.prototype.init = function () {
1856
+ this.initialized || (this.emit("beforeInit"), this.params.breakpoints && this.setBreakpoint(), this.addClasses(), this.params.loop && this.loopCreate(), this.updateSize(), this.updateSlides(), this.params.watchOverflow && this.checkOverflow(), this.params.grabCursor && this.setGrabCursor(), this.params.preloadImages && this.preloadImages(), this.params.loop ? this.slideTo(this.params.initialSlide + this.loopedSlides, 0, this.params.runCallbacksOnInit) : this.slideTo(this.params.initialSlide, 0, this.params.runCallbacksOnInit), this.attachEvents(), this.initialized = !0, this.emit("init"))
1857
+ }, t.prototype.destroy = function (e, t) {
1858
+ void 0 === e && (e = !0), void 0 === t && (t = !0);
1859
+ var i = this,
1860
+ s = i.params,
1861
+ a = i.$el,
1862
+ r = i.$wrapperEl,
1863
+ n = i.slides;
1864
+ return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), i.initialized = !1, i.detachEvents(), s.loop && i.loopDestroy(), t && (i.removeClasses(), a.removeAttr("style"), r.removeAttr("style"), n && n.length && n.removeClass([s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), i.emit("destroy"), Object.keys(i.eventsListeners).forEach((function (e) {
1865
+ i.off(e)
1866
+ })), !1 !== e && (i.$el[0].swiper = null, i.$el.data("swiper", null), d.deleteProps(i)), i.destroyed = !0), null
1867
+ }, t.extendDefaults = function (e) {
1868
+ d.extend(q, e)
1869
+ }, i.extendedDefaults.get = function () {
1870
+ return q
1871
+ }, i.defaults.get = function () {
1872
+ return W
1873
+ }, i.Class.get = function () {
1874
+ return e
1875
+ }, i.$.get = function () {
1876
+ return n
1877
+ }, Object.defineProperties(t, i), t
1878
+ }(p),
1879
+ K = {
1880
+ name: "device",
1881
+ proto: {
1882
+ device: A
1883
+ },
1884
+ static: {
1885
+ device: A
1886
+ }
1887
+ },
1888
+ U = {
1889
+ name: "support",
1890
+ proto: {
1891
+ support: h
1892
+ },
1893
+ static: {
1894
+ support: h
1895
+ }
1896
+ },
1897
+ _ = {
1898
+ isEdge: !!a.navigator.userAgent.match(/Edge/g),
1899
+ isSafari: function () {
1900
+ var e = a.navigator.userAgent.toLowerCase();
1901
+ return e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0
1902
+ }(),
1903
+ isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator.userAgent)
1904
+ },
1905
+ Z = {
1906
+ name: "browser",
1907
+ proto: {
1908
+ browser: _
1909
+ },
1910
+ static: {
1911
+ browser: _
1912
+ }
1913
+ },
1914
+ Q = {
1915
+ name: "resize",
1916
+ create: function () {
1917
+ var e = this;
1918
+ d.extend(e, {
1919
+ resize: {
1920
+ resizeHandler: function () {
1921
+ e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize"))
1922
+ },
1923
+ orientationChangeHandler: function () {
1924
+ e && !e.destroyed && e.initialized && e.emit("orientationchange")
1925
+ }
1926
+ }
1927
+ })
1928
+ },
1929
+ on: {
1930
+ init: function () {
1931
+ a.addEventListener("resize", this.resize.resizeHandler), a.addEventListener("orientationchange", this.resize.orientationChangeHandler)
1932
+ },
1933
+ destroy: function () {
1934
+ a.removeEventListener("resize", this.resize.resizeHandler), a.removeEventListener("orientationchange", this.resize.orientationChangeHandler)
1935
+ }
1936
+ }
1937
+ },
1938
+ J = {
1939
+ func: a.MutationObserver || a.WebkitMutationObserver,
1940
+ attach: function (e, t) {
1941
+ void 0 === t && (t = {});
1942
+ var i = this,
1943
+ s = new(0, J.func)((function (e) {
1944
+ if (1 !== e.length) {
1945
+ var t = function () {
1946
+ i.emit("observerUpdate", e[0])
1947
+ };
1948
+ a.requestAnimationFrame ? a.requestAnimationFrame(t) : a.setTimeout(t, 0)
1949
+ } else i.emit("observerUpdate", e[0])
1950
+ }));
1951
+ s.observe(e, {
1952
+ attributes: void 0 === t.attributes || t.attributes,
1953
+ childList: void 0 === t.childList || t.childList,
1954
+ characterData: void 0 === t.characterData || t.characterData
1955
+ }), i.observer.observers.push(s)
1956
+ },
1957
+ init: function () {
1958
+ if (h.observer && this.params.observer) {
1959
+ if (this.params.observeParents)
1960
+ for (var e = this.$el.parents(), t = 0; t < e.length; t += 1) this.observer.attach(e[t]);
1961
+ this.observer.attach(this.$el[0], {
1962
+ childList: this.params.observeSlideChildren
1963
+ }), this.observer.attach(this.$wrapperEl[0], {
1964
+ attributes: !1
1965
+ })
1966
+ }
1967
+ },
1968
+ destroy: function () {
1969
+ this.observer.observers.forEach((function (e) {
1970
+ e.disconnect()
1971
+ })), this.observer.observers = []
1972
+ }
1973
+ },
1974
+ ee = {
1975
+ name: "observer",
1976
+ params: {
1977
+ observer: !1,
1978
+ observeParents: !1,
1979
+ observeSlideChildren: !1
1980
+ },
1981
+ create: function () {
1982
+ d.extend(this, {
1983
+ observer: {
1984
+ init: J.init.bind(this),
1985
+ attach: J.attach.bind(this),
1986
+ destroy: J.destroy.bind(this),
1987
+ observers: []
1988
+ }
1989
+ })
1990
+ },
1991
+ on: {
1992
+ init: function () {
1993
+ this.observer.init()
1994
+ },
1995
+ destroy: function () {
1996
+ this.observer.destroy()
1997
+ }
1998
+ }
1999
+ },
2000
+ te = {
2001
+ update: function (e) {
2002
+ var t = this,
2003
+ i = t.params,
2004
+ s = i.slidesPerView,
2005
+ a = i.slidesPerGroup,
2006
+ r = i.centeredSlides,
2007
+ n = t.params.virtual,
2008
+ o = n.addSlidesBefore,
2009
+ l = n.addSlidesAfter,
2010
+ h = t.virtual,
2011
+ p = h.from,
2012
+ c = h.to,
2013
+ u = h.slides,
2014
+ v = h.slidesGrid,
2015
+ f = h.renderSlide,
2016
+ m = h.offset;
2017
+ t.updateActiveIndex();
2018
+ var g, b, w, y = t.activeIndex || 0;
2019
+ g = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (b = Math.floor(s / 2) + a + o, w = Math.floor(s / 2) + a + l) : (b = s + (a - 1) + o, w = a + l);
2020
+ var x = Math.max((y || 0) - w, 0),
2021
+ E = Math.min((y || 0) + b, u.length - 1),
2022
+ T = (t.slidesGrid[x] || 0) - (t.slidesGrid[0] || 0);
2023
+
2024
+ function S() {
2025
+ t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy.enabled && t.lazy.load()
2026
+ }
2027
+ if (d.extend(t.virtual, {
2028
+ from: x,
2029
+ to: E,
2030
+ offset: T,
2031
+ slidesGrid: t.slidesGrid
2032
+ }), p === x && c === E && !e) return t.slidesGrid !== v && T !== m && t.slides.css(g, T + "px"), void t.updateProgress();
2033
+ if (t.params.virtual.renderExternal) return t.params.virtual.renderExternal.call(t, {
2034
+ offset: T,
2035
+ from: x,
2036
+ to: E,
2037
+ slides: function () {
2038
+ for (var e = [], t = x; t <= E; t += 1) e.push(u[t]);
2039
+ return e
2040
+ }()
2041
+ }), void S();
2042
+ var C = [],
2043
+ M = [];
2044
+ if (e) t.$wrapperEl.find("." + t.params.slideClass).remove();
2045
+ else
2046
+ for (var P = p; P <= c; P += 1)(P < x || P > E) && t.$wrapperEl.find("." + t.params.slideClass + '[data-swiper-slide-index="' + P + '"]').remove();
2047
+ for (var z = 0; z < u.length; z += 1) z >= x && z <= E && (void 0 === c || e ? M.push(z) : (z > c && M.push(z), z < p && C.push(z)));
2048
+ M.forEach((function (e) {
2049
+ t.$wrapperEl.append(f(u[e], e))
2050
+ })), C.sort((function (e, t) {
2051
+ return t - e
2052
+ })).forEach((function (e) {
2053
+ t.$wrapperEl.prepend(f(u[e], e))
2054
+ })), t.$wrapperEl.children(".swiper-slide").css(g, T + "px"), S()
2055
+ },
2056
+ renderSlide: function (e, t) {
2057
+ var i = this.params.virtual;
2058
+ if (i.cache && this.virtual.cache[t]) return this.virtual.cache[t];
2059
+ var s = i.renderSlide ? n(i.renderSlide.call(this, e, t)) : n('<div class="' + this.params.slideClass + '" data-swiper-slide-index="' + t + '">' + e + "</div>");
2060
+ return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (this.virtual.cache[t] = s), s
2061
+ },
2062
+ appendSlide: function (e) {
2063
+ if ("object" == typeof e && "length" in e)
2064
+ for (var t = 0; t < e.length; t += 1) e[t] && this.virtual.slides.push(e[t]);
2065
+ else this.virtual.slides.push(e);
2066
+ this.virtual.update(!0)
2067
+ },
2068
+ prependSlide: function (e) {
2069
+ var t = this.activeIndex,
2070
+ i = t + 1,
2071
+ s = 1;
2072
+ if (Array.isArray(e)) {
2073
+ for (var a = 0; a < e.length; a += 1) e[a] && this.virtual.slides.unshift(e[a]);
2074
+ i = t + e.length, s = e.length
2075
+ } else this.virtual.slides.unshift(e);
2076
+ if (this.params.virtual.cache) {
2077
+ var r = this.virtual.cache,
2078
+ n = {};
2079
+ Object.keys(r).forEach((function (e) {
2080
+ var t = r[e],
2081
+ i = t.attr("data-swiper-slide-index");
2082
+ i && t.attr("data-swiper-slide-index", parseInt(i, 10) + 1), n[parseInt(e, 10) + s] = t
2083
+ })), this.virtual.cache = n
2084
+ }
2085
+ this.virtual.update(!0), this.slideTo(i, 0)
2086
+ },
2087
+ removeSlide: function (e) {
2088
+ if (null != e) {
2089
+ var t = this.activeIndex;
2090
+ if (Array.isArray(e))
2091
+ for (var i = e.length - 1; i >= 0; i -= 1) this.virtual.slides.splice(e[i], 1), this.params.virtual.cache && delete this.virtual.cache[e[i]], e[i] < t && (t -= 1), t = Math.max(t, 0);
2092
+ else this.virtual.slides.splice(e, 1), this.params.virtual.cache && delete this.virtual.cache[e], e < t && (t -= 1), t = Math.max(t, 0);
2093
+ this.virtual.update(!0), this.slideTo(t, 0)
2094
+ }
2095
+ },
2096
+ removeAllSlides: function () {
2097
+ this.virtual.slides = [], this.params.virtual.cache && (this.virtual.cache = {}), this.virtual.update(!0), this.slideTo(0, 0)
2098
+ }
2099
+ },
2100
+ ie = {
2101
+ name: "virtual",
2102
+ params: {
2103
+ virtual: {
2104
+ enabled: !1,
2105
+ slides: [],
2106
+ cache: !0,
2107
+ renderSlide: null,
2108
+ renderExternal: null,
2109
+ addSlidesBefore: 0,
2110
+ addSlidesAfter: 0
2111
+ }
2112
+ },
2113
+ create: function () {
2114
+ d.extend(this, {
2115
+ virtual: {
2116
+ update: te.update.bind(this),
2117
+ appendSlide: te.appendSlide.bind(this),
2118
+ prependSlide: te.prependSlide.bind(this),
2119
+ removeSlide: te.removeSlide.bind(this),
2120
+ removeAllSlides: te.removeAllSlides.bind(this),
2121
+ renderSlide: te.renderSlide.bind(this),
2122
+ slides: this.params.virtual.slides,
2123
+ cache: {}
2124
+ }
2125
+ })
2126
+ },
2127
+ on: {
2128
+ beforeInit: function () {
2129
+ if (this.params.virtual.enabled) {
2130
+ this.classNames.push(this.params.containerModifierClass + "virtual");
2131
+ var e = {
2132
+ watchSlidesProgress: !0
2133
+ };
2134
+ d.extend(this.params, e), d.extend(this.originalParams, e), this.params.initialSlide || this.virtual.update()
2135
+ }
2136
+ },
2137
+ setTranslate: function () {
2138
+ this.params.virtual.enabled && this.virtual.update()
2139
+ }
2140
+ }
2141
+ },
2142
+ se = {
2143
+ handle: function (e) {
2144
+ var t = this.rtlTranslate,
2145
+ s = e;
2146
+ s.originalEvent && (s = s.originalEvent);
2147
+ var r = s.keyCode || s.charCode,
2148
+ n = this.params.keyboard.pageUpDown,
2149
+ o = n && 33 === r,
2150
+ l = n && 34 === r,
2151
+ d = 37 === r,
2152
+ h = 39 === r,
2153
+ p = 38 === r,
2154
+ c = 40 === r;
2155
+ if (!this.allowSlideNext && (this.isHorizontal() && h || this.isVertical() && c || l)) return !1;
2156
+ if (!this.allowSlidePrev && (this.isHorizontal() && d || this.isVertical() && p || o)) return !1;
2157
+ if (!(s.shiftKey || s.altKey || s.ctrlKey || s.metaKey || i.activeElement && i.activeElement.nodeName && ("input" === i.activeElement.nodeName.toLowerCase() || "textarea" === i.activeElement.nodeName.toLowerCase()))) {
2158
+ if (this.params.keyboard.onlyInViewport && (o || l || d || h || p || c)) {
2159
+ var u = !1;
2160
+ if (this.$el.parents("." + this.params.slideClass).length > 0 && 0 === this.$el.parents("." + this.params.slideActiveClass).length) return;
2161
+ var v = a.innerWidth,
2162
+ f = a.innerHeight,
2163
+ m = this.$el.offset();
2164
+ t && (m.left -= this.$el[0].scrollLeft);
2165
+ for (var g = [
2166
+ [m.left, m.top],
2167
+ [m.left + this.width, m.top],
2168
+ [m.left, m.top + this.height],
2169
+ [m.left + this.width, m.top + this.height]
2170
+ ], b = 0; b < g.length; b += 1) {
2171
+ var w = g[b];
2172
+ w[0] >= 0 && w[0] <= v && w[1] >= 0 && w[1] <= f && (u = !0)
2173
+ }
2174
+ if (!u) return
2175
+ }
2176
+ this.isHorizontal() ? ((o || l || d || h) && (s.preventDefault ? s.preventDefault() : s.returnValue = !1), ((l || h) && !t || (o || d) && t) && this.slideNext(), ((o || d) && !t || (l || h) && t) && this.slidePrev()) : ((o || l || p || c) && (s.preventDefault ? s.preventDefault() : s.returnValue = !1), (l || c) && this.slideNext(), (o || p) && this.slidePrev()), this.emit("keyPress", r)
2177
+ }
2178
+ },
2179
+ enable: function () {
2180
+ this.keyboard.enabled || (n(i).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0)
2181
+ },
2182
+ disable: function () {
2183
+ this.keyboard.enabled && (n(i).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1)
2184
+ }
2185
+ },
2186
+ ae = {
2187
+ name: "keyboard",
2188
+ params: {
2189
+ keyboard: {
2190
+ enabled: !1,
2191
+ onlyInViewport: !0,
2192
+ pageUpDown: !0
2193
+ }
2194
+ },
2195
+ create: function () {
2196
+ d.extend(this, {
2197
+ keyboard: {
2198
+ enabled: !1,
2199
+ enable: se.enable.bind(this),
2200
+ disable: se.disable.bind(this),
2201
+ handle: se.handle.bind(this)
2202
+ }
2203
+ })
2204
+ },
2205
+ on: {
2206
+ init: function () {
2207
+ this.params.keyboard.enabled && this.keyboard.enable()
2208
+ },
2209
+ destroy: function () {
2210
+ this.keyboard.enabled && this.keyboard.disable()
2211
+ }
2212
+ }
2213
+ };
2214
+ var re = {
2215
+ lastScrollTime: d.now(),
2216
+ lastEventBeforeSnap: void 0,
2217
+ recentWheelEvents: [],
2218
+ event: function () {
2219
+ return a.navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : function () {
2220
+ var e = "onwheel" in i;
2221
+ if (!e) {
2222
+ var t = i.createElement("div");
2223
+ t.setAttribute("onwheel", "return;"), e = "function" == typeof t.onwheel
2224
+ }
2225
+ return !e && i.implementation && i.implementation.hasFeature && !0 !== i.implementation.hasFeature("", "") && (e = i.implementation.hasFeature("Events.wheel", "3.0")), e
2226
+ }() ? "wheel" : "mousewheel"
2227
+ },
2228
+ normalize: function (e) {
2229
+ var t = 0,
2230
+ i = 0,
2231
+ s = 0,
2232
+ a = 0;
2233
+ return "detail" in e && (i = e.detail), "wheelDelta" in e && (i = -e.wheelDelta / 120), "wheelDeltaY" in e && (i = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = i, i = 0), s = 10 * t, a = 10 * i, "deltaY" in e && (a = e.deltaY), "deltaX" in e && (s = e.deltaX), e.shiftKey && !s && (s = a, a = 0), (s || a) && e.deltaMode && (1 === e.deltaMode ? (s *= 40, a *= 40) : (s *= 800, a *= 800)), s && !t && (t = s < 1 ? -1 : 1), a && !i && (i = a < 1 ? -1 : 1), {
2234
+ spinX: t,
2235
+ spinY: i,
2236
+ pixelX: s,
2237
+ pixelY: a
2238
+ }
2239
+ },
2240
+ handleMouseEnter: function () {
2241
+ this.mouseEntered = !0
2242
+ },
2243
+ handleMouseLeave: function () {
2244
+ this.mouseEntered = !1
2245
+ },
2246
+ handle: function (e) {
2247
+ var t = e,
2248
+ i = this,
2249
+ s = i.params.mousewheel;
2250
+ i.params.cssMode && t.preventDefault();
2251
+ var a = i.$el;
2252
+ if ("container" !== i.params.mousewheel.eventsTarged && (a = n(i.params.mousewheel.eventsTarged)), !i.mouseEntered && !a[0].contains(t.target) && !s.releaseOnEdges) return !0;
2253
+ t.originalEvent && (t = t.originalEvent);
2254
+ var r = 0,
2255
+ o = i.rtlTranslate ? -1 : 1,
2256
+ l = re.normalize(t);
2257
+ if (s.forceToAxis)
2258
+ if (i.isHorizontal()) {
2259
+ if (!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) return !0;
2260
+ r = -l.pixelX * o
2261
+ } else {
2262
+ if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return !0;
2263
+ r = -l.pixelY
2264
+ }
2265
+ else r = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * o : -l.pixelY;
2266
+ if (0 === r) return !0;
2267
+ if (s.invert && (r = -r), i.params.freeMode) {
2268
+ var h = {
2269
+ time: d.now(),
2270
+ delta: Math.abs(r),
2271
+ direction: Math.sign(r)
2272
+ },
2273
+ p = i.mousewheel.lastEventBeforeSnap,
2274
+ c = p && h.time < p.time + 500 && h.delta <= p.delta && h.direction === p.direction;
2275
+ if (!c) {
2276
+ i.mousewheel.lastEventBeforeSnap = void 0, i.params.loop && i.loopFix();
2277
+ var u = i.getTranslate() + r * s.sensitivity,
2278
+ v = i.isBeginning,
2279
+ f = i.isEnd;
2280
+ if (u >= i.minTranslate() && (u = i.minTranslate()), u <= i.maxTranslate() && (u = i.maxTranslate()), i.setTransition(0), i.setTranslate(u), i.updateProgress(), i.updateActiveIndex(), i.updateSlidesClasses(), (!v && i.isBeginning || !f && i.isEnd) && i.updateSlidesClasses(), i.params.freeModeSticky) {
2281
+ clearTimeout(i.mousewheel.timeout), i.mousewheel.timeout = void 0;
2282
+ var m = i.mousewheel.recentWheelEvents;
2283
+ m.length >= 15 && m.shift();
2284
+ var g = m.length ? m[m.length - 1] : void 0,
2285
+ b = m[0];
2286
+ if (m.push(h), g && (h.delta > g.delta || h.direction !== g.direction)) m.splice(0);
2287
+ else if (m.length >= 15 && h.time - b.time < 500 && b.delta - h.delta >= 1 && h.delta <= 6) {
2288
+ var w = r > 0 ? .8 : .2;
2289
+ i.mousewheel.lastEventBeforeSnap = h, m.splice(0), i.mousewheel.timeout = d.nextTick((function () {
2290
+ i.slideToClosest(i.params.speed, !0, void 0, w)
2291
+ }), 0)
2292
+ }
2293
+ i.mousewheel.timeout || (i.mousewheel.timeout = d.nextTick((function () {
2294
+ i.mousewheel.lastEventBeforeSnap = h, m.splice(0), i.slideToClosest(i.params.speed, !0, void 0, .5)
2295
+ }), 500))
2296
+ }
2297
+ if (c || i.emit("scroll", t), i.params.autoplay && i.params.autoplayDisableOnInteraction && i.autoplay.stop(), u === i.minTranslate() || u === i.maxTranslate()) return !0
2298
+ }
2299
+ } else {
2300
+ var y = {
2301
+ time: d.now(),
2302
+ delta: Math.abs(r),
2303
+ direction: Math.sign(r),
2304
+ raw: e
2305
+ },
2306
+ x = i.mousewheel.recentWheelEvents;
2307
+ x.length >= 2 && x.shift();
2308
+ var E = x.length ? x[x.length - 1] : void 0;
2309
+ if (x.push(y), E ? (y.direction !== E.direction || y.delta > E.delta || y.time > E.time + 150) && i.mousewheel.animateSlider(y) : i.mousewheel.animateSlider(y), i.mousewheel.releaseScroll(y)) return !0
2310
+ }
2311
+ return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1
2312
+ },
2313
+ animateSlider: function (e) {
2314
+ return e.delta >= 6 && d.now() - this.mousewheel.lastScrollTime < 60 || (e.direction < 0 ? this.isEnd && !this.params.loop || this.animating || (this.slideNext(), this.emit("scroll", e.raw)) : this.isBeginning && !this.params.loop || this.animating || (this.slidePrev(), this.emit("scroll", e.raw)), this.mousewheel.lastScrollTime = (new a.Date).getTime(), !1)
2315
+ },
2316
+ releaseScroll: function (e) {
2317
+ var t = this.params.mousewheel;
2318
+ if (e.direction < 0) {
2319
+ if (this.isEnd && !this.params.loop && t.releaseOnEdges) return !0
2320
+ } else if (this.isBeginning && !this.params.loop && t.releaseOnEdges) return !0;
2321
+ return !1
2322
+ },
2323
+ enable: function () {
2324
+ var e = re.event();
2325
+ if (this.params.cssMode) return this.wrapperEl.removeEventListener(e, this.mousewheel.handle), !0;
2326
+ if (!e) return !1;
2327
+ if (this.mousewheel.enabled) return !1;
2328
+ var t = this.$el;
2329
+ return "container" !== this.params.mousewheel.eventsTarged && (t = n(this.params.mousewheel.eventsTarged)), t.on("mouseenter", this.mousewheel.handleMouseEnter), t.on("mouseleave", this.mousewheel.handleMouseLeave), t.on(e, this.mousewheel.handle), this.mousewheel.enabled = !0, !0
2330
+ },
2331
+ disable: function () {
2332
+ var e = re.event();
2333
+ if (this.params.cssMode) return this.wrapperEl.addEventListener(e, this.mousewheel.handle), !0;
2334
+ if (!e) return !1;
2335
+ if (!this.mousewheel.enabled) return !1;
2336
+ var t = this.$el;
2337
+ return "container" !== this.params.mousewheel.eventsTarged && (t = n(this.params.mousewheel.eventsTarged)), t.off(e, this.mousewheel.handle), this.mousewheel.enabled = !1, !0
2338
+ }
2339
+ },
2340
+ ne = {
2341
+ update: function () {
2342
+ var e = this.params.navigation;
2343
+ if (!this.params.loop) {
2344
+ var t = this.navigation,
2345
+ i = t.$nextEl,
2346
+ s = t.$prevEl;
2347
+ s && s.length > 0 && (this.isBeginning ? s.addClass(e.disabledClass) : s.removeClass(e.disabledClass), s[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](e.lockClass)), i && i.length > 0 && (this.isEnd ? i.addClass(e.disabledClass) : i.removeClass(e.disabledClass), i[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](e.lockClass))
2348
+ }
2349
+ },
2350
+ onPrevClick: function (e) {
2351
+ e.preventDefault(), this.isBeginning && !this.params.loop || this.slidePrev()
2352
+ },
2353
+ onNextClick: function (e) {
2354
+ e.preventDefault(), this.isEnd && !this.params.loop || this.slideNext()
2355
+ },
2356
+ init: function () {
2357
+ var e, t, i = this.params.navigation;
2358
+ (i.nextEl || i.prevEl) && (i.nextEl && (e = n(i.nextEl), this.params.uniqueNavElements && "string" == typeof i.nextEl && e.length > 1 && 1 === this.$el.find(i.nextEl).length && (e = this.$el.find(i.nextEl))), i.prevEl && (t = n(i.prevEl), this.params.uniqueNavElements && "string" == typeof i.prevEl && t.length > 1 && 1 === this.$el.find(i.prevEl).length && (t = this.$el.find(i.prevEl))), e && e.length > 0 && e.on("click", this.navigation.onNextClick), t && t.length > 0 && t.on("click", this.navigation.onPrevClick), d.extend(this.navigation, {
2359
+ $nextEl: e,
2360
+ nextEl: e && e[0],
2361
+ $prevEl: t,
2362
+ prevEl: t && t[0]
2363
+ }))
2364
+ },
2365
+ destroy: function () {
2366
+ var e = this.navigation,
2367
+ t = e.$nextEl,
2368
+ i = e.$prevEl;
2369
+ t && t.length && (t.off("click", this.navigation.onNextClick), t.removeClass(this.params.navigation.disabledClass)), i && i.length && (i.off("click", this.navigation.onPrevClick), i.removeClass(this.params.navigation.disabledClass))
2370
+ }
2371
+ },
2372
+ oe = {
2373
+ update: function () {
2374
+ var e = this.rtl,
2375
+ t = this.params.pagination;
2376
+ if (t.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
2377
+ var i, s = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length,
2378
+ a = this.pagination.$el,
2379
+ r = this.params.loop ? Math.ceil((s - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length;
2380
+ if (this.params.loop ? ((i = Math.ceil((this.activeIndex - this.loopedSlides) / this.params.slidesPerGroup)) > s - 1 - 2 * this.loopedSlides && (i -= s - 2 * this.loopedSlides), i > r - 1 && (i -= r), i < 0 && "bullets" !== this.params.paginationType && (i = r + i)) : i = void 0 !== this.snapIndex ? this.snapIndex : this.activeIndex || 0, "bullets" === t.type && this.pagination.bullets && this.pagination.bullets.length > 0) {
2381
+ var o, l, d, h = this.pagination.bullets;
2382
+ if (t.dynamicBullets && (this.pagination.bulletSize = h.eq(0)[this.isHorizontal() ? "outerWidth" : "outerHeight"](!0), a.css(this.isHorizontal() ? "width" : "height", this.pagination.bulletSize * (t.dynamicMainBullets + 4) + "px"), t.dynamicMainBullets > 1 && void 0 !== this.previousIndex && (this.pagination.dynamicBulletIndex += i - this.previousIndex, this.pagination.dynamicBulletIndex > t.dynamicMainBullets - 1 ? this.pagination.dynamicBulletIndex = t.dynamicMainBullets - 1 : this.pagination.dynamicBulletIndex < 0 && (this.pagination.dynamicBulletIndex = 0)), o = i - this.pagination.dynamicBulletIndex, d = ((l = o + (Math.min(h.length, t.dynamicMainBullets) - 1)) + o) / 2), h.removeClass(t.bulletActiveClass + " " + t.bulletActiveClass + "-next " + t.bulletActiveClass + "-next-next " + t.bulletActiveClass + "-prev " + t.bulletActiveClass + "-prev-prev " + t.bulletActiveClass + "-main"), a.length > 1) h.each((function (e, s) {
2383
+ var a = n(s),
2384
+ r = a.index();
2385
+ r === i && a.addClass(t.bulletActiveClass), t.dynamicBullets && (r >= o && r <= l && a.addClass(t.bulletActiveClass + "-main"), r === o && a.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), r === l && a.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next"))
2386
+ }));
2387
+ else {
2388
+ var p = h.eq(i),
2389
+ c = p.index();
2390
+ if (p.addClass(t.bulletActiveClass), t.dynamicBullets) {
2391
+ for (var u = h.eq(o), v = h.eq(l), f = o; f <= l; f += 1) h.eq(f).addClass(t.bulletActiveClass + "-main");
2392
+ if (this.params.loop)
2393
+ if (c >= h.length - t.dynamicMainBullets) {
2394
+ for (var m = t.dynamicMainBullets; m >= 0; m -= 1) h.eq(h.length - m).addClass(t.bulletActiveClass + "-main");
2395
+ h.eq(h.length - t.dynamicMainBullets - 1).addClass(t.bulletActiveClass + "-prev")
2396
+ } else u.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), v.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next");
2397
+ else u.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), v.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next")
2398
+ }
2399
+ }
2400
+ if (t.dynamicBullets) {
2401
+ var g = Math.min(h.length, t.dynamicMainBullets + 4),
2402
+ b = (this.pagination.bulletSize * g - this.pagination.bulletSize) / 2 - d * this.pagination.bulletSize,
2403
+ w = e ? "right" : "left";
2404
+ h.css(this.isHorizontal() ? w : "top", b + "px")
2405
+ }
2406
+ }
2407
+ if ("fraction" === t.type && (a.find("." + t.currentClass).text(t.formatFractionCurrent(i + 1)), a.find("." + t.totalClass).text(t.formatFractionTotal(r))), "progressbar" === t.type) {
2408
+ var y;
2409
+ y = t.progressbarOpposite ? this.isHorizontal() ? "vertical" : "horizontal" : this.isHorizontal() ? "horizontal" : "vertical";
2410
+ var x = (i + 1) / r,
2411
+ E = 1,
2412
+ T = 1;
2413
+ "horizontal" === y ? E = x : T = x, a.find("." + t.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + E + ") scaleY(" + T + ")").transition(this.params.speed)
2414
+ }
2415
+ "custom" === t.type && t.renderCustom ? (a.html(t.renderCustom(this, i + 1, r)), this.emit("paginationRender", this, a[0])) : this.emit("paginationUpdate", this, a[0]), a[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](t.lockClass)
2416
+ }
2417
+ },
2418
+ render: function () {
2419
+ var e = this.params.pagination;
2420
+ if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
2421
+ var t = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length,
2422
+ i = this.pagination.$el,
2423
+ s = "";
2424
+ if ("bullets" === e.type) {
2425
+ for (var a = this.params.loop ? Math.ceil((t - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length, r = 0; r < a; r += 1) e.renderBullet ? s += e.renderBullet.call(this, r, e.bulletClass) : s += "<" + e.bulletElement + ' class="' + e.bulletClass + '"></' + e.bulletElement + ">";
2426
+ i.html(s), this.pagination.bullets = i.find("." + e.bulletClass)
2427
+ }
2428
+ "fraction" === e.type && (s = e.renderFraction ? e.renderFraction.call(this, e.currentClass, e.totalClass) : '<span class="' + e.currentClass + '"></span> / <span class="' + e.totalClass + '"></span>', i.html(s)), "progressbar" === e.type && (s = e.renderProgressbar ? e.renderProgressbar.call(this, e.progressbarFillClass) : '<span class="' + e.progressbarFillClass + '"></span>', i.html(s)), "custom" !== e.type && this.emit("paginationRender", this.pagination.$el[0])
2429
+ }
2430
+ },
2431
+ init: function () {
2432
+ var e = this,
2433
+ t = e.params.pagination;
2434
+ if (t.el) {
2435
+ var i = n(t.el);
2436
+ 0 !== i.length && (e.params.uniqueNavElements && "string" == typeof t.el && i.length > 1 && (i = e.$el.find(t.el)), "bullets" === t.type && t.clickable && i.addClass(t.clickableClass), i.addClass(t.modifierClass + t.type), "bullets" === t.type && t.dynamicBullets && (i.addClass("" + t.modifierClass + t.type + "-dynamic"), e.pagination.dynamicBulletIndex = 0, t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite && i.addClass(t.progressbarOppositeClass), t.clickable && i.on("click", "." + t.bulletClass, (function (t) {
2437
+ t.preventDefault();
2438
+ var i = n(this).index() * e.params.slidesPerGroup;
2439
+ e.params.loop && (i += e.loopedSlides), e.slideTo(i)
2440
+ })), d.extend(e.pagination, {
2441
+ $el: i,
2442
+ el: i[0]
2443
+ }))
2444
+ }
2445
+ },
2446
+ destroy: function () {
2447
+ var e = this.params.pagination;
2448
+ if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
2449
+ var t = this.pagination.$el;
2450
+ t.removeClass(e.hiddenClass), t.removeClass(e.modifierClass + e.type), this.pagination.bullets && this.pagination.bullets.removeClass(e.bulletActiveClass), e.clickable && t.off("click", "." + e.bulletClass)
2451
+ }
2452
+ }
2453
+ },
2454
+ le = {
2455
+ setTranslate: function () {
2456
+ if (this.params.scrollbar.el && this.scrollbar.el) {
2457
+ var e = this.scrollbar,
2458
+ t = this.rtlTranslate,
2459
+ i = this.progress,
2460
+ s = e.dragSize,
2461
+ a = e.trackSize,
2462
+ r = e.$dragEl,
2463
+ n = e.$el,
2464
+ o = this.params.scrollbar,
2465
+ l = s,
2466
+ d = (a - s) * i;
2467
+ t ? (d = -d) > 0 ? (l = s - d, d = 0) : -d + s > a && (l = a + d) : d < 0 ? (l = s + d, d = 0) : d + s > a && (l = a - d), this.isHorizontal() ? (r.transform("translate3d(" + d + "px, 0, 0)"), r[0].style.width = l + "px") : (r.transform("translate3d(0px, " + d + "px, 0)"), r[0].style.height = l + "px"), o.hide && (clearTimeout(this.scrollbar.timeout), n[0].style.opacity = 1, this.scrollbar.timeout = setTimeout((function () {
2468
+ n[0].style.opacity = 0, n.transition(400)
2469
+ }), 1e3))
2470
+ }
2471
+ },
2472
+ setTransition: function (e) {
2473
+ this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e)
2474
+ },
2475
+ updateSize: function () {
2476
+ if (this.params.scrollbar.el && this.scrollbar.el) {
2477
+ var e = this.scrollbar,
2478
+ t = e.$dragEl,
2479
+ i = e.$el;
2480
+ t[0].style.width = "", t[0].style.height = "";
2481
+ var s, a = this.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
2482
+ r = this.size / this.virtualSize,
2483
+ n = r * (a / this.size);
2484
+ s = "auto" === this.params.scrollbar.dragSize ? a * r : parseInt(this.params.scrollbar.dragSize, 10), this.isHorizontal() ? t[0].style.width = s + "px" : t[0].style.height = s + "px", i[0].style.display = r >= 1 ? "none" : "", this.params.scrollbar.hide && (i[0].style.opacity = 0), d.extend(e, {
2485
+ trackSize: a,
2486
+ divider: r,
2487
+ moveDivider: n,
2488
+ dragSize: s
2489
+ }), e.$el[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](this.params.scrollbar.lockClass)
2490
+ }
2491
+ },
2492
+ getPointerPosition: function (e) {
2493
+ return this.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientX : e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientY : e.clientY
2494
+ },
2495
+ setDragPosition: function (e) {
2496
+ var t, i = this.scrollbar,
2497
+ s = this.rtlTranslate,
2498
+ a = i.$el,
2499
+ r = i.dragSize,
2500
+ n = i.trackSize,
2501
+ o = i.dragStartPos;
2502
+ t = (i.getPointerPosition(e) - a.offset()[this.isHorizontal() ? "left" : "top"] - (null !== o ? o : r / 2)) / (n - r), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t);
2503
+ var l = this.minTranslate() + (this.maxTranslate() - this.minTranslate()) * t;
2504
+ this.updateProgress(l), this.setTranslate(l), this.updateActiveIndex(), this.updateSlidesClasses()
2505
+ },
2506
+ onDragStart: function (e) {
2507
+ var t = this.params.scrollbar,
2508
+ i = this.scrollbar,
2509
+ s = this.$wrapperEl,
2510
+ a = i.$el,
2511
+ r = i.$dragEl;
2512
+ this.scrollbar.isTouched = !0, this.scrollbar.dragStartPos = e.target === r[0] || e.target === r ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[this.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(), s.transition(100), r.transition(100), i.setDragPosition(e), clearTimeout(this.scrollbar.dragTimeout), a.transition(0), t.hide && a.css("opacity", 1), this.params.cssMode && this.$wrapperEl.css("scroll-snap-type", "none"), this.emit("scrollbarDragStart", e)
2513
+ },
2514
+ onDragMove: function (e) {
2515
+ var t = this.scrollbar,
2516
+ i = this.$wrapperEl,
2517
+ s = t.$el,
2518
+ a = t.$dragEl;
2519
+ this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, t.setDragPosition(e), i.transition(0), s.transition(0), a.transition(0), this.emit("scrollbarDragMove", e))
2520
+ },
2521
+ onDragEnd: function (e) {
2522
+ var t = this.params.scrollbar,
2523
+ i = this.scrollbar,
2524
+ s = this.$wrapperEl,
2525
+ a = i.$el;
2526
+ this.scrollbar.isTouched && (this.scrollbar.isTouched = !1, this.params.cssMode && (this.$wrapperEl.css("scroll-snap-type", ""), s.transition("")), t.hide && (clearTimeout(this.scrollbar.dragTimeout), this.scrollbar.dragTimeout = d.nextTick((function () {
2527
+ a.css("opacity", 0), a.transition(400)
2528
+ }), 1e3)), this.emit("scrollbarDragEnd", e), t.snapOnRelease && this.slideToClosest())
2529
+ },
2530
+ enableDraggable: function () {
2531
+ if (this.params.scrollbar.el) {
2532
+ var e = this.scrollbar,
2533
+ t = this.touchEventsTouch,
2534
+ s = this.touchEventsDesktop,
2535
+ a = this.params,
2536
+ r = e.$el[0],
2537
+ n = !(!h.passiveListener || !a.passiveListeners) && {
2538
+ passive: !1,
2539
+ capture: !1
2540
+ },
2541
+ o = !(!h.passiveListener || !a.passiveListeners) && {
2542
+ passive: !0,
2543
+ capture: !1
2544
+ };
2545
+ h.touch ? (r.addEventListener(t.start, this.scrollbar.onDragStart, n), r.addEventListener(t.move, this.scrollbar.onDragMove, n), r.addEventListener(t.end, this.scrollbar.onDragEnd, o)) : (r.addEventListener(s.start, this.scrollbar.onDragStart, n), i.addEventListener(s.move, this.scrollbar.onDragMove, n), i.addEventListener(s.end, this.scrollbar.onDragEnd, o))
2546
+ }
2547
+ },
2548
+ disableDraggable: function () {
2549
+ if (this.params.scrollbar.el) {
2550
+ var e = this.scrollbar,
2551
+ t = this.touchEventsTouch,
2552
+ s = this.touchEventsDesktop,
2553
+ a = this.params,
2554
+ r = e.$el[0],
2555
+ n = !(!h.passiveListener || !a.passiveListeners) && {
2556
+ passive: !1,
2557
+ capture: !1
2558
+ },
2559
+ o = !(!h.passiveListener || !a.passiveListeners) && {
2560
+ passive: !0,
2561
+ capture: !1
2562
+ };
2563
+ h.touch ? (r.removeEventListener(t.start, this.scrollbar.onDragStart, n), r.removeEventListener(t.move, this.scrollbar.onDragMove, n), r.removeEventListener(t.end, this.scrollbar.onDragEnd, o)) : (r.removeEventListener(s.start, this.scrollbar.onDragStart, n), i.removeEventListener(s.move, this.scrollbar.onDragMove, n), i.removeEventListener(s.end, this.scrollbar.onDragEnd, o))
2564
+ }
2565
+ },
2566
+ init: function () {
2567
+ if (this.params.scrollbar.el) {
2568
+ var e = this.scrollbar,
2569
+ t = this.$el,
2570
+ i = this.params.scrollbar,
2571
+ s = n(i.el);
2572
+ this.params.uniqueNavElements && "string" == typeof i.el && s.length > 1 && 1 === t.find(i.el).length && (s = t.find(i.el));
2573
+ var a = s.find("." + this.params.scrollbar.dragClass);
2574
+ 0 === a.length && (a = n('<div class="' + this.params.scrollbar.dragClass + '"></div>'), s.append(a)), d.extend(e, {
2575
+ $el: s,
2576
+ el: s[0],
2577
+ $dragEl: a,
2578
+ dragEl: a[0]
2579
+ }), i.draggable && e.enableDraggable()
2580
+ }
2581
+ },
2582
+ destroy: function () {
2583
+ this.scrollbar.disableDraggable()
2584
+ }
2585
+ },
2586
+ de = {
2587
+ setTransform: function (e, t) {
2588
+ var i = this.rtl,
2589
+ s = n(e),
2590
+ a = i ? -1 : 1,
2591
+ r = s.attr("data-swiper-parallax") || "0",
2592
+ o = s.attr("data-swiper-parallax-x"),
2593
+ l = s.attr("data-swiper-parallax-y"),
2594
+ d = s.attr("data-swiper-parallax-scale"),
2595
+ h = s.attr("data-swiper-parallax-opacity");
2596
+ if (o || l ? (o = o || "0", l = l || "0") : this.isHorizontal() ? (o = r, l = "0") : (l = r, o = "0"), o = o.indexOf("%") >= 0 ? parseInt(o, 10) * t * a + "%" : o * t * a + "px", l = l.indexOf("%") >= 0 ? parseInt(l, 10) * t + "%" : l * t + "px", null != h) {
2597
+ var p = h - (h - 1) * (1 - Math.abs(t));
2598
+ s[0].style.opacity = p
2599
+ }
2600
+ if (null == d) s.transform("translate3d(" + o + ", " + l + ", 0px)");
2601
+ else {
2602
+ var c = d - (d - 1) * (1 - Math.abs(t));
2603
+ s.transform("translate3d(" + o + ", " + l + ", 0px) scale(" + c + ")")
2604
+ }
2605
+ },
2606
+ setTranslate: function () {
2607
+ var e = this,
2608
+ t = e.$el,
2609
+ i = e.slides,
2610
+ s = e.progress,
2611
+ a = e.snapGrid;
2612
+ t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
2613
+ e.parallax.setTransform(i, s)
2614
+ })), i.each((function (t, i) {
2615
+ var r = i.progress;
2616
+ e.params.slidesPerGroup > 1 && "auto" !== e.params.slidesPerView && (r += Math.ceil(t / 2) - s * (a.length - 1)), r = Math.min(Math.max(r, -1), 1), n(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
2617
+ e.parallax.setTransform(i, r)
2618
+ }))
2619
+ }))
2620
+ },
2621
+ setTransition: function (e) {
2622
+ void 0 === e && (e = this.params.speed);
2623
+ this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
2624
+ var s = n(i),
2625
+ a = parseInt(s.attr("data-swiper-parallax-duration"), 10) || e;
2626
+ 0 === e && (a = 0), s.transition(a)
2627
+ }))
2628
+ }
2629
+ },
2630
+ he = {
2631
+ getDistanceBetweenTouches: function (e) {
2632
+ if (e.targetTouches.length < 2) return 1;
2633
+ var t = e.targetTouches[0].pageX,
2634
+ i = e.targetTouches[0].pageY,
2635
+ s = e.targetTouches[1].pageX,
2636
+ a = e.targetTouches[1].pageY;
2637
+ return Math.sqrt(Math.pow(s - t, 2) + Math.pow(a - i, 2))
2638
+ },
2639
+ onGestureStart: function (e) {
2640
+ var t = this.params.zoom,
2641
+ i = this.zoom,
2642
+ s = i.gesture;
2643
+ if (i.fakeGestureTouched = !1, i.fakeGestureMoved = !1, !h.gestures) {
2644
+ if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) return;
2645
+ i.fakeGestureTouched = !0, s.scaleStart = he.getDistanceBetweenTouches(e)
2646
+ }
2647
+ s.$slideEl && s.$slideEl.length || (s.$slideEl = n(e.target).closest("." + this.params.slideClass), 0 === s.$slideEl.length && (s.$slideEl = this.slides.eq(this.activeIndex)), s.$imageEl = s.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), s.$imageWrapEl = s.$imageEl.parent("." + t.containerClass), s.maxRatio = s.$imageWrapEl.attr("data-swiper-zoom") || t.maxRatio, 0 !== s.$imageWrapEl.length) ? (s.$imageEl && s.$imageEl.transition(0), this.zoom.isScaling = !0) : s.$imageEl = void 0
2648
+ },
2649
+ onGestureChange: function (e) {
2650
+ var t = this.params.zoom,
2651
+ i = this.zoom,
2652
+ s = i.gesture;
2653
+ if (!h.gestures) {
2654
+ if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return;
2655
+ i.fakeGestureMoved = !0, s.scaleMove = he.getDistanceBetweenTouches(e)
2656
+ }
2657
+ s.$imageEl && 0 !== s.$imageEl.length && (i.scale = h.gestures ? e.scale * i.currentScale : s.scaleMove / s.scaleStart * i.currentScale, i.scale > s.maxRatio && (i.scale = s.maxRatio - 1 + Math.pow(i.scale - s.maxRatio + 1, .5)), i.scale < t.minRatio && (i.scale = t.minRatio + 1 - Math.pow(t.minRatio - i.scale + 1, .5)), s.$imageEl.transform("translate3d(0,0,0) scale(" + i.scale + ")"))
2658
+ },
2659
+ onGestureEnd: function (e) {
2660
+ var t = this.params.zoom,
2661
+ i = this.zoom,
2662
+ s = i.gesture;
2663
+ if (!h.gestures) {
2664
+ if (!i.fakeGestureTouched || !i.fakeGestureMoved) return;
2665
+ if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !A.android) return;
2666
+ i.fakeGestureTouched = !1, i.fakeGestureMoved = !1
2667
+ }
2668
+ s.$imageEl && 0 !== s.$imageEl.length && (i.scale = Math.max(Math.min(i.scale, s.maxRatio), t.minRatio), s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale(" + i.scale + ")"), i.currentScale = i.scale, i.isScaling = !1, 1 === i.scale && (s.$slideEl = void 0))
2669
+ },
2670
+ onTouchStart: function (e) {
2671
+ var t = this.zoom,
2672
+ i = t.gesture,
2673
+ s = t.image;
2674
+ i.$imageEl && 0 !== i.$imageEl.length && (s.isTouched || (A.android && e.cancelable && e.preventDefault(), s.isTouched = !0, s.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY))
2675
+ },
2676
+ onTouchMove: function (e) {
2677
+ var t = this.zoom,
2678
+ i = t.gesture,
2679
+ s = t.image,
2680
+ a = t.velocity;
2681
+ if (i.$imageEl && 0 !== i.$imageEl.length && (this.allowClick = !1, s.isTouched && i.$slideEl)) {
2682
+ s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s.startX = d.getTranslate(i.$imageWrapEl[0], "x") || 0, s.startY = d.getTranslate(i.$imageWrapEl[0], "y") || 0, i.slideWidth = i.$slideEl[0].offsetWidth, i.slideHeight = i.$slideEl[0].offsetHeight, i.$imageWrapEl.transition(0), this.rtl && (s.startX = -s.startX, s.startY = -s.startY));
2683
+ var r = s.width * t.scale,
2684
+ n = s.height * t.scale;
2685
+ if (!(r < i.slideWidth && n < i.slideHeight)) {
2686
+ if (s.minX = Math.min(i.slideWidth / 2 - r / 2, 0), s.maxX = -s.minX, s.minY = Math.min(i.slideHeight / 2 - n / 2, 0), s.maxY = -s.minY, s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved && !t.isScaling) {
2687
+ if (this.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) return void(s.isTouched = !1);
2688
+ if (!this.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) return void(s.isTouched = !1)
2689
+ }
2690
+ e.cancelable && e.preventDefault(), e.stopPropagation(), s.isMoved = !0, s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY, s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, .8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), a.prevPositionX || (a.prevPositionX = s.touchesCurrent.x), a.prevPositionY || (a.prevPositionY = s.touchesCurrent.y), a.prevTime || (a.prevTime = Date.now()), a.x = (s.touchesCurrent.x - a.prevPositionX) / (Date.now() - a.prevTime) / 2, a.y = (s.touchesCurrent.y - a.prevPositionY) / (Date.now() - a.prevTime) / 2, Math.abs(s.touchesCurrent.x - a.prevPositionX) < 2 && (a.x = 0), Math.abs(s.touchesCurrent.y - a.prevPositionY) < 2 && (a.y = 0), a.prevPositionX = s.touchesCurrent.x, a.prevPositionY = s.touchesCurrent.y, a.prevTime = Date.now(), i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)")
2691
+ }
2692
+ }
2693
+ },
2694
+ onTouchEnd: function () {
2695
+ var e = this.zoom,
2696
+ t = e.gesture,
2697
+ i = e.image,
2698
+ s = e.velocity;
2699
+ if (t.$imageEl && 0 !== t.$imageEl.length) {
2700
+ if (!i.isTouched || !i.isMoved) return i.isTouched = !1, void(i.isMoved = !1);
2701
+ i.isTouched = !1, i.isMoved = !1;
2702
+ var a = 300,
2703
+ r = 300,
2704
+ n = s.x * a,
2705
+ o = i.currentX + n,
2706
+ l = s.y * r,
2707
+ d = i.currentY + l;
2708
+ 0 !== s.x && (a = Math.abs((o - i.currentX) / s.x)), 0 !== s.y && (r = Math.abs((d - i.currentY) / s.y));
2709
+ var h = Math.max(a, r);
2710
+ i.currentX = o, i.currentY = d;
2711
+ var p = i.width * e.scale,
2712
+ c = i.height * e.scale;
2713
+ i.minX = Math.min(t.slideWidth / 2 - p / 2, 0), i.maxX = -i.minX, i.minY = Math.min(t.slideHeight / 2 - c / 2, 0), i.maxY = -i.minY, i.currentX = Math.max(Math.min(i.currentX, i.maxX), i.minX), i.currentY = Math.max(Math.min(i.currentY, i.maxY), i.minY), t.$imageWrapEl.transition(h).transform("translate3d(" + i.currentX + "px, " + i.currentY + "px,0)")
2714
+ }
2715
+ },
2716
+ onTransitionEnd: function () {
2717
+ var e = this.zoom,
2718
+ t = e.gesture;
2719
+ t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl && t.$imageEl.transform("translate3d(0,0,0) scale(1)"), t.$imageWrapEl && t.$imageWrapEl.transform("translate3d(0,0,0)"), e.scale = 1, e.currentScale = 1, t.$slideEl = void 0, t.$imageEl = void 0, t.$imageWrapEl = void 0)
2720
+ },
2721
+ toggle: function (e) {
2722
+ var t = this.zoom;
2723
+ t.scale && 1 !== t.scale ? t.out() : t.in(e)
2724
+ },
2725
+ in: function (e) {
2726
+ var t, i, s, a, r, n, o, l, d, h, p, c, u, v, f, m, g = this.zoom,
2727
+ b = this.params.zoom,
2728
+ w = g.gesture,
2729
+ y = g.image;
2730
+ (w.$slideEl || (this.params.virtual && this.params.virtual.enabled && this.virtual ? w.$slideEl = this.$wrapperEl.children("." + this.params.slideActiveClass) : w.$slideEl = this.slides.eq(this.activeIndex), w.$imageEl = w.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), w.$imageWrapEl = w.$imageEl.parent("." + b.containerClass)), w.$imageEl && 0 !== w.$imageEl.length) && (w.$slideEl.addClass("" + b.zoomedSlideClass), void 0 === y.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, i = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY) : (t = y.touchesStart.x, i = y.touchesStart.y), g.scale = w.$imageWrapEl.attr("data-swiper-zoom") || b.maxRatio, g.currentScale = w.$imageWrapEl.attr("data-swiper-zoom") || b.maxRatio, e ? (f = w.$slideEl[0].offsetWidth, m = w.$slideEl[0].offsetHeight, s = w.$slideEl.offset().left + f / 2 - t, a = w.$slideEl.offset().top + m / 2 - i, o = w.$imageEl[0].offsetWidth, l = w.$imageEl[0].offsetHeight, d = o * g.scale, h = l * g.scale, u = -(p = Math.min(f / 2 - d / 2, 0)), v = -(c = Math.min(m / 2 - h / 2, 0)), (r = s * g.scale) < p && (r = p), r > u && (r = u), (n = a * g.scale) < c && (n = c), n > v && (n = v)) : (r = 0, n = 0), w.$imageWrapEl.transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), w.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + g.scale + ")"))
2731
+ },
2732
+ out: function () {
2733
+ var e = this.zoom,
2734
+ t = this.params.zoom,
2735
+ i = e.gesture;
2736
+ i.$slideEl || (this.params.virtual && this.params.virtual.enabled && this.virtual ? i.$slideEl = this.$wrapperEl.children("." + this.params.slideActiveClass) : i.$slideEl = this.slides.eq(this.activeIndex), i.$imageEl = i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), i.$imageWrapEl = i.$imageEl.parent("." + t.containerClass)), i.$imageEl && 0 !== i.$imageEl.length && (e.scale = 1, e.currentScale = 1, i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + t.zoomedSlideClass), i.$slideEl = void 0)
2737
+ },
2738
+ enable: function () {
2739
+ var e = this.zoom;
2740
+ if (!e.enabled) {
2741
+ e.enabled = !0;
2742
+ var t = !("touchstart" !== this.touchEvents.start || !h.passiveListener || !this.params.passiveListeners) && {
2743
+ passive: !0,
2744
+ capture: !1
2745
+ },
2746
+ i = !h.passiveListener || {
2747
+ passive: !1,
2748
+ capture: !0
2749
+ },
2750
+ s = "." + this.params.slideClass;
2751
+ h.gestures ? (this.$wrapperEl.on("gesturestart", s, e.onGestureStart, t), this.$wrapperEl.on("gesturechange", s, e.onGestureChange, t), this.$wrapperEl.on("gestureend", s, e.onGestureEnd, t)) : "touchstart" === this.touchEvents.start && (this.$wrapperEl.on(this.touchEvents.start, s, e.onGestureStart, t), this.$wrapperEl.on(this.touchEvents.move, s, e.onGestureChange, i), this.$wrapperEl.on(this.touchEvents.end, s, e.onGestureEnd, t), this.touchEvents.cancel && this.$wrapperEl.on(this.touchEvents.cancel, s, e.onGestureEnd, t)), this.$wrapperEl.on(this.touchEvents.move, "." + this.params.zoom.containerClass, e.onTouchMove, i)
2752
+ }
2753
+ },
2754
+ disable: function () {
2755
+ var e = this.zoom;
2756
+ if (e.enabled) {
2757
+ this.zoom.enabled = !1;
2758
+ var t = !("touchstart" !== this.touchEvents.start || !h.passiveListener || !this.params.passiveListeners) && {
2759
+ passive: !0,
2760
+ capture: !1
2761
+ },
2762
+ i = !h.passiveListener || {
2763
+ passive: !1,
2764
+ capture: !0
2765
+ },
2766
+ s = "." + this.params.slideClass;
2767
+ h.gestures ? (this.$wrapperEl.off("gesturestart", s, e.onGestureStart, t), this.$wrapperEl.off("gesturechange", s, e.onGestureChange, t), this.$wrapperEl.off("gestureend", s, e.onGestureEnd, t)) : "touchstart" === this.touchEvents.start && (this.$wrapperEl.off(this.touchEvents.start, s, e.onGestureStart, t), this.$wrapperEl.off(this.touchEvents.move, s, e.onGestureChange, i), this.$wrapperEl.off(this.touchEvents.end, s, e.onGestureEnd, t), this.touchEvents.cancel && this.$wrapperEl.off(this.touchEvents.cancel, s, e.onGestureEnd, t)), this.$wrapperEl.off(this.touchEvents.move, "." + this.params.zoom.containerClass, e.onTouchMove, i)
2768
+ }
2769
+ }
2770
+ },
2771
+ pe = {
2772
+ loadInSlide: function (e, t) {
2773
+ void 0 === t && (t = !0);
2774
+ var i = this,
2775
+ s = i.params.lazy;
2776
+ if (void 0 !== e && 0 !== i.slides.length) {
2777
+ var a = i.virtual && i.params.virtual.enabled ? i.$wrapperEl.children("." + i.params.slideClass + '[data-swiper-slide-index="' + e + '"]') : i.slides.eq(e),
2778
+ r = a.find("." + s.elementClass + ":not(." + s.loadedClass + "):not(." + s.loadingClass + ")");
2779
+ !a.hasClass(s.elementClass) || a.hasClass(s.loadedClass) || a.hasClass(s.loadingClass) || (r = r.add(a[0])), 0 !== r.length && r.each((function (e, r) {
2780
+ var o = n(r);
2781
+ o.addClass(s.loadingClass);
2782
+ var l = o.attr("data-background"),
2783
+ d = o.attr("data-src"),
2784
+ h = o.attr("data-srcset"),
2785
+ p = o.attr("data-sizes"),
2786
+ c = o.parent("picture");
2787
+ i.loadImage(o[0], d || l, h, p, !1, (function () {
2788
+ if (null != i && i && (!i || i.params) && !i.destroyed) {
2789
+ if (l ? (o.css("background-image", 'url("' + l + '")'), o.removeAttr("data-background")) : (h && (o.attr("srcset", h), o.removeAttr("data-srcset")), p && (o.attr("sizes", p), o.removeAttr("data-sizes")), c.length && c.children("source").each((function (e, t) {
2790
+ var i = n(t);
2791
+ i.attr("data-srcset") && (i.attr("srcset", i.attr("data-srcset")), i.removeAttr("data-srcset"))
2792
+ })), d && (o.attr("src", d), o.removeAttr("data-src"))), o.addClass(s.loadedClass).removeClass(s.loadingClass), a.find("." + s.preloaderClass).remove(), i.params.loop && t) {
2793
+ var e = a.attr("data-swiper-slide-index");
2794
+ if (a.hasClass(i.params.slideDuplicateClass)) {
2795
+ var r = i.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + i.params.slideDuplicateClass + ")");
2796
+ i.lazy.loadInSlide(r.index(), !1)
2797
+ } else {
2798
+ var u = i.$wrapperEl.children("." + i.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]');
2799
+ i.lazy.loadInSlide(u.index(), !1)
2800
+ }
2801
+ }
2802
+ i.emit("lazyImageReady", a[0], o[0]), i.params.autoHeight && i.updateAutoHeight()
2803
+ }
2804
+ })), i.emit("lazyImageLoad", a[0], o[0])
2805
+ }))
2806
+ }
2807
+ },
2808
+ load: function () {
2809
+ var e = this,
2810
+ t = e.$wrapperEl,
2811
+ i = e.params,
2812
+ s = e.slides,
2813
+ a = e.activeIndex,
2814
+ r = e.virtual && i.virtual.enabled,
2815
+ o = i.lazy,
2816
+ l = i.slidesPerView;
2817
+
2818
+ function d(e) {
2819
+ if (r) {
2820
+ if (t.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0
2821
+ } else if (s[e]) return !0;
2822
+ return !1
2823
+ }
2824
+
2825
+ function h(e) {
2826
+ return r ? n(e).attr("data-swiper-slide-index") : n(e).index()
2827
+ }
2828
+ if ("auto" === l && (l = 0), e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !0), e.params.watchSlidesVisibility) t.children("." + i.slideVisibleClass).each((function (t, i) {
2829
+ var s = r ? n(i).attr("data-swiper-slide-index") : n(i).index();
2830
+ e.lazy.loadInSlide(s)
2831
+ }));
2832
+ else if (l > 1)
2833
+ for (var p = a; p < a + l; p += 1) d(p) && e.lazy.loadInSlide(p);
2834
+ else e.lazy.loadInSlide(a);
2835
+ if (o.loadPrevNext)
2836
+ if (l > 1 || o.loadPrevNextAmount && o.loadPrevNextAmount > 1) {
2837
+ for (var c = o.loadPrevNextAmount, u = l, v = Math.min(a + u + Math.max(c, u), s.length), f = Math.max(a - Math.max(u, c), 0), m = a + l; m < v; m += 1) d(m) && e.lazy.loadInSlide(m);
2838
+ for (var g = f; g < a; g += 1) d(g) && e.lazy.loadInSlide(g)
2839
+ } else {
2840
+ var b = t.children("." + i.slideNextClass);
2841
+ b.length > 0 && e.lazy.loadInSlide(h(b));
2842
+ var w = t.children("." + i.slidePrevClass);
2843
+ w.length > 0 && e.lazy.loadInSlide(h(w))
2844
+ }
2845
+ }
2846
+ },
2847
+ ce = {
2848
+ LinearSpline: function (e, t) {
2849
+ var i, s, a, r, n, o = function (e, t) {
2850
+ for (s = -1, i = e.length; i - s > 1;) e[a = i + s >> 1] <= t ? s = a : i = a;
2851
+ return i
2852
+ };
2853
+ return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function (e) {
2854
+ return e ? (n = o(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0
2855
+ }, this
2856
+ },
2857
+ getInterpolateFunction: function (e) {
2858
+ this.controller.spline || (this.controller.spline = this.params.loop ? new ce.LinearSpline(this.slidesGrid, e.slidesGrid) : new ce.LinearSpline(this.snapGrid, e.snapGrid))
2859
+ },
2860
+ setTranslate: function (e, t) {
2861
+ var i, s, a = this,
2862
+ r = a.controller.control;
2863
+
2864
+ function n(e) {
2865
+ var t = a.rtlTranslate ? -a.translate : a.translate;
2866
+ "slide" === a.params.controller.by && (a.controller.getInterpolateFunction(e), s = -a.controller.spline.interpolate(-t)), s && "container" !== a.params.controller.by || (i = (e.maxTranslate() - e.minTranslate()) / (a.maxTranslate() - a.minTranslate()), s = (t - a.minTranslate()) * i + e.minTranslate()), a.params.controller.inverse && (s = e.maxTranslate() - s), e.updateProgress(s), e.setTranslate(s, a), e.updateActiveIndex(), e.updateSlidesClasses()
2867
+ }
2868
+ if (Array.isArray(r))
2869
+ for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof j && n(r[o]);
2870
+ else r instanceof j && t !== r && n(r)
2871
+ },
2872
+ setTransition: function (e, t) {
2873
+ var i, s = this,
2874
+ a = s.controller.control;
2875
+
2876
+ function r(t) {
2877
+ t.setTransition(e, s), 0 !== e && (t.transitionStart(), t.params.autoHeight && d.nextTick((function () {
2878
+ t.updateAutoHeight()
2879
+ })), t.$wrapperEl.transitionEnd((function () {
2880
+ a && (t.params.loop && "slide" === s.params.controller.by && t.loopFix(), t.transitionEnd())
2881
+ })))
2882
+ }
2883
+ if (Array.isArray(a))
2884
+ for (i = 0; i < a.length; i += 1) a[i] !== t && a[i] instanceof j && r(a[i]);
2885
+ else a instanceof j && t !== a && r(a)
2886
+ }
2887
+ },
2888
+ ue = {
2889
+ makeElFocusable: function (e) {
2890
+ return e.attr("tabIndex", "0"), e
2891
+ },
2892
+ makeElNotFocusable: function (e) {
2893
+ return e.attr("tabIndex", "-1"), e
2894
+ },
2895
+ addElRole: function (e, t) {
2896
+ return e.attr("role", t), e
2897
+ },
2898
+ addElLabel: function (e, t) {
2899
+ return e.attr("aria-label", t), e
2900
+ },
2901
+ disableEl: function (e) {
2902
+ return e.attr("aria-disabled", !0), e
2903
+ },
2904
+ enableEl: function (e) {
2905
+ return e.attr("aria-disabled", !1), e
2906
+ },
2907
+ onEnterKey: function (e) {
2908
+ var t = this.params.a11y;
2909
+ if (13 === e.keyCode) {
2910
+ var i = n(e.target);
2911
+ this.navigation && this.navigation.$nextEl && i.is(this.navigation.$nextEl) && (this.isEnd && !this.params.loop || this.slideNext(), this.isEnd ? this.a11y.notify(t.lastSlideMessage) : this.a11y.notify(t.nextSlideMessage)), this.navigation && this.navigation.$prevEl && i.is(this.navigation.$prevEl) && (this.isBeginning && !this.params.loop || this.slidePrev(), this.isBeginning ? this.a11y.notify(t.firstSlideMessage) : this.a11y.notify(t.prevSlideMessage)), this.pagination && i.is("." + this.params.pagination.bulletClass) && i[0].click()
2912
+ }
2913
+ },
2914
+ notify: function (e) {
2915
+ var t = this.a11y.liveRegion;
2916
+ 0 !== t.length && (t.html(""), t.html(e))
2917
+ },
2918
+ updateNavigation: function () {
2919
+ if (!this.params.loop && this.navigation) {
2920
+ var e = this.navigation,
2921
+ t = e.$nextEl,
2922
+ i = e.$prevEl;
2923
+ i && i.length > 0 && (this.isBeginning ? (this.a11y.disableEl(i), this.a11y.makeElNotFocusable(i)) : (this.a11y.enableEl(i), this.a11y.makeElFocusable(i))), t && t.length > 0 && (this.isEnd ? (this.a11y.disableEl(t), this.a11y.makeElNotFocusable(t)) : (this.a11y.enableEl(t), this.a11y.makeElFocusable(t)))
2924
+ }
2925
+ },
2926
+ updatePagination: function () {
2927
+ var e = this,
2928
+ t = e.params.a11y;
2929
+ e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.bullets.each((function (i, s) {
2930
+ var a = n(s);
2931
+ e.a11y.makeElFocusable(a), e.a11y.addElRole(a, "button"), e.a11y.addElLabel(a, t.paginationBulletMessage.replace(/\{\{index\}\}/, a.index() + 1))
2932
+ }))
2933
+ },
2934
+ init: function () {
2935
+ this.$el.append(this.a11y.liveRegion);
2936
+ var e, t, i = this.params.a11y;
2937
+ this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && (this.a11y.makeElFocusable(e), this.a11y.addElRole(e, "button"), this.a11y.addElLabel(e, i.nextSlideMessage), e.on("keydown", this.a11y.onEnterKey)), t && (this.a11y.makeElFocusable(t), this.a11y.addElRole(t, "button"), this.a11y.addElLabel(t, i.prevSlideMessage), t.on("keydown", this.a11y.onEnterKey)), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.on("keydown", "." + this.params.pagination.bulletClass, this.a11y.onEnterKey)
2938
+ },
2939
+ destroy: function () {
2940
+ var e, t;
2941
+ this.a11y.liveRegion && this.a11y.liveRegion.length > 0 && this.a11y.liveRegion.remove(), this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && e.off("keydown", this.a11y.onEnterKey), t && t.off("keydown", this.a11y.onEnterKey), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.off("keydown", "." + this.params.pagination.bulletClass, this.a11y.onEnterKey)
2942
+ }
2943
+ },
2944
+ ve = {
2945
+ init: function () {
2946
+ if (this.params.history) {
2947
+ if (!a.history || !a.history.pushState) return this.params.history.enabled = !1, void(this.params.hashNavigation.enabled = !0);
2948
+ var e = this.history;
2949
+ e.initialized = !0, e.paths = ve.getPathValues(), (e.paths.key || e.paths.value) && (e.scrollToSlide(0, e.paths.value, this.params.runCallbacksOnInit), this.params.history.replaceState || a.addEventListener("popstate", this.history.setHistoryPopState))
2950
+ }
2951
+ },
2952
+ destroy: function () {
2953
+ this.params.history.replaceState || a.removeEventListener("popstate", this.history.setHistoryPopState)
2954
+ },
2955
+ setHistoryPopState: function () {
2956
+ this.history.paths = ve.getPathValues(), this.history.scrollToSlide(this.params.speed, this.history.paths.value, !1)
2957
+ },
2958
+ getPathValues: function () {
2959
+ var e = a.location.pathname.slice(1).split("/").filter((function (e) {
2960
+ return "" !== e
2961
+ })),
2962
+ t = e.length;
2963
+ return {
2964
+ key: e[t - 2],
2965
+ value: e[t - 1]
2966
+ }
2967
+ },
2968
+ setHistory: function (e, t) {
2969
+ if (this.history.initialized && this.params.history.enabled) {
2970
+ var i = this.slides.eq(t),
2971
+ s = ve.slugify(i.attr("data-history"));
2972
+ a.location.pathname.includes(e) || (s = e + "/" + s);
2973
+ var r = a.history.state;
2974
+ r && r.value === s || (this.params.history.replaceState ? a.history.replaceState({
2975
+ value: s
2976
+ }, null, s) : a.history.pushState({
2977
+ value: s
2978
+ }, null, s))
2979
+ }
2980
+ },
2981
+ slugify: function (e) {
2982
+ return e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "")
2983
+ },
2984
+ scrollToSlide: function (e, t, i) {
2985
+ if (t)
2986
+ for (var s = 0, a = this.slides.length; s < a; s += 1) {
2987
+ var r = this.slides.eq(s);
2988
+ if (ve.slugify(r.attr("data-history")) === t && !r.hasClass(this.params.slideDuplicateClass)) {
2989
+ var n = r.index();
2990
+ this.slideTo(n, e, i)
2991
+ }
2992
+ } else this.slideTo(0, e, i)
2993
+ }
2994
+ },
2995
+ fe = {
2996
+ onHashCange: function () {
2997
+ this.emit("hashChange");
2998
+ var e = i.location.hash.replace("#", "");
2999
+ if (e !== this.slides.eq(this.activeIndex).attr("data-hash")) {
3000
+ var t = this.$wrapperEl.children("." + this.params.slideClass + '[data-hash="' + e + '"]').index();
3001
+ if (void 0 === t) return;
3002
+ this.slideTo(t)
3003
+ }
3004
+ },
3005
+ setHash: function () {
3006
+ if (this.hashNavigation.initialized && this.params.hashNavigation.enabled)
3007
+ if (this.params.hashNavigation.replaceState && a.history && a.history.replaceState) a.history.replaceState(null, null, "#" + this.slides.eq(this.activeIndex).attr("data-hash") || ""), this.emit("hashSet");
3008
+ else {
3009
+ var e = this.slides.eq(this.activeIndex),
3010
+ t = e.attr("data-hash") || e.attr("data-history");
3011
+ i.location.hash = t || "", this.emit("hashSet")
3012
+ }
3013
+ },
3014
+ init: function () {
3015
+ if (!(!this.params.hashNavigation.enabled || this.params.history && this.params.history.enabled)) {
3016
+ this.hashNavigation.initialized = !0;
3017
+ var e = i.location.hash.replace("#", "");
3018
+ if (e)
3019
+ for (var t = 0, s = this.slides.length; t < s; t += 1) {
3020
+ var r = this.slides.eq(t);
3021
+ if ((r.attr("data-hash") || r.attr("data-history")) === e && !r.hasClass(this.params.slideDuplicateClass)) {
3022
+ var o = r.index();
3023
+ this.slideTo(o, 0, this.params.runCallbacksOnInit, !0)
3024
+ }
3025
+ }
3026
+ this.params.hashNavigation.watchState && n(a).on("hashchange", this.hashNavigation.onHashCange)
3027
+ }
3028
+ },
3029
+ destroy: function () {
3030
+ this.params.hashNavigation.watchState && n(a).off("hashchange", this.hashNavigation.onHashCange)
3031
+ }
3032
+ },
3033
+ me = {
3034
+ run: function () {
3035
+ var e = this,
3036
+ t = e.slides.eq(e.activeIndex),
3037
+ i = e.params.autoplay.delay;
3038
+ t.attr("data-swiper-autoplay") && (i = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), clearTimeout(e.autoplay.timeout), e.autoplay.timeout = d.nextTick((function () {
3039
+ e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")), e.params.cssMode && e.autoplay.running && e.autoplay.run()
3040
+ }), i)
3041
+ },
3042
+ start: function () {
3043
+ return void 0 === this.autoplay.timeout && (!this.autoplay.running && (this.autoplay.running = !0, this.emit("autoplayStart"), this.autoplay.run(), !0))
3044
+ },
3045
+ stop: function () {
3046
+ return !!this.autoplay.running && (void 0 !== this.autoplay.timeout && (this.autoplay.timeout && (clearTimeout(this.autoplay.timeout), this.autoplay.timeout = void 0), this.autoplay.running = !1, this.emit("autoplayStop"), !0))
3047
+ },
3048
+ pause: function (e) {
3049
+ this.autoplay.running && (this.autoplay.paused || (this.autoplay.timeout && clearTimeout(this.autoplay.timeout), this.autoplay.paused = !0, 0 !== e && this.params.autoplay.waitForTransition ? (this.$wrapperEl[0].addEventListener("transitionend", this.autoplay.onTransitionEnd), this.$wrapperEl[0].addEventListener("webkitTransitionEnd", this.autoplay.onTransitionEnd)) : (this.autoplay.paused = !1, this.autoplay.run())))
3050
+ }
3051
+ },
3052
+ ge = {
3053
+ setTranslate: function () {
3054
+ for (var e = this.slides, t = 0; t < e.length; t += 1) {
3055
+ var i = this.slides.eq(t),
3056
+ s = -i[0].swiperSlideOffset;
3057
+ this.params.virtualTranslate || (s -= this.translate);
3058
+ var a = 0;
3059
+ this.isHorizontal() || (a = s, s = 0);
3060
+ var r = this.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0);
3061
+ i.css({
3062
+ opacity: r
3063
+ }).transform("translate3d(" + s + "px, " + a + "px, 0px)")
3064
+ }
3065
+ },
3066
+ setTransition: function (e) {
3067
+ var t = this,
3068
+ i = t.slides,
3069
+ s = t.$wrapperEl;
3070
+ if (i.transition(e), t.params.virtualTranslate && 0 !== e) {
3071
+ var a = !1;
3072
+ i.transitionEnd((function () {
3073
+ if (!a && t && !t.destroyed) {
3074
+ a = !0, t.animating = !1;
3075
+ for (var e = ["webkitTransitionEnd", "transitionend"], i = 0; i < e.length; i += 1) s.trigger(e[i])
3076
+ }
3077
+ }))
3078
+ }
3079
+ }
3080
+ },
3081
+ be = {
3082
+ setTranslate: function () {
3083
+ var e, t = this.$el,
3084
+ i = this.$wrapperEl,
3085
+ s = this.slides,
3086
+ a = this.width,
3087
+ r = this.height,
3088
+ o = this.rtlTranslate,
3089
+ l = this.size,
3090
+ d = this.params.cubeEffect,
3091
+ h = this.isHorizontal(),
3092
+ p = this.virtual && this.params.virtual.enabled,
3093
+ c = 0;
3094
+ d.shadow && (h ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = n('<div class="swiper-cube-shadow"></div>'), i.append(e)), e.css({
3095
+ height: a + "px"
3096
+ })) : 0 === (e = t.find(".swiper-cube-shadow")).length && (e = n('<div class="swiper-cube-shadow"></div>'), t.append(e)));
3097
+ for (var u = 0; u < s.length; u += 1) {
3098
+ var v = s.eq(u),
3099
+ f = u;
3100
+ p && (f = parseInt(v.attr("data-swiper-slide-index"), 10));
3101
+ var m = 90 * f,
3102
+ g = Math.floor(m / 360);
3103
+ o && (m = -m, g = Math.floor(-m / 360));
3104
+ var b = Math.max(Math.min(v[0].progress, 1), -1),
3105
+ w = 0,
3106
+ y = 0,
3107
+ x = 0;
3108
+ f % 4 == 0 ? (w = 4 * -g * l, x = 0) : (f - 1) % 4 == 0 ? (w = 0, x = 4 * -g * l) : (f - 2) % 4 == 0 ? (w = l + 4 * g * l, x = l) : (f - 3) % 4 == 0 && (w = -l, x = 3 * l + 4 * l * g), o && (w = -w), h || (y = w, w = 0);
3109
+ var E = "rotateX(" + (h ? 0 : -m) + "deg) rotateY(" + (h ? m : 0) + "deg) translate3d(" + w + "px, " + y + "px, " + x + "px)";
3110
+ if (b <= 1 && b > -1 && (c = 90 * f + 90 * b, o && (c = 90 * -f - 90 * b)), v.transform(E), d.slideShadows) {
3111
+ var T = h ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"),
3112
+ S = h ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom");
3113
+ 0 === T.length && (T = n('<div class="swiper-slide-shadow-' + (h ? "left" : "top") + '"></div>'), v.append(T)), 0 === S.length && (S = n('<div class="swiper-slide-shadow-' + (h ? "right" : "bottom") + '"></div>'), v.append(S)), T.length && (T[0].style.opacity = Math.max(-b, 0)), S.length && (S[0].style.opacity = Math.max(b, 0))
3114
+ }
3115
+ }
3116
+ if (i.css({
3117
+ "-webkit-transform-origin": "50% 50% -" + l / 2 + "px",
3118
+ "-moz-transform-origin": "50% 50% -" + l / 2 + "px",
3119
+ "-ms-transform-origin": "50% 50% -" + l / 2 + "px",
3120
+ "transform-origin": "50% 50% -" + l / 2 + "px"
3121
+ }), d.shadow)
3122
+ if (h) e.transform("translate3d(0px, " + (a / 2 + d.shadowOffset) + "px, " + -a / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + d.shadowScale + ")");
3123
+ else {
3124
+ var C = Math.abs(c) - 90 * Math.floor(Math.abs(c) / 90),
3125
+ M = 1.5 - (Math.sin(2 * C * Math.PI / 360) / 2 + Math.cos(2 * C * Math.PI / 360) / 2),
3126
+ P = d.shadowScale,
3127
+ z = d.shadowScale / M,
3128
+ k = d.shadowOffset;
3129
+ e.transform("scale3d(" + P + ", 1, " + z + ") translate3d(0px, " + (r / 2 + k) + "px, " + -r / 2 / z + "px) rotateX(-90deg)")
3130
+ }
3131
+ var $ = _.isSafari || _.isWebView ? -l / 2 : 0;
3132
+ i.transform("translate3d(0px,0," + $ + "px) rotateX(" + (this.isHorizontal() ? 0 : c) + "deg) rotateY(" + (this.isHorizontal() ? -c : 0) + "deg)")
3133
+ },
3134
+ setTransition: function (e) {
3135
+ var t = this.$el;
3136
+ this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() && t.find(".swiper-cube-shadow").transition(e)
3137
+ }
3138
+ },
3139
+ we = {
3140
+ setTranslate: function () {
3141
+ for (var e = this.slides, t = this.rtlTranslate, i = 0; i < e.length; i += 1) {
3142
+ var s = e.eq(i),
3143
+ a = s[0].progress;
3144
+ this.params.flipEffect.limitRotation && (a = Math.max(Math.min(s[0].progress, 1), -1));
3145
+ var r = -180 * a,
3146
+ o = 0,
3147
+ l = -s[0].swiperSlideOffset,
3148
+ d = 0;
3149
+ if (this.isHorizontal() ? t && (r = -r) : (d = l, l = 0, o = -r, r = 0), s[0].style.zIndex = -Math.abs(Math.round(a)) + e.length, this.params.flipEffect.slideShadows) {
3150
+ var h = this.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"),
3151
+ p = this.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom");
3152
+ 0 === h.length && (h = n('<div class="swiper-slide-shadow-' + (this.isHorizontal() ? "left" : "top") + '"></div>'), s.append(h)), 0 === p.length && (p = n('<div class="swiper-slide-shadow-' + (this.isHorizontal() ? "right" : "bottom") + '"></div>'), s.append(p)), h.length && (h[0].style.opacity = Math.max(-a, 0)), p.length && (p[0].style.opacity = Math.max(a, 0))
3153
+ }
3154
+ s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotateX(" + o + "deg) rotateY(" + r + "deg)")
3155
+ }
3156
+ },
3157
+ setTransition: function (e) {
3158
+ var t = this,
3159
+ i = t.slides,
3160
+ s = t.activeIndex,
3161
+ a = t.$wrapperEl;
3162
+ if (i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.virtualTranslate && 0 !== e) {
3163
+ var r = !1;
3164
+ i.eq(s).transitionEnd((function () {
3165
+ if (!r && t && !t.destroyed) {
3166
+ r = !0, t.animating = !1;
3167
+ for (var e = ["webkitTransitionEnd", "transitionend"], i = 0; i < e.length; i += 1) a.trigger(e[i])
3168
+ }
3169
+ }))
3170
+ }
3171
+ }
3172
+ },
3173
+ ye = {
3174
+ setTranslate: function () {
3175
+ for (var e = this.width, t = this.height, i = this.slides, s = this.$wrapperEl, a = this.slidesSizesGrid, r = this.params.coverflowEffect, o = this.isHorizontal(), l = this.translate, d = o ? e / 2 - l : t / 2 - l, p = o ? r.rotate : -r.rotate, c = r.depth, u = 0, v = i.length; u < v; u += 1) {
3176
+ var f = i.eq(u),
3177
+ m = a[u],
3178
+ g = (d - f[0].swiperSlideOffset - m / 2) / m * r.modifier,
3179
+ b = o ? p * g : 0,
3180
+ w = o ? 0 : p * g,
3181
+ y = -c * Math.abs(g),
3182
+ x = r.stretch;
3183
+ "string" == typeof x && -1 !== x.indexOf("%") && (x = parseFloat(r.stretch) / 100 * m);
3184
+ var E = o ? 0 : x * g,
3185
+ T = o ? x * g : 0,
3186
+ S = 1 - (1 - r.scale) * Math.abs(g);
3187
+ Math.abs(T) < .001 && (T = 0), Math.abs(E) < .001 && (E = 0), Math.abs(y) < .001 && (y = 0), Math.abs(b) < .001 && (b = 0), Math.abs(w) < .001 && (w = 0), Math.abs(S) < .001 && (S = 0);
3188
+ var C = "translate3d(" + T + "px," + E + "px," + y + "px) rotateX(" + w + "deg) rotateY(" + b + "deg) scale(" + S + ")";
3189
+ if (f.transform(C), f[0].style.zIndex = 1 - Math.abs(Math.round(g)), r.slideShadows) {
3190
+ var M = o ? f.find(".swiper-slide-shadow-left") : f.find(".swiper-slide-shadow-top"),
3191
+ P = o ? f.find(".swiper-slide-shadow-right") : f.find(".swiper-slide-shadow-bottom");
3192
+ 0 === M.length && (M = n('<div class="swiper-slide-shadow-' + (o ? "left" : "top") + '"></div>'), f.append(M)), 0 === P.length && (P = n('<div class="swiper-slide-shadow-' + (o ? "right" : "bottom") + '"></div>'), f.append(P)), M.length && (M[0].style.opacity = g > 0 ? g : 0), P.length && (P[0].style.opacity = -g > 0 ? -g : 0)
3193
+ }
3194
+ }(h.pointerEvents || h.prefixedPointerEvents) && (s[0].style.perspectiveOrigin = d + "px 50%")
3195
+ },
3196
+ setTransition: function (e) {
3197
+ this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)
3198
+ }
3199
+ },
3200
+ xe = {
3201
+ init: function () {
3202
+ var e = this.params.thumbs,
3203
+ t = this.constructor;
3204
+ e.swiper instanceof t ? (this.thumbs.swiper = e.swiper, d.extend(this.thumbs.swiper.originalParams, {
3205
+ watchSlidesProgress: !0,
3206
+ slideToClickedSlide: !1
3207
+ }), d.extend(this.thumbs.swiper.params, {
3208
+ watchSlidesProgress: !0,
3209
+ slideToClickedSlide: !1
3210
+ })) : d.isObject(e.swiper) && (this.thumbs.swiper = new t(d.extend({}, e.swiper, {
3211
+ watchSlidesVisibility: !0,
3212
+ watchSlidesProgress: !0,
3213
+ slideToClickedSlide: !1
3214
+ })), this.thumbs.swiperCreated = !0), this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass), this.thumbs.swiper.on("tap", this.thumbs.onThumbClick)
3215
+ },
3216
+ onThumbClick: function () {
3217
+ var e = this.thumbs.swiper;
3218
+ if (e) {
3219
+ var t = e.clickedIndex,
3220
+ i = e.clickedSlide;
3221
+ if (!(i && n(i).hasClass(this.params.thumbs.slideThumbActiveClass) || null == t)) {
3222
+ var s;
3223
+ if (s = e.params.loop ? parseInt(n(e.clickedSlide).attr("data-swiper-slide-index"), 10) : t, this.params.loop) {
3224
+ var a = this.activeIndex;
3225
+ this.slides.eq(a).hasClass(this.params.slideDuplicateClass) && (this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft, a = this.activeIndex);
3226
+ var r = this.slides.eq(a).prevAll('[data-swiper-slide-index="' + s + '"]').eq(0).index(),
3227
+ o = this.slides.eq(a).nextAll('[data-swiper-slide-index="' + s + '"]').eq(0).index();
3228
+ s = void 0 === r ? o : void 0 === o ? r : o - a < a - r ? o : r
3229
+ }
3230
+ this.slideTo(s)
3231
+ }
3232
+ }
3233
+ },
3234
+ update: function (e) {
3235
+ var t = this.thumbs.swiper;
3236
+ if (t) {
3237
+ var i = "auto" === t.params.slidesPerView ? t.slidesPerViewDynamic() : t.params.slidesPerView,
3238
+ s = this.params.thumbs.autoScrollOffset,
3239
+ a = s && !t.params.loop;
3240
+ if (this.realIndex !== t.realIndex || a) {
3241
+ var r, n, o = t.activeIndex;
3242
+ if (t.params.loop) {
3243
+ t.slides.eq(o).hasClass(t.params.slideDuplicateClass) && (t.loopFix(), t._clientLeft = t.$wrapperEl[0].clientLeft, o = t.activeIndex);
3244
+ var l = t.slides.eq(o).prevAll('[data-swiper-slide-index="' + this.realIndex + '"]').eq(0).index(),
3245
+ d = t.slides.eq(o).nextAll('[data-swiper-slide-index="' + this.realIndex + '"]').eq(0).index();
3246
+ r = void 0 === l ? d : void 0 === d ? l : d - o == o - l ? o : d - o < o - l ? d : l, n = this.activeIndex > this.previousIndex ? "next" : "prev"
3247
+ } else n = (r = this.realIndex) > this.previousIndex ? "next" : "prev";
3248
+ a && (r += "next" === n ? s : -1 * s), t.visibleSlidesIndexes && t.visibleSlidesIndexes.indexOf(r) < 0 && (t.params.centeredSlides ? r = r > o ? r - Math.floor(i / 2) + 1 : r + Math.floor(i / 2) - 1 : r > o && (r = r - i + 1), t.slideTo(r, e ? 0 : void 0))
3249
+ }
3250
+ var h = 1,
3251
+ p = this.params.thumbs.slideThumbActiveClass;
3252
+ if (this.params.slidesPerView > 1 && !this.params.centeredSlides && (h = this.params.slidesPerView), this.params.thumbs.multipleActiveThumbs || (h = 1), h = Math.floor(h), t.slides.removeClass(p), t.params.loop || t.params.virtual && t.params.virtual.enabled)
3253
+ for (var c = 0; c < h; c += 1) t.$wrapperEl.children('[data-swiper-slide-index="' + (this.realIndex + c) + '"]').addClass(p);
3254
+ else
3255
+ for (var u = 0; u < h; u += 1) t.slides.eq(this.realIndex + u).addClass(p)
3256
+ }
3257
+ }
3258
+ },
3259
+ Ee = [K, U, Z, Q, ee, ie, ae, {
3260
+ name: "mousewheel",
3261
+ params: {
3262
+ mousewheel: {
3263
+ enabled: !1,
3264
+ releaseOnEdges: !1,
3265
+ invert: !1,
3266
+ forceToAxis: !1,
3267
+ sensitivity: 1,
3268
+ eventsTarged: "container"
3269
+ }
3270
+ },
3271
+ create: function () {
3272
+ d.extend(this, {
3273
+ mousewheel: {
3274
+ enabled: !1,
3275
+ enable: re.enable.bind(this),
3276
+ disable: re.disable.bind(this),
3277
+ handle: re.handle.bind(this),
3278
+ handleMouseEnter: re.handleMouseEnter.bind(this),
3279
+ handleMouseLeave: re.handleMouseLeave.bind(this),
3280
+ animateSlider: re.animateSlider.bind(this),
3281
+ releaseScroll: re.releaseScroll.bind(this),
3282
+ lastScrollTime: d.now(),
3283
+ lastEventBeforeSnap: void 0,
3284
+ recentWheelEvents: []
3285
+ }
3286
+ })
3287
+ },
3288
+ on: {
3289
+ init: function () {
3290
+ !this.params.mousewheel.enabled && this.params.cssMode && this.mousewheel.disable(), this.params.mousewheel.enabled && this.mousewheel.enable()
3291
+ },
3292
+ destroy: function () {
3293
+ this.params.cssMode && this.mousewheel.enable(), this.mousewheel.enabled && this.mousewheel.disable()
3294
+ }
3295
+ }
3296
+ }, {
3297
+ name: "navigation",
3298
+ params: {
3299
+ navigation: {
3300
+ nextEl: null,
3301
+ prevEl: null,
3302
+ hideOnClick: !1,
3303
+ disabledClass: "swiper-button-disabled",
3304
+ hiddenClass: "swiper-button-hidden",
3305
+ lockClass: "swiper-button-lock"
3306
+ }
3307
+ },
3308
+ create: function () {
3309
+ d.extend(this, {
3310
+ navigation: {
3311
+ init: ne.init.bind(this),
3312
+ update: ne.update.bind(this),
3313
+ destroy: ne.destroy.bind(this),
3314
+ onNextClick: ne.onNextClick.bind(this),
3315
+ onPrevClick: ne.onPrevClick.bind(this)
3316
+ }
3317
+ })
3318
+ },
3319
+ on: {
3320
+ init: function () {
3321
+ this.navigation.init(), this.navigation.update()
3322
+ },
3323
+ toEdge: function () {
3324
+ this.navigation.update()
3325
+ },
3326
+ fromEdge: function () {
3327
+ this.navigation.update()
3328
+ },
3329
+ destroy: function () {
3330
+ this.navigation.destroy()
3331
+ },
3332
+ click: function (e) {
3333
+ var t, i = this.navigation,
3334
+ s = i.$nextEl,
3335
+ a = i.$prevEl;
3336
+ !this.params.navigation.hideOnClick || n(e.target).is(a) || n(e.target).is(s) || (s ? t = s.hasClass(this.params.navigation.hiddenClass) : a && (t = a.hasClass(this.params.navigation.hiddenClass)), !0 === t ? this.emit("navigationShow", this) : this.emit("navigationHide", this), s && s.toggleClass(this.params.navigation.hiddenClass), a && a.toggleClass(this.params.navigation.hiddenClass))
3337
+ }
3338
+ }
3339
+ }, {
3340
+ name: "pagination",
3341
+ params: {
3342
+ pagination: {
3343
+ el: null,
3344
+ bulletElement: "span",
3345
+ clickable: !1,
3346
+ hideOnClick: !1,
3347
+ renderBullet: null,
3348
+ renderProgressbar: null,
3349
+ renderFraction: null,
3350
+ renderCustom: null,
3351
+ progressbarOpposite: !1,
3352
+ type: "bullets",
3353
+ dynamicBullets: !1,
3354
+ dynamicMainBullets: 1,
3355
+ formatFractionCurrent: function (e) {
3356
+ return e
3357
+ },
3358
+ formatFractionTotal: function (e) {
3359
+ return e
3360
+ },
3361
+ bulletClass: "swiper-pagination-bullet",
3362
+ bulletActiveClass: "swiper-pagination-bullet-active",
3363
+ modifierClass: "swiper-pagination-",
3364
+ currentClass: "swiper-pagination-current",
3365
+ totalClass: "swiper-pagination-total",
3366
+ hiddenClass: "swiper-pagination-hidden",
3367
+ progressbarFillClass: "swiper-pagination-progressbar-fill",
3368
+ progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
3369
+ clickableClass: "swiper-pagination-clickable",
3370
+ lockClass: "swiper-pagination-lock"
3371
+ }
3372
+ },
3373
+ create: function () {
3374
+ d.extend(this, {
3375
+ pagination: {
3376
+ init: oe.init.bind(this),
3377
+ render: oe.render.bind(this),
3378
+ update: oe.update.bind(this),
3379
+ destroy: oe.destroy.bind(this),
3380
+ dynamicBulletIndex: 0
3381
+ }
3382
+ })
3383
+ },
3384
+ on: {
3385
+ init: function () {
3386
+ this.pagination.init(), this.pagination.render(), this.pagination.update()
3387
+ },
3388
+ activeIndexChange: function () {
3389
+ (this.params.loop || void 0 === this.snapIndex) && this.pagination.update()
3390
+ },
3391
+ snapIndexChange: function () {
3392
+ this.params.loop || this.pagination.update()
3393
+ },
3394
+ slidesLengthChange: function () {
3395
+ this.params.loop && (this.pagination.render(), this.pagination.update())
3396
+ },
3397
+ snapGridLengthChange: function () {
3398
+ this.params.loop || (this.pagination.render(), this.pagination.update())
3399
+ },
3400
+ destroy: function () {
3401
+ this.pagination.destroy()
3402
+ },
3403
+ click: function (e) {
3404
+ this.params.pagination.el && this.params.pagination.hideOnClick && this.pagination.$el.length > 0 && !n(e.target).hasClass(this.params.pagination.bulletClass) && (!0 === this.pagination.$el.hasClass(this.params.pagination.hiddenClass) ? this.emit("paginationShow", this) : this.emit("paginationHide", this), this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))
3405
+ }
3406
+ }
3407
+ }, {
3408
+ name: "scrollbar",
3409
+ params: {
3410
+ scrollbar: {
3411
+ el: null,
3412
+ dragSize: "auto",
3413
+ hide: !1,
3414
+ draggable: !1,
3415
+ snapOnRelease: !0,
3416
+ lockClass: "swiper-scrollbar-lock",
3417
+ dragClass: "swiper-scrollbar-drag"
3418
+ }
3419
+ },
3420
+ create: function () {
3421
+ d.extend(this, {
3422
+ scrollbar: {
3423
+ init: le.init.bind(this),
3424
+ destroy: le.destroy.bind(this),
3425
+ updateSize: le.updateSize.bind(this),
3426
+ setTranslate: le.setTranslate.bind(this),
3427
+ setTransition: le.setTransition.bind(this),
3428
+ enableDraggable: le.enableDraggable.bind(this),
3429
+ disableDraggable: le.disableDraggable.bind(this),
3430
+ setDragPosition: le.setDragPosition.bind(this),
3431
+ getPointerPosition: le.getPointerPosition.bind(this),
3432
+ onDragStart: le.onDragStart.bind(this),
3433
+ onDragMove: le.onDragMove.bind(this),
3434
+ onDragEnd: le.onDragEnd.bind(this),
3435
+ isTouched: !1,
3436
+ timeout: null,
3437
+ dragTimeout: null
3438
+ }
3439
+ })
3440
+ },
3441
+ on: {
3442
+ init: function () {
3443
+ this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate()
3444
+ },
3445
+ update: function () {
3446
+ this.scrollbar.updateSize()
3447
+ },
3448
+ resize: function () {
3449
+ this.scrollbar.updateSize()
3450
+ },
3451
+ observerUpdate: function () {
3452
+ this.scrollbar.updateSize()
3453
+ },
3454
+ setTranslate: function () {
3455
+ this.scrollbar.setTranslate()
3456
+ },
3457
+ setTransition: function (e) {
3458
+ this.scrollbar.setTransition(e)
3459
+ },
3460
+ destroy: function () {
3461
+ this.scrollbar.destroy()
3462
+ }
3463
+ }
3464
+ }, {
3465
+ name: "parallax",
3466
+ params: {
3467
+ parallax: {
3468
+ enabled: !1
3469
+ }
3470
+ },
3471
+ create: function () {
3472
+ d.extend(this, {
3473
+ parallax: {
3474
+ setTransform: de.setTransform.bind(this),
3475
+ setTranslate: de.setTranslate.bind(this),
3476
+ setTransition: de.setTransition.bind(this)
3477
+ }
3478
+ })
3479
+ },
3480
+ on: {
3481
+ beforeInit: function () {
3482
+ this.params.parallax.enabled && (this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0)
3483
+ },
3484
+ init: function () {
3485
+ this.params.parallax.enabled && this.parallax.setTranslate()
3486
+ },
3487
+ setTranslate: function () {
3488
+ this.params.parallax.enabled && this.parallax.setTranslate()
3489
+ },
3490
+ setTransition: function (e) {
3491
+ this.params.parallax.enabled && this.parallax.setTransition(e)
3492
+ }
3493
+ }
3494
+ }, {
3495
+ name: "zoom",
3496
+ params: {
3497
+ zoom: {
3498
+ enabled: !1,
3499
+ maxRatio: 3,
3500
+ minRatio: 1,
3501
+ toggle: !0,
3502
+ containerClass: "swiper-zoom-container",
3503
+ zoomedSlideClass: "swiper-slide-zoomed"
3504
+ }
3505
+ },
3506
+ create: function () {
3507
+ var e = this,
3508
+ t = {
3509
+ enabled: !1,
3510
+ scale: 1,
3511
+ currentScale: 1,
3512
+ isScaling: !1,
3513
+ gesture: {
3514
+ $slideEl: void 0,
3515
+ slideWidth: void 0,
3516
+ slideHeight: void 0,
3517
+ $imageEl: void 0,
3518
+ $imageWrapEl: void 0,
3519
+ maxRatio: 3
3520
+ },
3521
+ image: {
3522
+ isTouched: void 0,
3523
+ isMoved: void 0,
3524
+ currentX: void 0,
3525
+ currentY: void 0,
3526
+ minX: void 0,
3527
+ minY: void 0,
3528
+ maxX: void 0,
3529
+ maxY: void 0,
3530
+ width: void 0,
3531
+ height: void 0,
3532
+ startX: void 0,
3533
+ startY: void 0,
3534
+ touchesStart: {},
3535
+ touchesCurrent: {}
3536
+ },
3537
+ velocity: {
3538
+ x: void 0,
3539
+ y: void 0,
3540
+ prevPositionX: void 0,
3541
+ prevPositionY: void 0,
3542
+ prevTime: void 0
3543
+ }
3544
+ };
3545
+ "onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function (i) {
3546
+ t[i] = he[i].bind(e)
3547
+ })), d.extend(e, {
3548
+ zoom: t
3549
+ });
3550
+ var i = 1;
3551
+ Object.defineProperty(e.zoom, "scale", {
3552
+ get: function () {
3553
+ return i
3554
+ },
3555
+ set: function (t) {
3556
+ if (i !== t) {
3557
+ var s = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : void 0,
3558
+ a = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0;
3559
+ e.emit("zoomChange", t, s, a)
3560
+ }
3561
+ i = t
3562
+ }
3563
+ })
3564
+ },
3565
+ on: {
3566
+ init: function () {
3567
+ this.params.zoom.enabled && this.zoom.enable()
3568
+ },
3569
+ destroy: function () {
3570
+ this.zoom.disable()
3571
+ },
3572
+ touchStart: function (e) {
3573
+ this.zoom.enabled && this.zoom.onTouchStart(e)
3574
+ },
3575
+ touchEnd: function (e) {
3576
+ this.zoom.enabled && this.zoom.onTouchEnd(e)
3577
+ },
3578
+ doubleTap: function (e) {
3579
+ this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e)
3580
+ },
3581
+ transitionEnd: function () {
3582
+ this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd()
3583
+ },
3584
+ slideChange: function () {
3585
+ this.zoom.enabled && this.params.zoom.enabled && this.params.cssMode && this.zoom.onTransitionEnd()
3586
+ }
3587
+ }
3588
+ }, {
3589
+ name: "lazy",
3590
+ params: {
3591
+ lazy: {
3592
+ enabled: !1,
3593
+ loadPrevNext: !1,
3594
+ loadPrevNextAmount: 1,
3595
+ loadOnTransitionStart: !1,
3596
+ elementClass: "swiper-lazy",
3597
+ loadingClass: "swiper-lazy-loading",
3598
+ loadedClass: "swiper-lazy-loaded",
3599
+ preloaderClass: "swiper-lazy-preloader"
3600
+ }
3601
+ },
3602
+ create: function () {
3603
+ d.extend(this, {
3604
+ lazy: {
3605
+ initialImageLoaded: !1,
3606
+ load: pe.load.bind(this),
3607
+ loadInSlide: pe.loadInSlide.bind(this)
3608
+ }
3609
+ })
3610
+ },
3611
+ on: {
3612
+ beforeInit: function () {
3613
+ this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1)
3614
+ },
3615
+ init: function () {
3616
+ this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load()
3617
+ },
3618
+ scroll: function () {
3619
+ this.params.freeMode && !this.params.freeModeSticky && this.lazy.load()
3620
+ },
3621
+ resize: function () {
3622
+ this.params.lazy.enabled && this.lazy.load()
3623
+ },
3624
+ scrollbarDragMove: function () {
3625
+ this.params.lazy.enabled && this.lazy.load()
3626
+ },
3627
+ transitionStart: function () {
3628
+ this.params.lazy.enabled && (this.params.lazy.loadOnTransitionStart || !this.params.lazy.loadOnTransitionStart && !this.lazy.initialImageLoaded) && this.lazy.load()
3629
+ },
3630
+ transitionEnd: function () {
3631
+ this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load()
3632
+ },
3633
+ slideChange: function () {
3634
+ this.params.lazy.enabled && this.params.cssMode && this.lazy.load()
3635
+ }
3636
+ }
3637
+ }, {
3638
+ name: "controller",
3639
+ params: {
3640
+ controller: {
3641
+ control: void 0,
3642
+ inverse: !1,
3643
+ by: "slide"
3644
+ }
3645
+ },
3646
+ create: function () {
3647
+ d.extend(this, {
3648
+ controller: {
3649
+ control: this.params.controller.control,
3650
+ getInterpolateFunction: ce.getInterpolateFunction.bind(this),
3651
+ setTranslate: ce.setTranslate.bind(this),
3652
+ setTransition: ce.setTransition.bind(this)
3653
+ }
3654
+ })
3655
+ },
3656
+ on: {
3657
+ update: function () {
3658
+ this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
3659
+ },
3660
+ resize: function () {
3661
+ this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
3662
+ },
3663
+ observerUpdate: function () {
3664
+ this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
3665
+ },
3666
+ setTranslate: function (e, t) {
3667
+ this.controller.control && this.controller.setTranslate(e, t)
3668
+ },
3669
+ setTransition: function (e, t) {
3670
+ this.controller.control && this.controller.setTransition(e, t)
3671
+ }
3672
+ }
3673
+ }, {
3674
+ name: "a11y",
3675
+ params: {
3676
+ a11y: {
3677
+ enabled: !0,
3678
+ notificationClass: "swiper-notification",
3679
+ prevSlideMessage: "Previous slide",
3680
+ nextSlideMessage: "Next slide",
3681
+ firstSlideMessage: "This is the first slide",
3682
+ lastSlideMessage: "This is the last slide",
3683
+ paginationBulletMessage: "Go to slide {{index}}"
3684
+ }
3685
+ },
3686
+ create: function () {
3687
+ var e = this;
3688
+ d.extend(e, {
3689
+ a11y: {
3690
+ liveRegion: n('<span class="' + e.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>')
3691
+ }
3692
+ }), Object.keys(ue).forEach((function (t) {
3693
+ e.a11y[t] = ue[t].bind(e)
3694
+ }))
3695
+ },
3696
+ on: {
3697
+ init: function () {
3698
+ this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation())
3699
+ },
3700
+ toEdge: function () {
3701
+ this.params.a11y.enabled && this.a11y.updateNavigation()
3702
+ },
3703
+ fromEdge: function () {
3704
+ this.params.a11y.enabled && this.a11y.updateNavigation()
3705
+ },
3706
+ paginationUpdate: function () {
3707
+ this.params.a11y.enabled && this.a11y.updatePagination()
3708
+ },
3709
+ destroy: function () {
3710
+ this.params.a11y.enabled && this.a11y.destroy()
3711
+ }
3712
+ }
3713
+ }, {
3714
+ name: "history",
3715
+ params: {
3716
+ history: {
3717
+ enabled: !1,
3718
+ replaceState: !1,
3719
+ key: "slides"
3720
+ }
3721
+ },
3722
+ create: function () {
3723
+ d.extend(this, {
3724
+ history: {
3725
+ init: ve.init.bind(this),
3726
+ setHistory: ve.setHistory.bind(this),
3727
+ setHistoryPopState: ve.setHistoryPopState.bind(this),
3728
+ scrollToSlide: ve.scrollToSlide.bind(this),
3729
+ destroy: ve.destroy.bind(this)
3730
+ }
3731
+ })
3732
+ },
3733
+ on: {
3734
+ init: function () {
3735
+ this.params.history.enabled && this.history.init()
3736
+ },
3737
+ destroy: function () {
3738
+ this.params.history.enabled && this.history.destroy()
3739
+ },
3740
+ transitionEnd: function () {
3741
+ this.history.initialized && this.history.setHistory(this.params.history.key, this.activeIndex)
3742
+ },
3743
+ slideChange: function () {
3744
+ this.history.initialized && this.params.cssMode && this.history.setHistory(this.params.history.key, this.activeIndex)
3745
+ }
3746
+ }
3747
+ }, {
3748
+ name: "hash-navigation",
3749
+ params: {
3750
+ hashNavigation: {
3751
+ enabled: !1,
3752
+ replaceState: !1,
3753
+ watchState: !1
3754
+ }
3755
+ },
3756
+ create: function () {
3757
+ d.extend(this, {
3758
+ hashNavigation: {
3759
+ initialized: !1,
3760
+ init: fe.init.bind(this),
3761
+ destroy: fe.destroy.bind(this),
3762
+ setHash: fe.setHash.bind(this),
3763
+ onHashCange: fe.onHashCange.bind(this)
3764
+ }
3765
+ })
3766
+ },
3767
+ on: {
3768
+ init: function () {
3769
+ this.params.hashNavigation.enabled && this.hashNavigation.init()
3770
+ },
3771
+ destroy: function () {
3772
+ this.params.hashNavigation.enabled && this.hashNavigation.destroy()
3773
+ },
3774
+ transitionEnd: function () {
3775
+ this.hashNavigation.initialized && this.hashNavigation.setHash()
3776
+ },
3777
+ slideChange: function () {
3778
+ this.hashNavigation.initialized && this.params.cssMode && this.hashNavigation.setHash()
3779
+ }
3780
+ }
3781
+ }, {
3782
+ name: "autoplay",
3783
+ params: {
3784
+ autoplay: {
3785
+ enabled: !1,
3786
+ delay: 3e3,
3787
+ waitForTransition: !0,
3788
+ disableOnInteraction: !0,
3789
+ stopOnLastSlide: !1,
3790
+ reverseDirection: !1
3791
+ }
3792
+ },
3793
+ create: function () {
3794
+ var e = this;
3795
+ d.extend(e, {
3796
+ autoplay: {
3797
+ running: !1,
3798
+ paused: !1,
3799
+ run: me.run.bind(e),
3800
+ start: me.start.bind(e),
3801
+ stop: me.stop.bind(e),
3802
+ pause: me.pause.bind(e),
3803
+ onVisibilityChange: function () {
3804
+ "hidden" === document.visibilityState && e.autoplay.running && e.autoplay.pause(), "visible" === document.visibilityState && e.autoplay.paused && (e.autoplay.run(), e.autoplay.paused = !1)
3805
+ },
3806
+ onTransitionEnd: function (t) {
3807
+ e && !e.destroyed && e.$wrapperEl && t.target === this && (e.$wrapperEl[0].removeEventListener("transitionend", e.autoplay.onTransitionEnd), e.$wrapperEl[0].removeEventListener("webkitTransitionEnd", e.autoplay.onTransitionEnd), e.autoplay.paused = !1, e.autoplay.running ? e.autoplay.run() : e.autoplay.stop())
3808
+ }
3809
+ }
3810
+ })
3811
+ },
3812
+ on: {
3813
+ init: function () {
3814
+ this.params.autoplay.enabled && (this.autoplay.start(), document.addEventListener("visibilitychange", this.autoplay.onVisibilityChange))
3815
+ },
3816
+ beforeTransitionStart: function (e, t) {
3817
+ this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop())
3818
+ },
3819
+ sliderFirstMove: function () {
3820
+ this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause())
3821
+ },
3822
+ touchEnd: function () {
3823
+ this.params.cssMode && this.autoplay.paused && !this.params.autoplay.disableOnInteraction && this.autoplay.run()
3824
+ },
3825
+ destroy: function () {
3826
+ this.autoplay.running && this.autoplay.stop(), document.removeEventListener("visibilitychange", this.autoplay.onVisibilityChange)
3827
+ }
3828
+ }
3829
+ }, {
3830
+ name: "effect-fade",
3831
+ params: {
3832
+ fadeEffect: {
3833
+ crossFade: !1
3834
+ }
3835
+ },
3836
+ create: function () {
3837
+ d.extend(this, {
3838
+ fadeEffect: {
3839
+ setTranslate: ge.setTranslate.bind(this),
3840
+ setTransition: ge.setTransition.bind(this)
3841
+ }
3842
+ })
3843
+ },
3844
+ on: {
3845
+ beforeInit: function () {
3846
+ if ("fade" === this.params.effect) {
3847
+ this.classNames.push(this.params.containerModifierClass + "fade");
3848
+ var e = {
3849
+ slidesPerView: 1,
3850
+ slidesPerColumn: 1,
3851
+ slidesPerGroup: 1,
3852
+ watchSlidesProgress: !0,
3853
+ spaceBetween: 0,
3854
+ virtualTranslate: !0
3855
+ };
3856
+ d.extend(this.params, e), d.extend(this.originalParams, e)
3857
+ }
3858
+ },
3859
+ setTranslate: function () {
3860
+ "fade" === this.params.effect && this.fadeEffect.setTranslate()
3861
+ },
3862
+ setTransition: function (e) {
3863
+ "fade" === this.params.effect && this.fadeEffect.setTransition(e)
3864
+ }
3865
+ }
3866
+ }, {
3867
+ name: "effect-cube",
3868
+ params: {
3869
+ cubeEffect: {
3870
+ slideShadows: !0,
3871
+ shadow: !0,
3872
+ shadowOffset: 20,
3873
+ shadowScale: .94
3874
+ }
3875
+ },
3876
+ create: function () {
3877
+ d.extend(this, {
3878
+ cubeEffect: {
3879
+ setTranslate: be.setTranslate.bind(this),
3880
+ setTransition: be.setTransition.bind(this)
3881
+ }
3882
+ })
3883
+ },
3884
+ on: {
3885
+ beforeInit: function () {
3886
+ if ("cube" === this.params.effect) {
3887
+ this.classNames.push(this.params.containerModifierClass + "cube"), this.classNames.push(this.params.containerModifierClass + "3d");
3888
+ var e = {
3889
+ slidesPerView: 1,
3890
+ slidesPerColumn: 1,
3891
+ slidesPerGroup: 1,
3892
+ watchSlidesProgress: !0,
3893
+ resistanceRatio: 0,
3894
+ spaceBetween: 0,
3895
+ centeredSlides: !1,
3896
+ virtualTranslate: !0
3897
+ };
3898
+ d.extend(this.params, e), d.extend(this.originalParams, e)
3899
+ }
3900
+ },
3901
+ setTranslate: function () {
3902
+ "cube" === this.params.effect && this.cubeEffect.setTranslate()
3903
+ },
3904
+ setTransition: function (e) {
3905
+ "cube" === this.params.effect && this.cubeEffect.setTransition(e)
3906
+ }
3907
+ }
3908
+ }, {
3909
+ name: "effect-flip",
3910
+ params: {
3911
+ flipEffect: {
3912
+ slideShadows: !0,
3913
+ limitRotation: !0
3914
+ }
3915
+ },
3916
+ create: function () {
3917
+ d.extend(this, {
3918
+ flipEffect: {
3919
+ setTranslate: we.setTranslate.bind(this),
3920
+ setTransition: we.setTransition.bind(this)
3921
+ }
3922
+ })
3923
+ },
3924
+ on: {
3925
+ beforeInit: function () {
3926
+ if ("flip" === this.params.effect) {
3927
+ this.classNames.push(this.params.containerModifierClass + "flip"), this.classNames.push(this.params.containerModifierClass + "3d");
3928
+ var e = {
3929
+ slidesPerView: 1,
3930
+ slidesPerColumn: 1,
3931
+ slidesPerGroup: 1,
3932
+ watchSlidesProgress: !0,
3933
+ spaceBetween: 0,
3934
+ virtualTranslate: !0
3935
+ };
3936
+ d.extend(this.params, e), d.extend(this.originalParams, e)
3937
+ }
3938
+ },
3939
+ setTranslate: function () {
3940
+ "flip" === this.params.effect && this.flipEffect.setTranslate()
3941
+ },
3942
+ setTransition: function (e) {
3943
+ "flip" === this.params.effect && this.flipEffect.setTransition(e)
3944
+ }
3945
+ }
3946
+ }, {
3947
+ name: "effect-coverflow",
3948
+ params: {
3949
+ coverflowEffect: {
3950
+ rotate: 50,
3951
+ stretch: 0,
3952
+ depth: 100,
3953
+ scale: 1,
3954
+ modifier: 1,
3955
+ slideShadows: !0
3956
+ }
3957
+ },
3958
+ create: function () {
3959
+ d.extend(this, {
3960
+ coverflowEffect: {
3961
+ setTranslate: ye.setTranslate.bind(this),
3962
+ setTransition: ye.setTransition.bind(this)
3963
+ }
3964
+ })
3965
+ },
3966
+ on: {
3967
+ beforeInit: function () {
3968
+ "coverflow" === this.params.effect && (this.classNames.push(this.params.containerModifierClass + "coverflow"), this.classNames.push(this.params.containerModifierClass + "3d"), this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0)
3969
+ },
3970
+ setTranslate: function () {
3971
+ "coverflow" === this.params.effect && this.coverflowEffect.setTranslate()
3972
+ },
3973
+ setTransition: function (e) {
3974
+ "coverflow" === this.params.effect && this.coverflowEffect.setTransition(e)
3975
+ }
3976
+ }
3977
+ }, {
3978
+ name: "thumbs",
3979
+ params: {
3980
+ thumbs: {
3981
+ swiper: null,
3982
+ multipleActiveThumbs: !0,
3983
+ autoScrollOffset: 0,
3984
+ slideThumbActiveClass: "swiper-slide-thumb-active",
3985
+ thumbsContainerClass: "swiper-container-thumbs"
3986
+ }
3987
+ },
3988
+ create: function () {
3989
+ d.extend(this, {
3990
+ thumbs: {
3991
+ swiper: null,
3992
+ init: xe.init.bind(this),
3993
+ update: xe.update.bind(this),
3994
+ onThumbClick: xe.onThumbClick.bind(this)
3995
+ }
3996
+ })
3997
+ },
3998
+ on: {
3999
+ beforeInit: function () {
4000
+ var e = this.params.thumbs;
4001
+ e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0))
4002
+ },
4003
+ slideChange: function () {
4004
+ this.thumbs.swiper && this.thumbs.update()
4005
+ },
4006
+ update: function () {
4007
+ this.thumbs.swiper && this.thumbs.update()
4008
+ },
4009
+ resize: function () {
4010
+ this.thumbs.swiper && this.thumbs.update()
4011
+ },
4012
+ observerUpdate: function () {
4013
+ this.thumbs.swiper && this.thumbs.update()
4014
+ },
4015
+ setTransition: function (e) {
4016
+ var t = this.thumbs.swiper;
4017
+ t && t.setTransition(e)
4018
+ },
4019
+ beforeDestroy: function () {
4020
+ var e = this.thumbs.swiper;
4021
+ e && this.thumbs.swiperCreated && e && e.destroy()
4022
+ }
4023
+ }
4024
+ }];
4025
+ return void 0 === j.use && (j.use = j.Class.use, j.installModule = j.Class.installModule), j.use(Ee), j
4026
+ }));
4027
+ //# sourceMappingURL=swiper.min.js.map
assets/js/twae-swiper.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(i,s){void 0===i&&(i={}),void 0===s&&(s={}),Object.keys(s).forEach((function(a){void 0===i[a]?i[a]=s[a]:e(s[a])&&e(i[a])&&Object.keys(s[a]).length>0&&t(i[a],s[a])}))}var i="undefined"!=typeof document?document:{},s={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};t(i,s);var a="undefined"!=typeof window?window:{};t(a,{document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}}});var r=function(e){for(var t=0;t<e.length;t+=1)this[t]=e[t];return this.length=e.length,this};function n(e,t){var s=[],n=0;if(e&&!t&&e instanceof r)return e;if(e)if("string"==typeof e){var o,l,d=e.trim();if(d.indexOf("<")>=0&&d.indexOf(">")>=0){var h="div";for(0===d.indexOf("<li")&&(h="ul"),0===d.indexOf("<tr")&&(h="tbody"),0!==d.indexOf("<td")&&0!==d.indexOf("<th")||(h="tr"),0===d.indexOf("<tbody")&&(h="table"),0===d.indexOf("<option")&&(h="select"),(l=i.createElement(h)).innerHTML=d,n=0;n<l.childNodes.length;n+=1)s.push(l.childNodes[n])}else for(o=t||"#"!==e[0]||e.match(/[ .<>:~]/)?(t||i).querySelectorAll(e.trim()):[i.getElementById(e.trim().split("#")[1])],n=0;n<o.length;n+=1)o[n]&&s.push(o[n])}else if(e.nodeType||e===a||e===i)s.push(e);else if(e.length>0&&e[0].nodeType)for(n=0;n<e.length;n+=1)s.push(e[n]);return new r(s)}function o(e){for(var t=[],i=0;i<e.length;i+=1)-1===t.indexOf(e[i])&&t.push(e[i]);return t}n.fn=r.prototype,n.Class=r,n.Dom7=r;var l={addClass:function(e){if(void 0===e)return this;for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.remove(t[i]);return this},hasClass:function(e){return!!this[0]&&this[0].classList.contains(e)},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.toggle(t[i]);return this},attr:function(e,t){var i=arguments;if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var s=0;s<this.length;s+=1)if(2===i.length)this[s].setAttribute(e,t);else for(var a in e)this[s][a]=e[a],this[s].setAttribute(a,e[a]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},data:function(e,t){var i,a;if(void 0!==t){for(var s=0;s<this.length;s+=1)(i=this[s]).dom7ElementDataStorage||(i.dom7ElementDataStorage={}),i.dom7ElementDataStorage[e]=t;return this}if(i=this[0])return i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage?i.dom7ElementDataStorage[e]:i.getAttribute("data-"+e)||void 0},transform:function(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e,i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e,i.transitionDuration=e}return this},on:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],o=t[3];function l(e){var t=e.target;if(t){var i=e.target.dom7EventData||[];if(i.indexOf(e)<0&&i.unshift(e),n(t).is(a))r.apply(t,i);else for(var s=n(t).parents(),o=0;o<s.length;o+=1)n(s[o]).is(a)&&r.apply(s[o],i)}}function d(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],o=e[2],a=void 0),o||(o=!1);for(var h,p=s.split(" "),c=0;c<this.length;c+=1){var u=this[c];if(a)for(h=0;h<p.length;h+=1){var v=p[h];u.dom7LiveListeners||(u.dom7LiveListeners={}),u.dom7LiveListeners[v]||(u.dom7LiveListeners[v]=[]),u.dom7LiveListeners[v].push({listener:r,proxyListener:l}),u.addEventListener(v,l,o)}else for(h=0;h<p.length;h+=1){var f=p[h];u.dom7Listeners||(u.dom7Listeners={}),u.dom7Listeners[f]||(u.dom7Listeners[f]=[]),u.dom7Listeners[f].push({listener:r,proxyListener:d}),u.addEventListener(f,d,o)}}return this},off:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],n=t[3];"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],n=e[2],a=void 0),n||(n=!1);for(var o=s.split(" "),l=0;l<o.length;l+=1)for(var d=o[l],h=0;h<this.length;h+=1){var p=this[h],c=void 0;if(!a&&p.dom7Listeners?c=p.dom7Listeners[d]:a&&p.dom7LiveListeners&&(c=p.dom7LiveListeners[d]),c&&c.length)for(var u=c.length-1;u>=0;u-=1){var v=c[u];r&&v.listener===r||r&&v.listener&&v.listener.dom7proxy&&v.listener.dom7proxy===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r||(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1))}}return this},trigger:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var s=e[0].split(" "),r=e[1],n=0;n<s.length;n+=1)for(var o=s[n],l=0;l<this.length;l+=1){var d=this[l],h=void 0;try{h=new a.CustomEvent(o,{detail:r,bubbles:!0,cancelable:!0})}catch(e){(h=i.createEvent("Event")).initEvent(o,!0,!0),h.detail=r}d.dom7EventData=e.filter((function(e,t){return t>0})),d.dispatchEvent(h),d.dom7EventData=[],delete d.dom7EventData}return this},transitionEnd:function(e){var t,i=["webkitTransitionEnd","transitionend"],s=this;function a(r){if(r.target===this)for(e.call(this,r),t=0;t<i.length;t+=1)s.off(i[t],a)}if(e)for(t=0;t<i.length;t+=1)s.on(i[t],a);return this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(this.length>0){var e=this[0],t=e.getBoundingClientRect(),s=i.body,r=e.clientTop||s.clientTop||0,n=e.clientLeft||s.clientLeft||0,o=e===a?a.scrollY:e.scrollTop,l=e===a?a.scrollX:e.scrollLeft;return{top:t.top+o-r,left:t.left+l-n}}return null},css:function(e,t){var i;if(1===arguments.length){if("string"!=typeof e){for(i=0;i<this.length;i+=1)for(var s in e)this[i].style[s]=e[s];return this}if(this[0])return a.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(i=0;i<this.length;i+=1)this[i].style[e]=t;return this}return this},each:function(e){if(!e)return this;for(var t=0;t<this.length;t+=1)if(!1===e.call(this[t],t,this[t]))return this;return this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(var t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(e){var t,s,o=this[0];if(!o||void 0===e)return!1;if("string"==typeof e){if(o.matches)return o.matches(e);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(e);if(o.msMatchesSelector)return o.msMatchesSelector(e);for(t=n(e),s=0;s<t.length;s+=1)if(t[s]===o)return!0;return!1}if(e===i)return o===i;if(e===a)return o===a;if(e.nodeType||e instanceof r){for(t=e.nodeType?[e]:e,s=0;s<t.length;s+=1)if(t[s]===o)return!0;return!1}return!1},index:function(){var e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;var t,i=this.length;return new r(e>i-1?[]:e<0?(t=i+e)<0?[]:[this[t]]:[this[e]])},append:function(){for(var e,t=[],s=arguments.length;s--;)t[s]=arguments[s];for(var a=0;a<t.length;a+=1){e=t[a];for(var n=0;n<this.length;n+=1)if("string"==typeof e){var o=i.createElement("div");for(o.innerHTML=e;o.firstChild;)this[n].appendChild(o.firstChild)}else if(e instanceof r)for(var l=0;l<e.length;l+=1)this[n].appendChild(e[l]);else this[n].appendChild(e)}return this},prepend:function(e){var t,s;for(t=0;t<this.length;t+=1)if("string"==typeof e){var a=i.createElement("div");for(a.innerHTML=e,s=a.childNodes.length-1;s>=0;s-=1)this[t].insertBefore(a.childNodes[s],this[t].childNodes[0])}else if(e instanceof r)for(s=0;s<e.length;s+=1)this[t].insertBefore(e[s],this[t].childNodes[0]);else this[t].insertBefore(e,this[t].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&n(this[0].nextElementSibling).is(e)?new r([this[0].nextElementSibling]):new r([]):this[0].nextElementSibling?new r([this[0].nextElementSibling]):new r([]):new r([])},nextAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.nextElementSibling;){var s=i.nextElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&n(t.previousElementSibling).is(e)?new r([t.previousElementSibling]):new r([]):t.previousElementSibling?new r([t.previousElementSibling]):new r([])}return new r([])},prevAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.previousElementSibling;){var s=i.previousElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},parent:function(e){for(var t=[],i=0;i<this.length;i+=1)null!==this[i].parentNode&&(e?n(this[i].parentNode).is(e)&&t.push(this[i].parentNode):t.push(this[i].parentNode));return n(o(t))},parents:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].parentNode;s;)e?n(s).is(e)&&t.push(s):t.push(s),s=s.parentNode;return n(o(t))},closest:function(e){var t=this;return void 0===e?new r([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].querySelectorAll(e),a=0;a<s.length;a+=1)t.push(s[a]);return new r(t)},children:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].childNodes,a=0;a<s.length;a+=1)e?1===s[a].nodeType&&n(s[a]).is(e)&&t.push(s[a]):1===s[a].nodeType&&t.push(s[a]);return new r(o(t))},filter:function(e){for(var t=[],i=0;i<this.length;i+=1)e.call(this[i],i,this[i])&&t.push(this[i]);return new r(t)},remove:function(){for(var e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a=this;for(i=0;i<e.length;i+=1){var r=n(e[i]);for(s=0;s<r.length;s+=1)a[a.length]=r[s],a.length+=1}return a},styles:function(){return this[0]?a.getComputedStyle(this[0],null):{}}};Object.keys(l).forEach((function(e){n.fn[e]=n.fn[e]||l[e]}));var d={deleteProps:function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))},nextTick:function(e,t){return void 0===t&&(t=0),setTimeout(e,t)},now:function(){return Date.now()},getTranslate:function(e,t){var i,s,r;void 0===t&&(t="x");var n=a.getComputedStyle(e,null);return a.WebKitCSSMatrix?((s=n.transform||n.webkitTransform).split(",").length>6&&(s=s.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),r=new a.WebKitCSSMatrix("none"===s?"":s)):i=(r=n.MozTransform||n.OTransform||n.MsTransform||n.msTransform||n.transform||n.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(s=a.WebKitCSSMatrix?r.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(s=a.WebKitCSSMatrix?r.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),s||0},parseUrlQuery:function(e){var t,i,s,r,n={},o=e||a.location.href;if("string"==typeof o&&o.length)for(r=(i=(o=o.indexOf("?")>-1?o.replace(/\S*\?/,""):"").split("&").filter((function(e){return""!==e}))).length,t=0;t<r;t+=1)s=i[t].replace(/#\S+/g,"").split("="),n[decodeURIComponent(s[0])]=void 0===s[1]?void 0:decodeURIComponent(s[1])||"";return n},isObject:function(e){return"object"==typeof e&&null!==e&&e.constructor&&e.constructor===Object},extend:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var i=Object(e[0]),s=1;s<e.length;s+=1){var a=e[s];if(null!=a)for(var r=Object.keys(Object(a)),n=0,o=r.length;n<o;n+=1){var l=r[n],h=Object.getOwnPropertyDescriptor(a,l);void 0!==h&&h.enumerable&&(d.isObject(i[l])&&d.isObject(a[l])?d.extend(i[l],a[l]):!d.isObject(i[l])&&d.isObject(a[l])?(i[l]={},d.extend(i[l],a[l])):i[l]=a[l])}}return i}},h={touch:!!("ontouchstart"in a||a.DocumentTouch&&i instanceof a.DocumentTouch),pointerEvents:!!a.PointerEvent&&"maxTouchPoints"in a.navigator&&a.navigator.maxTouchPoints>=0,observer:"MutationObserver"in a||"WebkitMutationObserver"in a,passiveListener:function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});a.addEventListener("testPassiveListener",null,t)}catch(e){}return e}(),gestures:"ongesturestart"in a},p=function(e){void 0===e&&(e={});var t=this;t.params=e,t.eventsListeners={},t.params&&t.params.on&&Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))},c={components:{configurable:!0}};p.prototype.on=function(e,t,i){var s=this;if("function"!=typeof t)return s;var a=i?"unshift":"push";return e.split(" ").forEach((function(e){s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][a](t)})),s},p.prototype.once=function(e,t,i){var s=this;if("function"!=typeof t)return s;function a(){for(var i=[],r=arguments.length;r--;)i[r]=arguments[r];s.off(e,a),a.f7proxy&&delete a.f7proxy,t.apply(s,i)}return a.f7proxy=t,s.on(e,a,i)},p.prototype.off=function(e,t){var i=this;return i.eventsListeners?(e.split(" ").forEach((function(e){void 0===t?i.eventsListeners[e]=[]:i.eventsListeners[e]&&i.eventsListeners[e].length&&i.eventsListeners[e].forEach((function(s,a){(s===t||s.f7proxy&&s.f7proxy===t)&&i.eventsListeners[e].splice(a,1)}))})),i):i},p.prototype.emit=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a,r=this;if(!r.eventsListeners)return r;"string"==typeof e[0]||Array.isArray(e[0])?(i=e[0],s=e.slice(1,e.length),a=r):(i=e[0].events,s=e[0].data,a=e[0].context||r);var n=Array.isArray(i)?i:i.split(" ");return n.forEach((function(e){if(r.eventsListeners&&r.eventsListeners[e]){var t=[];r.eventsListeners[e].forEach((function(e){t.push(e)})),t.forEach((function(e){e.apply(a,s)}))}})),r},p.prototype.useModulesParams=function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i];s.params&&d.extend(e,s.params)}))},p.prototype.useModules=function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i],a=e[i]||{};s.instance&&Object.keys(s.instance).forEach((function(e){var i=s.instance[e];t[e]="function"==typeof i?i.bind(t):i})),s.on&&t.on&&Object.keys(s.on).forEach((function(e){t.on(e,s.on[e])})),s.create&&s.create.bind(t)(a)}))},c.components.set=function(e){this.use&&this.use(e)},p.installModule=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;s.prototype.modules||(s.prototype.modules={});var a=e.name||Object.keys(s.prototype.modules).length+"_"+d.now();return s.prototype.modules[a]=e,e.proto&&Object.keys(e.proto).forEach((function(t){s.prototype[t]=e.proto[t]})),e.static&&Object.keys(e.static).forEach((function(t){s[t]=e.static[t]})),e.install&&e.install.apply(s,t),s},p.use=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;return Array.isArray(e)?(e.forEach((function(e){return s.installModule(e)})),s):s.installModule.apply(s,[e].concat(t))},Object.defineProperties(p,c);var u={updateSize:function(){var e,t,i=this.$el;e=void 0!==this.params.width?this.params.width:i[0].clientWidth,t=void 0!==this.params.height?this.params.height:i[0].clientHeight,0===e&&this.isHorizontal()||0===t&&this.isVertical()||(e=e-parseInt(i.css("padding-left"),10)-parseInt(i.css("padding-right"),10),t=t-parseInt(i.css("padding-top"),10)-parseInt(i.css("padding-bottom"),10),d.extend(this,{width:e,height:t,size:this.isHorizontal()?e:t}))},updateSlides:function(){var e=this.params,t=this.$wrapperEl,i=this.size,s=this.rtlTranslate,r=this.wrongRTL,n=this.virtual&&e.virtual.enabled,o=n?this.virtual.slides.length:this.slides.length,l=t.children("."+this.params.slideClass),h=n?this.virtual.slides.length:l.length,p=[],c=[],u=[];function v(t){return!e.cssMode||t!==l.length-1}var f=e.slidesOffsetBefore;"function"==typeof f&&(f=e.slidesOffsetBefore.call(this));var m=e.slidesOffsetAfter;"function"==typeof m&&(m=e.slidesOffsetAfter.call(this));var g=this.snapGrid.length,b=this.snapGrid.length,w=e.spaceBetween,y=-f,x=0,E=0;if(void 0!==i){var T,S;"string"==typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*i),this.virtualSize=-w,s?l.css({marginLeft:"",marginTop:""}):l.css({marginRight:"",marginBottom:""}),e.slidesPerColumn>1&&(T=Math.floor(h/e.slidesPerColumn)===h/this.params.slidesPerColumn?h:Math.ceil(h/e.slidesPerColumn)*e.slidesPerColumn,"auto"!==e.slidesPerView&&"row"===e.slidesPerColumnFill&&(T=Math.max(T,e.slidesPerView*e.slidesPerColumn)));for(var C,M=e.slidesPerColumn,P=T/M,z=Math.floor(h/e.slidesPerColumn),k=0;k<h;k+=1){S=0;var $=l.eq(k);if(e.slidesPerColumn>1){var L=void 0,I=void 0,D=void 0;if("row"===e.slidesPerColumnFill&&e.slidesPerGroup>1){var O=Math.floor(k/(e.slidesPerGroup*e.slidesPerColumn)),A=k-e.slidesPerColumn*e.slidesPerGroup*O,G=0===O?e.slidesPerGroup:Math.min(Math.ceil((h-O*M*e.slidesPerGroup)/M),e.slidesPerGroup);L=(I=A-(D=Math.floor(A/G))*G+O*e.slidesPerGroup)+D*T/M,$.css({"-webkit-box-ordinal-group":L,"-moz-box-ordinal-group":L,"-ms-flex-order":L,"-webkit-order":L,order:L})}else"column"===e.slidesPerColumnFill?(D=k-(I=Math.floor(k/M))*M,(I>z||I===z&&D===M-1)&&(D+=1)>=M&&(D=0,I+=1)):I=k-(D=Math.floor(k/P))*P;$.css("margin-"+(this.isHorizontal()?"top":"left"),0!==D&&e.spaceBetween&&e.spaceBetween+"px")}if("none"!==$.css("display")){if("auto"===e.slidesPerView){var H=a.getComputedStyle($[0],null),B=$[0].style.transform,N=$[0].style.webkitTransform;if(B&&($[0].style.transform="none"),N&&($[0].style.webkitTransform="none"),e.roundLengths)S=this.isHorizontal()?$.outerWidth(!0):$.outerHeight(!0);else if(this.isHorizontal()){var X=parseFloat(H.getPropertyValue("width")),V=parseFloat(H.getPropertyValue("padding-left")),Y=parseFloat(H.getPropertyValue("padding-right")),F=parseFloat(H.getPropertyValue("margin-left")),W=parseFloat(H.getPropertyValue("margin-right")),R=H.getPropertyValue("box-sizing");S=R&&"border-box"===R?X+F+W:X+V+Y+F+W}else{var q=parseFloat(H.getPropertyValue("height")),j=parseFloat(H.getPropertyValue("padding-top")),K=parseFloat(H.getPropertyValue("padding-bottom")),U=parseFloat(H.getPropertyValue("margin-top")),_=parseFloat(H.getPropertyValue("margin-bottom")),Z=H.getPropertyValue("box-sizing");S=Z&&"border-box"===Z?q+U+_:q+j+K+U+_}B&&($[0].style.transform=B),N&&($[0].style.webkitTransform=N),e.roundLengths&&(S=Math.floor(S))}else S=(i-(e.slidesPerView-1)*w)/e.slidesPerView,e.roundLengths&&(S=Math.floor(S)),l[k]&&(this.isHorizontal()?l[k].style.width=S+"px":l[k].style.height=S+"px");l[k]&&(l[k].swiperSlideSize=S),u.push(S),e.centeredSlides?(y=y+S/2+x/2+w,0===x&&0!==k&&(y=y-i/2-w),0===k&&(y=y-i/2-w),Math.abs(y)<.001&&(y=0),e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y)):(e.roundLengths&&(y=Math.floor(y)),(E-Math.min(this.params.slidesPerGroupSkip,E))%this.params.slidesPerGroup==0&&p.push(y),c.push(y),y=y+S+w),this.virtualSize+=S+w,x=S,E+=1}}if(this.virtualSize=Math.max(this.virtualSize,i)+m,s&&r&&("slide"===e.effect||"coverflow"===e.effect)&&t.css({width:this.virtualSize+e.spaceBetween+"px"}),e.setWrapperSize&&(this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"})),e.slidesPerColumn>1&&(this.virtualSize=(S+e.spaceBetween)*T,this.virtualSize=Math.ceil(this.virtualSize/e.slidesPerColumn)-e.spaceBetween,this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"}),e.centeredSlides)){C=[];for(var Q=0;Q<p.length;Q+=1){var J=p[Q];e.roundLengths&&(J=Math.floor(J)),p[Q]<this.virtualSize+p[0]&&C.push(J)}p=C}if(!e.centeredSlides){C=[];for(var ee=0;ee<p.length;ee+=1){var te=p[ee];e.roundLengths&&(te=Math.floor(te)),p[ee]<=this.virtualSize-i&&C.push(te)}p=C,Math.floor(this.virtualSize-i)-Math.floor(p[p.length-1])>1&&p.push(this.virtualSize-i)}if(0===p.length&&(p=[0]),0!==e.spaceBetween&&(this.isHorizontal()?s?l.filter(v).css({marginLeft:w+"px"}):l.filter(v).css({marginRight:w+"px"}):l.filter(v).css({marginBottom:w+"px"})),e.centeredSlides&&e.centeredSlidesBounds){var ie=0;u.forEach((function(t){ie+=t+(e.spaceBetween?e.spaceBetween:0)}));var se=(ie-=e.spaceBetween)-i;p=p.map((function(e){return e<0?-f:e>se?se+m:e}))}if(e.centerInsufficientSlides){var ae=0;if(u.forEach((function(t){ae+=t+(e.spaceBetween?e.spaceBetween:0)})),(ae-=e.spaceBetween)<i){var re=(i-ae)/2;p.forEach((function(e,t){p[t]=e-re})),c.forEach((function(e,t){c[t]=e+re}))}}d.extend(this,{slides:l,snapGrid:p,slidesGrid:c,slidesSizesGrid:u}),h!==o&&this.emit("slidesLengthChange"),p.length!==g&&(this.params.watchOverflow&&this.checkOverflow(),this.emit("snapGridLengthChange")),c.length!==b&&this.emit("slidesGridLengthChange"),(e.watchSlidesProgress||e.watchSlidesVisibility)&&this.updateSlidesOffset()}},updateAutoHeight:function(e){var t,i=[],s=0;if("number"==typeof e?this.setTransition(e):!0===e&&this.setTransition(this.params.speed),"auto"!==this.params.slidesPerView&&this.params.slidesPerView>1)if(this.params.centeredSlides)this.visibleSlides.each((function(e,t){i.push(t)}));else for(t=0;t<Math.ceil(this.params.slidesPerView);t+=1){var a=this.activeIndex+t;if(a>this.slides.length)break;i.push(this.slides.eq(a)[0])}else i.push(this.slides.eq(this.activeIndex)[0]);for(t=0;t<i.length;t+=1)if(void 0!==i[t]){var r=i[t].offsetHeight;s=r>s?r:s}s&&this.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t<e.length;t+=1)e[t].swiperSlideOffset=this.isHorizontal()?e[t].offsetLeft:e[t].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this.params,i=this.slides,s=this.rtlTranslate;if(0!==i.length){void 0===i[0].swiperSlideOffset&&this.updateSlidesOffset();var a=-e;s&&(a=e),i.removeClass(t.slideVisibleClass),this.visibleSlidesIndexes=[],this.visibleSlides=[];for(var r=0;r<i.length;r+=1){var o=i[r],l=(a+(t.centeredSlides?this.minTranslate():0)-o.swiperSlideOffset)/(o.swiperSlideSize+t.spaceBetween);if(t.watchSlidesVisibility||t.centeredSlides&&t.autoHeight){var d=-(a-o.swiperSlideOffset),h=d+this.slidesSizesGrid[r];(d>=0&&d<this.size-1||h>1&&h<=this.size||d<=0&&h>=this.size)&&(this.visibleSlides.push(o),this.visibleSlidesIndexes.push(r),i.eq(r).addClass(t.slideVisibleClass))}o.progress=s?-l:l}this.visibleSlides=n(this.visibleSlides)}},updateProgress:function(e){if(void 0===e){var t=this.rtlTranslate?-1:1;e=this&&this.translate&&this.translate*t||0}var i=this.params,s=this.maxTranslate()-this.minTranslate(),a=this.progress,r=this.isBeginning,n=this.isEnd,o=r,l=n;0===s?(a=0,r=!0,n=!0):(r=(a=(e-this.minTranslate())/s)<=0,n=a>=1),d.extend(this,{progress:a,isBeginning:r,isEnd:n}),(i.watchSlidesProgress||i.watchSlidesVisibility||i.centeredSlides&&i.autoHeight)&&this.updateSlidesProgress(e),r&&!o&&this.emit("reachBeginning toEdge"),n&&!l&&this.emit("reachEnd toEdge"),(o&&!r||l&&!n)&&this.emit("fromEdge"),this.emit("progress",a)},updateSlidesClasses:function(){var e,t=this.slides,i=this.params,s=this.$wrapperEl,a=this.activeIndex,r=this.realIndex,n=this.virtual&&i.virtual.enabled;t.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=n?this.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+a+'"]'):t.eq(a)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass));var o=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===o.length&&(o=t.eq(0)).addClass(i.slideNextClass);var l=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===l.length&&(l=t.eq(-1)).addClass(i.slidePrevClass),i.loop&&(o.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),l.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,i=this.rtlTranslate?this.translate:-this.translate,s=this.slidesGrid,a=this.snapGrid,r=this.params,n=this.activeIndex,o=this.realIndex,l=this.snapIndex,h=e;if(void 0===h){for(var p=0;p<s.length;p+=1)void 0!==s[p+1]?i>=s[p]&&i<s[p+1]-(s[p+1]-s[p])/2?h=p:i>=s[p]&&i<s[p+1]&&(h=p+1):i>=s[p]&&(h=p);r.normalizeSlideIndex&&(h<0||void 0===h)&&(h=0)}if(a.indexOf(i)>=0)t=a.indexOf(i);else{var c=Math.min(r.slidesPerGroupSkip,h);t=c+Math.floor((h-c)/r.slidesPerGroup)}if(t>=a.length&&(t=a.length-1),h!==n){var u=parseInt(this.slides.eq(h).attr("data-swiper-slide-index")||h,10);d.extend(this,{snapIndex:t,realIndex:u,previousIndex:n,activeIndex:h}),this.emit("activeIndexChange"),this.emit("snapIndexChange"),o!==u&&this.emit("realIndexChange"),(this.initialized||this.params.runCallbacksOnInit)&&this.emit("slideChange")}else t!==l&&(this.snapIndex=t,this.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this.params,i=n(e.target).closest("."+t.slideClass)[0],s=!1;if(i)for(var a=0;a<this.slides.length;a+=1)this.slides[a]===i&&(s=!0);if(!i||!s)return this.clickedSlide=void 0,void(this.clickedIndex=void 0);this.clickedSlide=i,this.virtual&&this.params.virtual.enabled?this.clickedIndex=parseInt(n(i).attr("data-swiper-slide-index"),10):this.clickedIndex=n(i).index(),t.slideToClickedSlide&&void 0!==this.clickedIndex&&this.clickedIndex!==this.activeIndex&&this.slideToClickedSlide()}},v={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");var t=this.params,i=this.rtlTranslate,s=this.translate,a=this.$wrapperEl;if(t.virtualTranslate)return i?-s:s;if(t.cssMode)return s;var r=d.getTranslate(a[0],e);return i&&(r=-r),r||0},setTranslate:function(e,t){var i=this.rtlTranslate,s=this.params,a=this.$wrapperEl,r=this.wrapperEl,n=this.progress,o=0,l=0;this.isHorizontal()?o=i?-e:e:l=e,s.roundLengths&&(o=Math.floor(o),l=Math.floor(l)),s.cssMode?r[this.isHorizontal()?"scrollLeft":"scrollTop"]=this.isHorizontal()?-o:-l:s.virtualTranslate||a.transform("translate3d("+o+"px, "+l+"px, 0px)"),this.previousTranslate=this.translate,this.translate=this.isHorizontal()?o:l;var d=this.maxTranslate()-this.minTranslate();(0===d?0:(e-this.minTranslate())/d)!==n&&this.updateProgress(e),this.emit("setTranslate",this.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,i,s,a){var r;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0),void 0===s&&(s=!0);var n=this,o=n.params,l=n.wrapperEl;if(n.animating&&o.preventInteractionOnTransition)return!1;var d,h=n.minTranslate(),p=n.maxTranslate();if(d=s&&e>h?h:s&&e<p?p:e,n.updateProgress(d),o.cssMode){var c=n.isHorizontal();return 0===t?l[c?"scrollLeft":"scrollTop"]=-d:l.scrollTo?l.scrollTo(((r={})[c?"left":"top"]=-d,r.behavior="smooth",r)):l[c?"scrollLeft":"scrollTop"]=-d,!0}return 0===t?(n.setTransition(0),n.setTranslate(d),i&&(n.emit("beforeTransitionStart",t,a),n.emit("transitionEnd"))):(n.setTransition(t),n.setTranslate(d),i&&(n.emit("beforeTransitionStart",t,a),n.emit("transitionStart")),n.animating||(n.animating=!0,n.onTranslateToWrapperTransitionEnd||(n.onTranslateToWrapperTransitionEnd=function(e){n&&!n.destroyed&&e.target===this&&(n.$wrapperEl[0].removeEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.$wrapperEl[0].removeEventListener("webkitTransitionEnd",n.onTranslateToWrapperTransitionEnd),n.onTranslateToWrapperTransitionEnd=null,delete n.onTranslateToWrapperTransitionEnd,i&&n.emit("transitionEnd"))}),n.$wrapperEl[0].addEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.$wrapperEl[0].addEventListener("webkitTransitionEnd",n.onTranslateToWrapperTransitionEnd))),!0}},f={setTransition:function(e,t){this.params.cssMode||this.$wrapperEl.transition(e),this.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.params,a=this.previousIndex;if(!s.cssMode){s.autoHeight&&this.updateAutoHeight();var r=t;if(r||(r=i>a?"next":i<a?"prev":"reset"),this.emit("transitionStart"),e&&i!==a){if("reset"===r)return void this.emit("slideResetTransitionStart");this.emit("slideChangeTransitionStart"),"next"===r?this.emit("slideNextTransitionStart"):this.emit("slidePrevTransitionStart")}}},transitionEnd:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.previousIndex,a=this.params;if(this.animating=!1,!a.cssMode){this.setTransition(0);var r=t;if(r||(r=i>s?"next":i<s?"prev":"reset"),this.emit("transitionEnd"),e&&i!==s){if("reset"===r)return void this.emit("slideResetTransitionEnd");this.emit("slideChangeTransitionEnd"),"next"===r?this.emit("slideNextTransitionEnd"):this.emit("slidePrevTransitionEnd")}}}},m={slideTo:function(e,t,i,s){var a;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var r=this,n=e;n<0&&(n=0);var o=r.params,l=r.snapGrid,d=r.slidesGrid,h=r.previousIndex,p=r.activeIndex,c=r.rtlTranslate,u=r.wrapperEl;if(r.animating&&o.preventInteractionOnTransition)return!1;var v=Math.min(r.params.slidesPerGroupSkip,n),f=v+Math.floor((n-v)/r.params.slidesPerGroup);f>=l.length&&(f=l.length-1),(p||o.initialSlide||0)===(h||0)&&i&&r.emit("beforeSlideChangeStart");var m,g=-l[f];if(r.updateProgress(g),o.normalizeSlideIndex)for(var b=0;b<d.length;b+=1)-Math.floor(100*g)>=Math.floor(100*d[b])&&(n=b);if(r.initialized&&n!==p){if(!r.allowSlideNext&&g<r.translate&&g<r.minTranslate())return!1;if(!r.allowSlidePrev&&g>r.translate&&g>r.maxTranslate()&&(p||0)!==n)return!1}if(m=n>p?"next":n<p?"prev":"reset",c&&-g===r.translate||!c&&g===r.translate)return r.updateActiveIndex(n),o.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==o.effect&&r.setTranslate(g),"reset"!==m&&(r.transitionStart(i,m),r.transitionEnd(i,m)),!1;if(o.cssMode){var w=r.isHorizontal(),y=-g;return c&&(y=u.scrollWidth-u.offsetWidth-y),0===t?u[w?"scrollLeft":"scrollTop"]=y:u.scrollTo?u.scrollTo(((a={})[w?"left":"top"]=y,a.behavior="smooth",a)):u[w?"scrollLeft":"scrollTop"]=y,!0}return 0===t?(r.setTransition(0),r.setTranslate(g),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,m),r.transitionEnd(i,m)):(r.setTransition(t),r.setTranslate(g),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,m),r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(i,m))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd))),!0},slideToLoop:function(e,t,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var a=e;return this.params.loop&&(a+=this.loopedSlides),this.slideTo(a,t,i,s)},slideNext:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.activeIndex<s.slidesPerGroupSkip?1:s.slidesPerGroup;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}return this.slideTo(this.activeIndex+r,e,t,i)},slidePrev:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.snapGrid,n=this.slidesGrid,o=this.rtlTranslate;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}function l(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var d,h=l(o?this.translate:-this.translate),p=r.map((function(e){return l(e)})),c=(n.map((function(e){return l(e)})),r[p.indexOf(h)],r[p.indexOf(h)-1]);return void 0===c&&s.cssMode&&r.forEach((function(e){!c&&h>=e&&(c=e)})),void 0!==c&&(d=n.indexOf(c))<0&&(d=this.activeIndex-1),this.slideTo(d,e,t,i)},slideReset:function(e,t,i){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,i)},slideToClosest:function(e,t,i,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===s&&(s=.5);var a=this.activeIndex,r=Math.min(this.params.slidesPerGroupSkip,a),n=r+Math.floor((a-r)/this.params.slidesPerGroup),o=this.rtlTranslate?this.translate:-this.translate;if(o>=this.snapGrid[n]){var l=this.snapGrid[n];o-l>(this.snapGrid[n+1]-l)*s&&(a+=this.params.slidesPerGroup)}else{var d=this.snapGrid[n-1];o-d<=(this.snapGrid[n]-d)*s&&(a-=this.params.slidesPerGroup)}return a=Math.max(a,0),a=Math.min(a,this.slidesGrid.length-1),this.slideTo(a,e,t,i)},slideToClickedSlide:function(){var e,t=this,i=t.params,s=t.$wrapperEl,a="auto"===i.slidesPerView?t.slidesPerViewDynamic():i.slidesPerView,r=t.clickedIndex;if(i.loop){if(t.animating)return;e=parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"),10),i.centeredSlides?r<t.loopedSlides-a/2||r>t.slides.length-t.loopedSlides+a/2?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r):r>t.slides.length-a?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r)}else t.slideTo(r)}},g={loopCreate:function(){var e=this,t=e.params,s=e.$wrapperEl;s.children("."+t.slideClass+"."+t.slideDuplicateClass).remove();var a=s.children("."+t.slideClass);if(t.loopFillGroupWithBlank){var r=t.slidesPerGroup-a.length%t.slidesPerGroup;if(r!==t.slidesPerGroup){for(var o=0;o<r;o+=1){var l=n(i.createElement("div")).addClass(t.slideClass+" "+t.slideBlankClass);s.append(l)}a=s.children("."+t.slideClass)}}"auto"!==t.slidesPerView||t.loopedSlides||(t.loopedSlides=a.length),e.loopedSlides=Math.ceil(parseFloat(t.loopedSlides||t.slidesPerView,10)),e.loopedSlides+=t.loopAdditionalSlides,e.loopedSlides>a.length&&(e.loopedSlides=a.length);var d=[],h=[];a.each((function(t,i){var s=n(i);t<e.loopedSlides&&h.push(i),t<a.length&&t>=a.length-e.loopedSlides&&d.push(i),s.attr("data-swiper-slide-index",t)}));for(var p=0;p<h.length;p+=1)s.append(n(h[p].cloneNode(!0)).addClass(t.slideDuplicateClass));for(var c=d.length-1;c>=0;c-=1)s.prepend(n(d[c].cloneNode(!0)).addClass(t.slideDuplicateClass))},loopFix:function(){this.emit("beforeLoopFix");var e,t=this.activeIndex,i=this.slides,s=this.loopedSlides,a=this.allowSlidePrev,r=this.allowSlideNext,n=this.snapGrid,o=this.rtlTranslate;this.allowSlidePrev=!0,this.allowSlideNext=!0;var l=-n[t]-this.getTranslate();t<s?(e=i.length-3*s+t,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l)):t>=i.length-s&&(e=-i.length+t+s,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l)),this.allowSlidePrev=a,this.allowSlideNext=r,this.emit("loopFix")},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,i=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}},b={setGrabCursor:function(e){if(!(h.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked||this.params.cssMode)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){h.touch||this.params.watchOverflow&&this.isLocked||this.params.cssMode||(this.el.style.cursor="")}},w,y,x,E,T,S,C,M,P,z,k,$,L,I,D,O={appendSlide:function(e){var t=this.$wrapperEl,i=this.params;if(i.loop&&this.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s<e.length;s+=1)e[s]&&t.append(e[s]);else t.append(e);i.loop&&this.loopCreate(),i.observer&&h.observer||this.update()},prependSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&this.loopDestroy();var a=s+1;if("object"==typeof e&&"length"in e){for(var r=0;r<e.length;r+=1)e[r]&&i.prepend(e[r]);a=s+e.length}else i.prepend(e);t.loop&&this.loopCreate(),t.observer&&h.observer||this.update(),this.slideTo(a,0,!1)},addSlide:function(e,t){var i=this.$wrapperEl,s=this.params,a=this.activeIndex;s.loop&&(a-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+s.slideClass));var r=this.slides.length;if(e<=0)this.prependSlide(t);else if(e>=r)this.appendSlide(t);else{for(var n=a>e?a+1:a,o=[],l=r-1;l>=e;l-=1){var d=this.slides.eq(l);d.remove(),o.unshift(d)}if("object"==typeof t&&"length"in t){for(var p=0;p<t.length;p+=1)t[p]&&i.append(t[p]);n=a>e?a+t.length:a}else i.append(t);for(var c=0;c<o.length;c+=1)i.append(o[c]);s.loop&&this.loopCreate(),s.observer&&h.observer||this.update(),s.loop?this.slideTo(n+this.loopedSlides,0,!1):this.slideTo(n,0,!1)}},removeSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&(s-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+t.slideClass));var a,r=s;if("object"==typeof e&&"length"in e){for(var n=0;n<e.length;n+=1)a=e[n],this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1);r=Math.max(r,0)}else a=e,this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1),r=Math.max(r,0);t.loop&&this.loopCreate(),t.observer&&h.observer||this.update(),t.loop?this.slideTo(r+this.loopedSlides,0,!1):this.slideTo(r,0,!1)},removeAllSlides:function(){for(var e=[],t=0;t<this.slides.length;t+=1)e.push(t);this.removeSlide(e)}},A=(w=a.navigator.platform,y=a.navigator.userAgent,x={ios:!1,android:!1,androidChrome:!1,desktop:!1,iphone:!1,ipod:!1,ipad:!1,edge:!1,ie:!1,firefox:!1,macos:!1,windows:!1,cordova:!(!a.cordova&&!a.phonegap),phonegap:!(!a.cordova&&!a.phonegap),electron:!1},E=a.screen.width,T=a.screen.height,S=y.match(/(Android);?[\s\/]+([\d.]+)?/),C=y.match(/(iPad).*OS\s([\d_]+)/),M=y.match(/(iPod)(.*OS\s([\d_]+))?/),P=!C&&y.match(/(iPhone\sOS|iOS)\s([\d_]+)/),z=y.indexOf("MSIE ")>=0||y.indexOf("Trident/")>=0,k=y.indexOf("Edge/")>=0,$=y.indexOf("Gecko/")>=0&&y.indexOf("Firefox/")>=0,L="Win32"===w,I=y.toLowerCase().indexOf("electron")>=0,D="MacIntel"===w,!C&&D&&h.touch&&(1024===E&&1366===T||834===E&&1194===T||834===E&&1112===T||768===E&&1024===T)&&(C=y.match(/(Version)\/([\d.]+)/),D=!1),x.ie=z,x.edge=k,x.firefox=$,S&&!L&&(x.os="android",x.osVersion=S[2],x.android=!0,x.androidChrome=y.toLowerCase().indexOf("chrome")>=0),(C||P||M)&&(x.os="ios",x.ios=!0),P&&!M&&(x.osVersion=P[2].replace(/_/g,"."),x.iphone=!0),C&&(x.osVersion=C[2].replace(/_/g,"."),x.ipad=!0),M&&(x.osVersion=M[3]?M[3].replace(/_/g,"."):null,x.ipod=!0),x.ios&&x.osVersion&&y.indexOf("Version/")>=0&&"10"===x.osVersion.split(".")[0]&&(x.osVersion=y.toLowerCase().split("version/")[1].split(" ")[0]),x.webView=!(!(P||C||M)||!y.match(/.*AppleWebKit(?!.*Safari)/i)&&!a.navigator.standalone)||a.matchMedia&&a.matchMedia("(display-mode: standalone)").matches,x.webview=x.webView,x.standalone=x.webView,x.desktop=!(x.ios||x.android)||I,x.desktop&&(x.electron=I,x.macos=D,x.windows=L,x.macos&&(x.os="macos"),x.windows&&(x.os="windows")),x.pixelRatio=a.devicePixelRatio||1,x);function G(e){var t=this.touchEventsData,s=this.params,r=this.touches;if(!this.animating||!s.preventInteractionOnTransition){var o=e;o.originalEvent&&(o=o.originalEvent);var l=n(o.target);if(("wrapper"!==s.touchEventsTarget||l.closest(this.wrapperEl).length)&&(t.isTouchEvent="touchstart"===o.type,(t.isTouchEvent||!("which"in o)||3!==o.which)&&!(!t.isTouchEvent&&"button"in o&&o.button>0||t.isTouched&&t.isMoved)))if(s.noSwiping&&l.closest(s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass)[0])this.allowClick=!0;else if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){r.currentX="touchstart"===o.type?o.targetTouches[0].pageX:o.pageX,r.currentY="touchstart"===o.type?o.targetTouches[0].pageY:o.pageY;var h=r.currentX,p=r.currentY,c=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,u=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(!c||!(h<=u||h>=a.screen.width-u)){if(d.extend(t,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=h,r.startY=p,t.touchStartTime=d.now(),this.allowClick=!0,this.updateSize(),this.swipeDirection=void 0,s.threshold>0&&(t.allowThresholdMove=!1),"touchstart"!==o.type){var v=!0;l.is(t.formElements)&&(v=!1),i.activeElement&&n(i.activeElement).is(t.formElements)&&i.activeElement!==l[0]&&i.activeElement.blur();var f=v&&this.allowTouchMove&&s.touchStartPreventDefault;(s.touchStartForcePreventDefault||f)&&o.preventDefault()}this.emit("touchStart",o)}}}}function H(e){var t=this.touchEventsData,s=this.params,a=this.touches,r=this.rtlTranslate,o=e;if(o.originalEvent&&(o=o.originalEvent),t.isTouched){if(!t.isTouchEvent||"touchmove"===o.type){var l="touchmove"===o.type&&o.targetTouches&&(o.targetTouches[0]||o.changedTouches[0]),h="touchmove"===o.type?l.pageX:o.pageX,p="touchmove"===o.type?l.pageY:o.pageY;if(o.preventedByNestedSwiper)return a.startX=h,void(a.startY=p);if(!this.allowTouchMove)return this.allowClick=!1,void(t.isTouched&&(d.extend(a,{startX:h,startY:p,currentX:h,currentY:p}),t.touchStartTime=d.now()));if(t.isTouchEvent&&s.touchReleaseOnEdges&&!s.loop)if(this.isVertical()){if(p<a.startY&&this.translate<=this.maxTranslate()||p>a.startY&&this.translate>=this.minTranslate())return t.isTouched=!1,void(t.isMoved=!1)}else if(h<a.startX&&this.translate<=this.maxTranslate()||h>a.startX&&this.translate>=this.minTranslate())return;if(t.isTouchEvent&&i.activeElement&&o.target===i.activeElement&&n(o.target).is(t.formElements))return t.isMoved=!0,void(this.allowClick=!1);if(t.allowTouchCallbacks&&this.emit("touchMove",o),!(o.targetTouches&&o.targetTouches.length>1)){a.currentX=h,a.currentY=p;var c=a.currentX-a.startX,u=a.currentY-a.startY,v;if(!(this.params.threshold&&Math.sqrt(Math.pow(c,2)+Math.pow(u,2))<this.params.threshold))if(void 0===t.isScrolling&&(this.isHorizontal()&&a.currentY===a.startY||this.isVertical()&&a.currentX===a.startX?t.isScrolling=!1:c*c+u*u>=25&&(v=180*Math.atan2(Math.abs(u),Math.abs(c))/Math.PI,t.isScrolling=this.isHorizontal()?v>s.touchAngle:90-v>s.touchAngle)),t.isScrolling&&this.emit("touchMoveOpposite",o),void 0===t.startMoving&&(a.currentX===a.startX&&a.currentY===a.startY||(t.startMoving=!0)),t.isScrolling)t.isTouched=!1;else if(t.startMoving){this.allowClick=!1,!s.cssMode&&o.cancelable&&o.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&o.stopPropagation(),t.isMoved||(s.loop&&this.loopFix(),t.startTranslate=this.getTranslate(),this.setTransition(0),this.animating&&this.$wrapperEl.trigger("webkitTransitionEnd transitionend"),t.allowMomentumBounce=!1,!s.grabCursor||!0!==this.allowSlideNext&&!0!==this.allowSlidePrev||this.setGrabCursor(!0),this.emit("sliderFirstMove",o)),this.emit("sliderMove",o),t.isMoved=!0;var f=this.isHorizontal()?c:u;a.diff=f,f*=s.touchRatio,r&&(f=-f),this.swipeDirection=f>0?"prev":"next",t.currentTranslate=f+t.startTranslate;var m=!0,g=s.resistanceRatio;if(s.touchReleaseOnEdges&&(g=0),f>0&&t.currentTranslate>this.minTranslate()?(m=!1,s.resistance&&(t.currentTranslate=this.minTranslate()-1+Math.pow(-this.minTranslate()+t.startTranslate+f,g))):f<0&&t.currentTranslate<this.maxTranslate()&&(m=!1,s.resistance&&(t.currentTranslate=this.maxTranslate()+1-Math.pow(this.maxTranslate()-t.startTranslate-f,g))),m&&(o.preventedByNestedSwiper=!0),!this.allowSlideNext&&"next"===this.swipeDirection&&t.currentTranslate<t.startTranslate&&(t.currentTranslate=t.startTranslate),!this.allowSlidePrev&&"prev"===this.swipeDirection&&t.currentTranslate>t.startTranslate&&(t.currentTranslate=t.startTranslate),s.threshold>0){if(!(Math.abs(f)>s.threshold||t.allowThresholdMove))return void(t.currentTranslate=t.startTranslate);if(!t.allowThresholdMove)return t.allowThresholdMove=!0,a.startX=a.currentX,a.startY=a.currentY,t.currentTranslate=t.startTranslate,void(a.diff=this.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY)}s.followFinger&&!s.cssMode&&((s.freeMode||s.watchSlidesProgress||s.watchSlidesVisibility)&&(this.updateActiveIndex(),this.updateSlidesClasses()),s.freeMode&&(0===t.velocities.length&&t.velocities.push({position:a[this.isHorizontal()?"startX":"startY"],time:t.touchStartTime}),t.velocities.push({position:a[this.isHorizontal()?"currentX":"currentY"],time:d.now()})),this.updateProgress(t.currentTranslate),this.setTranslate(t.currentTranslate))}}}}else t.startMoving&&t.isScrolling&&this.emit("touchMoveOpposite",o)}function B(e){var t=this,i=t.touchEventsData,s=t.params,a=t.touches,r=t.rtlTranslate,n=t.$wrapperEl,o=t.slidesGrid,l=t.snapGrid,h=e;if(h.originalEvent&&(h=h.originalEvent),i.allowTouchCallbacks&&t.emit("touchEnd",h),i.allowTouchCallbacks=!1,!i.isTouched)return i.isMoved&&s.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,void(i.startMoving=!1);s.grabCursor&&i.isMoved&&i.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,c=d.now(),u=c-i.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(h),t.emit("tap click",h),u<300&&c-i.lastClickTime<300&&t.emit("doubleTap doubleClick",h)),i.lastClickTime=d.now(),d.nextTick((function(){t.destroyed||(t.allowClick=!0)})),!i.isTouched||!i.isMoved||!t.swipeDirection||0===a.diff||i.currentTranslate===i.startTranslate)return i.isTouched=!1,i.isMoved=!1,void(i.startMoving=!1);if(i.isTouched=!1,i.isMoved=!1,i.startMoving=!1,p=s.followFinger?r?t.translate:-t.translate:-i.currentTranslate,!s.cssMode)if(s.freeMode){if(p<-t.minTranslate())return void t.slideTo(t.activeIndex);if(p>-t.maxTranslate())return void(t.slides.length<l.length?t.slideTo(l.length-1):t.slideTo(t.slides.length-1));if(s.freeModeMomentum){if(i.velocities.length>1){var v=i.velocities.pop(),f=i.velocities.pop(),m=v.position-f.position,g=v.time-f.time;t.velocity=m/g,t.velocity/=2,Math.abs(t.velocity)<s.freeModeMinimumVelocity&&(t.velocity=0),(g>150||d.now()-v.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=s.freeModeMomentumVelocityRatio,i.velocities.length=0;var b=1e3*s.freeModeMomentumRatio,w=t.velocity*b,y=t.translate+w;r&&(y=-y);var x,E,T=!1,S=20*Math.abs(t.velocity)*s.freeModeMomentumBounceRatio;if(y<t.maxTranslate())s.freeModeMomentumBounce?(y+t.maxTranslate()<-S&&(y=t.maxTranslate()-S),x=t.maxTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.maxTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(y>t.minTranslate())s.freeModeMomentumBounce?(y-t.minTranslate()>S&&(y=t.minTranslate()+S),x=t.minTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.minTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(s.freeModeSticky){for(var C,M=0;M<l.length;M+=1)if(l[M]>-y){C=M;break}y=-(y=Math.abs(l[C]-y)<Math.abs(l[C-1]-y)||"next"===t.swipeDirection?l[C]:l[C-1])}if(E&&t.once("transitionEnd",(function(){t.loopFix()})),0!==t.velocity){if(b=r?Math.abs((-y-t.translate)/t.velocity):Math.abs((y-t.translate)/t.velocity),s.freeModeSticky){var P=Math.abs((r?-y:y)-t.translate),z=t.slidesSizesGrid[t.activeIndex];b=P<z?s.speed:P<2*z?1.5*s.speed:2.5*s.speed}}else if(s.freeModeSticky)return void t.slideToClosest();s.freeModeMomentumBounce&&T?(t.updateProgress(x),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&i.allowMomentumBounce&&(t.emit("momentumBounce"),t.setTransition(s.speed),setTimeout((function(){t.setTranslate(x),n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(t.updateProgress(y),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(y),t.updateActiveIndex(),t.updateSlidesClasses()}else if(s.freeModeSticky)return void t.slideToClosest();(!s.freeModeMomentum||u>=s.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var k=0,$=t.slidesSizesGrid[0],L=0;L<o.length;L+=L<s.slidesPerGroupSkip?1:s.slidesPerGroup){var I=L<s.slidesPerGroupSkip-1?1:s.slidesPerGroup;void 0!==o[L+I]?p>=o[L]&&p<o[L+I]&&(k=L,$=o[L+I]-o[L]):p>=o[L]&&(k=L,$=o[o.length-1]-o[o.length-2])}var D=(p-o[k])/$,O=k<s.slidesPerGroupSkip-1?1:s.slidesPerGroup;if(u>s.longSwipesMs){if(!s.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(D>=s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k)),"prev"===t.swipeDirection&&(D>1-s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k))}else{if(!s.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||h.target!==t.navigation.nextEl&&h.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(k+O),"prev"===t.swipeDirection&&t.slideTo(k)):h.target===t.navigation.nextEl?t.slideTo(k+O):t.slideTo(k)}}}function N(){var e=this.params,t=this.el;if(!t||0!==t.offsetWidth){e.breakpoints&&this.setBreakpoint();var i=this.allowSlideNext,s=this.allowSlidePrev,a=this.snapGrid;this.allowSlideNext=!0,this.allowSlidePrev=!0,this.updateSize(),this.updateSlides(),this.updateSlidesClasses(),("auto"===e.slidesPerView||e.slidesPerView>1)&&this.isEnd&&!this.isBeginning&&!this.params.centeredSlides?this.slideTo(this.slides.length-1,0,!1,!0):this.slideTo(this.activeIndex,0,!1,!0),this.autoplay&&this.autoplay.running&&this.autoplay.paused&&this.autoplay.run(),this.allowSlidePrev=s,this.allowSlideNext=i,this.params.watchOverflow&&a!==this.snapGrid&&this.checkOverflow()}}function X(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function V(){var e=this.wrapperEl,t=this.rtlTranslate;this.previousTranslate=this.translate,this.isHorizontal()?this.translate=t?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:this.translate=-e.scrollTop,-0===this.translate&&(this.translate=0),this.updateActiveIndex(),this.updateSlidesClasses();var i=this.maxTranslate()-this.minTranslate();(0===i?0:(this.translate-this.minTranslate())/i)!==this.progress&&this.updateProgress(t?-this.translate:this.translate),this.emit("setTranslate",this.translate,!1)}var Y=!1;function F(){}var W={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,preventInteractionOnTransition:!1,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0},R={update:u,translate:v,transition:f,slide:m,loop:g,grabCursor:b,manipulation:O,events:{attachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl;this.onTouchStart=G.bind(this),this.onTouchMove=H.bind(this),this.onTouchEnd=B.bind(this),e.cssMode&&(this.onScroll=V.bind(this)),this.onClick=X.bind(this);var r=!!e.nested;if(!h.touch&&h.pointerEvents)s.addEventListener(t.start,this.onTouchStart,!1),i.addEventListener(t.move,this.onTouchMove,r),i.addEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("touchstart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.addEventListener(t.start,this.onTouchStart,n),s.addEventListener(t.move,this.onTouchMove,h.passiveListener?{passive:!1,capture:r}:r),s.addEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.addEventListener(t.cancel,this.onTouchEnd,n),Y||(i.addEventListener("touchstart",F),Y=!0)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.addEventListener("mousedown",this.onTouchStart,!1),i.addEventListener("mousemove",this.onTouchMove,r),i.addEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.addEventListener("click",this.onClick,!0),e.cssMode&&a.addEventListener("scroll",this.onScroll),e.updateOnWindowResize?this.on(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N,!0):this.on("observerUpdate",N,!0)},detachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl,r=!!e.nested;if(!h.touch&&h.pointerEvents)s.removeEventListener(t.start,this.onTouchStart,!1),i.removeEventListener(t.move,this.onTouchMove,r),i.removeEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("onTouchStart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.removeEventListener(t.start,this.onTouchStart,n),s.removeEventListener(t.move,this.onTouchMove,r),s.removeEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.removeEventListener(t.cancel,this.onTouchEnd,n)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.removeEventListener("mousedown",this.onTouchStart,!1),i.removeEventListener("mousemove",this.onTouchMove,r),i.removeEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.removeEventListener("click",this.onClick,!0),e.cssMode&&a.removeEventListener("scroll",this.onScroll),this.off(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N)}},breakpoints:{setBreakpoint:function(){var e=this.activeIndex,t=this.initialized,i=this.loopedSlides;void 0===i&&(i=0);var s=this.params,a=this.$el,r=s.breakpoints;if(r&&(!r||0!==Object.keys(r).length)){var n=this.getBreakpoint(r);if(n&&this.currentBreakpoint!==n){var o=n in r?r[n]:void 0;o&&["slidesPerView","spaceBetween","slidesPerGroup","slidesPerGroupSkip","slidesPerColumn"].forEach((function(e){var t=o[e];void 0!==t&&(o[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var l=o||this.originalParams,h=s.slidesPerColumn>1,p=l.slidesPerColumn>1;h&&!p?a.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"):!h&&p&&(a.addClass(s.containerModifierClass+"multirow"),"column"===l.slidesPerColumnFill&&a.addClass(s.containerModifierClass+"multirow-column"));var c=l.direction&&l.direction!==s.direction,u=s.loop&&(l.slidesPerView!==s.slidesPerView||c);c&&t&&this.changeDirection(),d.extend(this.params,l),d.extend(this,{allowTouchMove:this.params.allowTouchMove,allowSlideNext:this.params.allowSlideNext,allowSlidePrev:this.params.allowSlidePrev}),this.currentBreakpoint=n,u&&t&&(this.loopDestroy(),this.loopCreate(),this.updateSlides(),this.slideTo(e-i+this.loopedSlides,0,!1)),this.emit("breakpoint",l)}}},getBreakpoint:function(e){if(e){var t=!1,i=Object.keys(e).map((function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:a.innerHeight*t,point:e}}return{value:e,point:e}}));i.sort((function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)}));for(var s=0;s<i.length;s+=1){var r=i[s],n=r.point;r.value<=a.innerWidth&&(t=n)}return t||"max"}}},checkOverflow:{checkOverflow:function(){var e=this.params,t=this.isLocked,i=this.slides.length>0&&e.slidesOffsetBefore+e.spaceBetween*(this.slides.length-1)+this.slides[0].offsetWidth*this.slides.length;e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?this.isLocked=i<=this.size:this.isLocked=1===this.snapGrid.length,this.allowSlideNext=!this.isLocked,this.allowSlidePrev=!this.isLocked,t!==this.isLocked&&this.emit(this.isLocked?"lock":"unlock"),t&&t!==this.isLocked&&(this.isEnd=!1,this.navigation&&this.navigation.update())}},classes:{addClasses:function(){var e=this.classNames,t=this.params,i=this.rtl,s=this.$el,a=[];a.push("initialized"),a.push(t.direction),t.freeMode&&a.push("free-mode"),t.autoHeight&&a.push("autoheight"),i&&a.push("rtl"),t.slidesPerColumn>1&&(a.push("multirow"),"column"===t.slidesPerColumnFill&&a.push("multirow-column")),A.android&&a.push("android"),A.ios&&a.push("ios"),t.cssMode&&a.push("css-mode"),a.forEach((function(i){e.push(t.containerModifierClass+i)})),s.addClass(e.join(" "))},removeClasses:function(){var e=this.$el,t=this.classNames;e.removeClass(t.join(" "))}},images:{loadImage:function(e,t,i,s,r,o){var l;function d(){o&&o()}n(e).parent("picture")[0]||e.complete&&r?d():t?((l=new a.Image).onload=d,l.onerror=d,s&&(l.sizes=s),i&&(l.srcset=i),t&&(l.src=t)):d()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var i=0;i<e.imagesToLoad.length;i+=1){var s=e.imagesToLoad[i];e.loadImage(s,s.currentSrc||s.getAttribute("src"),s.srcset||s.getAttribute("srcset"),s.sizes||s.getAttribute("sizes"),!0,t)}}}},q={},j=function(e){function t(){for(var i,s,a,r=[],o=arguments.length;o--;)r[o]=arguments[o];1===r.length&&r[0].constructor&&r[0].constructor===Object?a=r[0]:(s=(i=r)[0],a=i[1]),a||(a={}),a=d.extend({},a),s&&!a.el&&(a.el=s),e.call(this,a),Object.keys(R).forEach((function(e){Object.keys(R[e]).forEach((function(i){t.prototype[i]||(t.prototype[i]=R[e][i])}))}));var l=this;void 0===l.modules&&(l.modules={}),Object.keys(l.modules).forEach((function(e){var t=l.modules[e];if(t.params){var i=Object.keys(t.params)[0],s=t.params[i];if("object"!=typeof s||null===s)return;if(!(i in a&&"enabled"in s))return;!0===a[i]&&(a[i]={enabled:!0}),"object"!=typeof a[i]||"enabled"in a[i]||(a[i].enabled=!0),a[i]||(a[i]={enabled:!1})}}));var p=d.extend({},W);l.useModulesParams(p),l.params=d.extend({},p,q,a),l.originalParams=d.extend({},l.params),l.passedParams=d.extend({},a),l.$=n;var c=n(l.params.el);if(s=c[0]){if(c.length>1){var u=[];return c.each((function(e,i){var s=d.extend({},a,{el:i});u.push(new t(s))})),u}var v,f,m;return s.swiper=l,c.data("swiper",l),s&&s.shadowRoot&&s.shadowRoot.querySelector?(v=n(s.shadowRoot.querySelector("."+l.params.wrapperClass))).children=function(e){return c.children(e)}:v=c.children("."+l.params.wrapperClass),d.extend(l,{$el:c,el:s,$wrapperEl:v,wrapperEl:v[0],classNames:[],slides:n(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===l.params.direction},isVertical:function(){return"vertical"===l.params.direction},rtl:"rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction"),rtlTranslate:"horizontal"===l.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction")),wrongRTL:"-webkit-box"===v.css("display"),activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEvents:(f=["touchstart","touchmove","touchend","touchcancel"],m=["mousedown","mousemove","mouseup"],h.pointerEvents&&(m=["pointerdown","pointermove","pointerup"]),l.touchEventsTouch={start:f[0],move:f[1],end:f[2],cancel:f[3]},l.touchEventsDesktop={start:m[0],move:m[1],end:m[2]},h.touch||!l.params.simulateTouch?l.touchEventsTouch:l.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,formElements:"input, select, option, textarea, button, video, label",lastClickTime:d.now(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.useModules(),l.params.init&&l.init(),l}}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var i={extendedDefaults:{configurable:!0},defaults:{configurable:!0},Class:{configurable:!0},$:{configurable:!0}};return t.prototype.slidesPerViewDynamic=function(){var e=this.params,t=this.slides,i=this.slidesGrid,s=this.size,a=this.activeIndex,r=1;if(e.centeredSlides){for(var n,o=t[a].swiperSlideSize,l=a+1;l<t.length;l+=1)t[l]&&!n&&(r+=1,(o+=t[l].swiperSlideSize)>s&&(n=!0));for(var d=a-1;d>=0;d-=1)t[d]&&!n&&(r+=1,(o+=t[d].swiperSlideSize)>s&&(n=!0))}else for(var h=a+1;h<t.length;h+=1)i[h]-i[a]<s&&(r+=1);return r},t.prototype.update=function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,i=e.params;i.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode?(s(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||s(),i.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function s(){var t=e.rtlTranslate?-1*e.translate:e.translate,i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i),e.updateActiveIndex(),e.updateSlidesClasses()}},t.prototype.changeDirection=function(e,t){void 0===t&&(t=!0);var i=this.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(this.$el.removeClass(""+this.params.containerModifierClass+i).addClass(""+this.params.containerModifierClass+e),this.params.direction=e,this.slides.each((function(t,i){"vertical"===e?i.style.width="":i.style.height=""})),this.emit("changeDirection"),t&&this.update()),this},t.prototype.init=function(){this.initialized||(this.emit("beforeInit"),this.params.breakpoints&&this.setBreakpoint(),this.addClasses(),this.params.loop&&this.loopCreate(),this.updateSize(),this.updateSlides(),this.params.watchOverflow&&this.checkOverflow(),this.params.grabCursor&&this.setGrabCursor(),this.params.preloadImages&&this.preloadImages(),this.params.loop?this.slideTo(this.params.initialSlide+this.loopedSlides,0,this.params.runCallbacksOnInit):this.slideTo(this.params.initialSlide,0,this.params.runCallbacksOnInit),this.attachEvents(),this.initialized=!0,this.emit("init"))},t.prototype.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var i=this,s=i.params,a=i.$el,r=i.$wrapperEl,n=i.slides;return void 0===i.params||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),a.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,i.$el.data("swiper",null),d.deleteProps(i)),i.destroyed=!0),null},t.extendDefaults=function(e){d.extend(q,e)},i.extendedDefaults.get=function(){return q},i.defaults.get=function(){return W},i.Class.get=function(){return e},i.$.get=function(){return n},Object.defineProperties(t,i),t}(p),K={name:"device",proto:{device:A},static:{device:A}},U={name:"support",proto:{support:h},static:{support:h}},_={isEdge:!!a.navigator.userAgent.match(/Edge/g),isSafari:function(){var e=a.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator.userAgent)},Z={name:"browser",proto:{browser:_},static:{browser:_}},Q={name:"resize",create:function(){var e=this;d.extend(e,{resize:{resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(){a.addEventListener("resize",this.resize.resizeHandler),a.addEventListener("orientationchange",this.resize.orientationChangeHandler)},destroy:function(){a.removeEventListener("resize",this.resize.resizeHandler),a.removeEventListener("orientationchange",this.resize.orientationChangeHandler)}}},J={func:a.MutationObserver||a.WebkitMutationObserver,attach:function(e,t){void 0===t&&(t={});var i=this,s=new(0,J.func)((function(e){if(1!==e.length){var t=function(){i.emit("observerUpdate",e[0])};a.requestAnimationFrame?a.requestAnimationFrame(t):a.setTimeout(t,0)}else i.emit("observerUpdate",e[0])}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),i.observer.observers.push(s)},init:function(){if(h.observer&&this.params.observer){if(this.params.observeParents)for(var e=this.$el.parents(),t=0;t<e.length;t+=1)this.observer.attach(e[t]);this.observer.attach(this.$el[0],{childList:this.params.observeSlideChildren}),this.observer.attach(this.$wrapperEl[0],{attributes:!1})}},destroy:function(){this.observer.observers.forEach((function(e){e.disconnect()})),this.observer.observers=[]}},ee={name:"observer",params:{observer:!1,observeParents:!1,observeSlideChildren:!1},create:function(){d.extend(this,{observer:{init:J.init.bind(this),attach:J.attach.bind(this),destroy:J.destroy.bind(this),observers:[]}})},on:{init:function(){this.observer.init()},destroy:function(){this.observer.destroy()}}},te={update:function(e){var t=this,i=t.params,s=i.slidesPerView,a=i.slidesPerGroup,r=i.centeredSlides,n=t.params.virtual,o=n.addSlidesBefore,l=n.addSlidesAfter,h=t.virtual,p=h.from,c=h.to,u=h.slides,v=h.slidesGrid,f=h.renderSlide,m=h.offset;t.updateActiveIndex();var g,b,w,y=t.activeIndex||0;g=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",r?(b=Math.floor(s/2)+a+o,w=Math.floor(s/2)+a+l):(b=s+(a-1)+o,w=a+l);var x=Math.max((y||0)-w,0),E=Math.min((y||0)+b,u.length-1),T=(t.slidesGrid[x]||0)-(t.slidesGrid[0]||0);function S(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.lazy&&t.params.lazy.enabled&&t.lazy.load()}if(d.extend(t.virtual,{from:x,to:E,offset:T,slidesGrid:t.slidesGrid}),p===x&&c===E&&!e)return t.slidesGrid!==v&&T!==m&&t.slides.css(g,T+"px"),void t.updateProgress();if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:T,from:x,to:E,slides:function(){for(var e=[],t=x;t<=E;t+=1)e.push(u[t]);return e}()}),void S();var C=[],M=[];if(e)t.$wrapperEl.find("."+t.params.slideClass).remove();else for(var P=p;P<=c;P+=1)(P<x||P>E)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+P+'"]').remove();for(var z=0;z<u.length;z+=1)z>=x&&z<=E&&(void 0===c||e?M.push(z):(z>c&&M.push(z),z<p&&C.push(z)));M.forEach((function(e){t.$wrapperEl.append(f(u[e],e))})),C.sort((function(e,t){return t-e})).forEach((function(e){t.$wrapperEl.prepend(f(u[e],e))})),t.$wrapperEl.children(".swiper-slide").css(g,T+"px"),S()},renderSlide:function(e,t){var i=this.params.virtual;if(i.cache&&this.virtual.cache[t])return this.virtual.cache[t];var s=i.renderSlide?n(i.renderSlide.call(this,e,t)):n('<div class="'+this.params.slideClass+'" data-swiper-slide-index="'+t+'">'+e+"</div>");return s.attr("data-swiper-slide-index")||s.attr("data-swiper-slide-index",t),i.cache&&(this.virtual.cache[t]=s),s},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;t<e.length;t+=1)e[t]&&this.virtual.slides.push(e[t]);else this.virtual.slides.push(e);this.virtual.update(!0)},prependSlide:function(e){var t=this.activeIndex,i=t+1,s=1;if(Array.isArray(e)){for(var a=0;a<e.length;a+=1)e[a]&&this.virtual.slides.unshift(e[a]);i=t+e.length,s=e.length}else this.virtual.slides.unshift(e);if(this.params.virtual.cache){var r=this.virtual.cache,n={};Object.keys(r).forEach((function(e){var t=r[e],i=t.attr("data-swiper-slide-index");i&&t.attr("data-swiper-slide-index",parseInt(i,10)+1),n[parseInt(e,10)+s]=t})),this.virtual.cache=n}this.virtual.update(!0),this.slideTo(i,0)},removeSlide:function(e){if(null!=e){var t=this.activeIndex;if(Array.isArray(e))for(var i=e.length-1;i>=0;i-=1)this.virtual.slides.splice(e[i],1),this.params.virtual.cache&&delete this.virtual.cache[e[i]],e[i]<t&&(t-=1),t=Math.max(t,0);else this.virtual.slides.splice(e,1),this.params.virtual.cache&&delete this.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);this.virtual.update(!0),this.slideTo(t,0)}},removeAllSlides:function(){this.virtual.slides=[],this.params.virtual.cache&&(this.virtual.cache={}),this.virtual.update(!0),this.slideTo(0,0)}},ie={name:"virtual",params:{virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,addSlidesBefore:0,addSlidesAfter:0}},create:function(){d.extend(this,{virtual:{update:te.update.bind(this),appendSlide:te.appendSlide.bind(this),prependSlide:te.prependSlide.bind(this),removeSlide:te.removeSlide.bind(this),removeAllSlides:te.removeAllSlides.bind(this),renderSlide:te.renderSlide.bind(this),slides:this.params.virtual.slides,cache:{}}})},on:{beforeInit:function(){if(this.params.virtual.enabled){this.classNames.push(this.params.containerModifierClass+"virtual");var e={watchSlidesProgress:!0};d.extend(this.params,e),d.extend(this.originalParams,e),this.params.initialSlide||this.virtual.update()}},setTranslate:function(){this.params.virtual.enabled&&this.virtual.update()}}},se={handle:function(e){var t=this.rtlTranslate,s=e;s.originalEvent&&(s=s.originalEvent);var r=s.keyCode||s.charCode,n=this.params.keyboard.pageUpDown,o=n&&33===r,l=n&&34===r,d=37===r,h=39===r,p=38===r,c=40===r;if(!this.allowSlideNext&&(this.isHorizontal()&&h||this.isVertical()&&c||l))return!1;if(!this.allowSlidePrev&&(this.isHorizontal()&&d||this.isVertical()&&p||o))return!1;if(!(s.shiftKey||s.altKey||s.ctrlKey||s.metaKey||i.activeElement&&i.activeElement.nodeName&&("input"===i.activeElement.nodeName.toLowerCase()||"textarea"===i.activeElement.nodeName.toLowerCase()))){if(this.params.keyboard.onlyInViewport&&(o||l||d||h||p||c)){var u=!1;if(this.$el.parents("."+this.params.slideClass).length>0&&0===this.$el.parents("."+this.params.slideActiveClass).length)return;var v=a.innerWidth,f=a.innerHeight,m=this.$el.offset();t&&(m.left-=this.$el[0].scrollLeft);for(var g=[[m.left,m.top],[m.left+this.width,m.top],[m.left,m.top+this.height],[m.left+this.width,m.top+this.height]],b=0;b<g.length;b+=1){var w=g[b];w[0]>=0&&w[0]<=v&&w[1]>=0&&w[1]<=f&&(u=!0)}if(!u)return}this.isHorizontal()?((o||l||d||h)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),((l||h)&&!t||(o||d)&&t)&&this.slideNext(),((o||d)&&!t||(l||h)&&t)&&this.slidePrev()):((o||l||p||c)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),(l||c)&&this.slideNext(),(o||p)&&this.slidePrev()),this.emit("keyPress",r)}},enable:function(){this.keyboard.enabled||(n(i).on("keydown",this.keyboard.handle),this.keyboard.enabled=!0)},disable:function(){this.keyboard.enabled&&(n(i).off("keydown",this.keyboard.handle),this.keyboard.enabled=!1)}},ae={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}},create:function(){d.extend(this,{keyboard:{enabled:!1,enable:se.enable.bind(this),disable:se.disable.bind(this),handle:se.handle.bind(this)}})},on:{init:function(){this.params.keyboard.enabled&&this.keyboard.enable()},destroy:function(){this.keyboard.enabled&&this.keyboard.disable()}}},re={lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[],event:function(){return a.navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var e="onwheel"in i;if(!e){var t=i.createElement("div");t.setAttribute("onwheel","return;"),e="function"==typeof t.onwheel}return!e&&i.implementation&&i.implementation.hasFeature&&!0!==i.implementation.hasFeature("","")&&(e=i.implementation.hasFeature("Events.wheel","3.0")),e}()?"wheel":"mousewheel"},normalize:function(e){var t=0,i=0,s=0,a=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),s=10*t,a=10*i,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=a,a=0),(s||a)&&e.deltaMode&&(1===e.deltaMode?(s*=40,a*=40):(s*=800,a*=800)),s&&!t&&(t=s<1?-1:1),a&&!i&&(i=a<1?-1:1),{spinX:t,spinY:i,pixelX:s,pixelY:a}},handleMouseEnter:function(){this.mouseEntered=!0},handleMouseLeave:function(){this.mouseEntered=!1},handle:function(e){var t=e,i=this,s=i.params.mousewheel;i.params.cssMode&&t.preventDefault();var a=i.$el;if("container"!==i.params.mousewheel.eventsTarged&&(a=n(i.params.mousewheel.eventsTarged)),!i.mouseEntered&&!a[0].contains(t.target)&&!s.releaseOnEdges)return!0;t.originalEvent&&(t=t.originalEvent);var r=0,o=i.rtlTranslate?-1:1,l=re.normalize(t);if(s.forceToAxis)if(i.isHorizontal()){if(!(Math.abs(l.pixelX)>Math.abs(l.pixelY)))return!0;r=-l.pixelX*o}else{if(!(Math.abs(l.pixelY)>Math.abs(l.pixelX)))return!0;r=-l.pixelY}else r=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*o:-l.pixelY;if(0===r)return!0;if(s.invert&&(r=-r),i.params.freeMode){var h={time:d.now(),delta:Math.abs(r),direction:Math.sign(r)},p=i.mousewheel.lastEventBeforeSnap,c=p&&h.time<p.time+500&&h.delta<=p.delta&&h.direction===p.direction;if(!c){i.mousewheel.lastEventBeforeSnap=void 0,i.params.loop&&i.loopFix();var u=i.getTranslate()+r*s.sensitivity,v=i.isBeginning,f=i.isEnd;if(u>=i.minTranslate()&&(u=i.minTranslate()),u<=i.maxTranslate()&&(u=i.maxTranslate()),i.setTransition(0),i.setTranslate(u),i.updateProgress(),i.updateActiveIndex(),i.updateSlidesClasses(),(!v&&i.isBeginning||!f&&i.isEnd)&&i.updateSlidesClasses(),i.params.freeModeSticky){clearTimeout(i.mousewheel.timeout),i.mousewheel.timeout=void 0;var m=i.mousewheel.recentWheelEvents;m.length>=15&&m.shift();var g=m.length?m[m.length-1]:void 0,b=m[0];if(m.push(h),g&&(h.delta>g.delta||h.direction!==g.direction))m.splice(0);else if(m.length>=15&&h.time-b.time<500&&b.delta-h.delta>=1&&h.delta<=6){var w=r>0?.8:.2;i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.mousewheel.timeout=d.nextTick((function(){i.slideToClosest(i.params.speed,!0,void 0,w)}),0)}i.mousewheel.timeout||(i.mousewheel.timeout=d.nextTick((function(){i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.slideToClosest(i.params.speed,!0,void 0,.5)}),500))}if(c||i.emit("scroll",t),i.params.autoplay&&i.params.autoplayDisableOnInteraction&&i.autoplay.stop(),u===i.minTranslate()||u===i.maxTranslate())return!0}}else{var y={time:d.now(),delta:Math.abs(r),direction:Math.sign(r),raw:e},x=i.mousewheel.recentWheelEvents;x.length>=2&&x.shift();var E=x.length?x[x.length-1]:void 0;if(x.push(y),E?(y.direction!==E.direction||y.delta>E.delta||y.time>E.time+150)&&i.mousewheel.animateSlider(y):i.mousewheel.animateSlider(y),i.mousewheel.releaseScroll(y))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1},animateSlider:function(e){return e.delta>=6&&d.now()-this.mousewheel.lastScrollTime<60||(e.direction<0?this.isEnd&&!this.params.loop||this.animating||(this.slideNext(),this.emit("scroll",e.raw)):this.isBeginning&&!this.params.loop||this.animating||(this.slidePrev(),this.emit("scroll",e.raw)),this.mousewheel.lastScrollTime=(new a.Date).getTime(),!1)},releaseScroll:function(e){var t=this.params.mousewheel;if(e.direction<0){if(this.isEnd&&!this.params.loop&&t.releaseOnEdges)return!0}else if(this.isBeginning&&!this.params.loop&&t.releaseOnEdges)return!0;return!1},enable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.removeEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.on("mouseenter",this.mousewheel.handleMouseEnter),t.on("mouseleave",this.mousewheel.handleMouseLeave),t.on(e,this.mousewheel.handle),this.mousewheel.enabled=!0,!0},disable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.addEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(!this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.off(e,this.mousewheel.handle),this.mousewheel.enabled=!1,!0}},ne={update:function(){var e=this.params.navigation;if(!this.params.loop){var t=this.navigation,i=t.$nextEl,s=t.$prevEl;s&&s.length>0&&(this.isBeginning?s.addClass(e.disabledClass):s.removeClass(e.disabledClass),s[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass)),i&&i.length>0&&(this.isEnd?i.addClass(e.disabledClass):i.removeClass(e.disabledClass),i[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(e){e.preventDefault(),this.isBeginning&&!this.params.loop||this.slidePrev()},onNextClick:function(e){e.preventDefault(),this.isEnd&&!this.params.loop||this.slideNext()},init:function(){var e,t,i=this.params.navigation;(i.nextEl||i.prevEl)&&(i.nextEl&&(e=n(i.nextEl),this.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===this.$el.find(i.nextEl).length&&(e=this.$el.find(i.nextEl))),i.prevEl&&(t=n(i.prevEl),this.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===this.$el.find(i.prevEl).length&&(t=this.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",this.navigation.onNextClick),t&&t.length>0&&t.on("click",this.navigation.onPrevClick),d.extend(this.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}))},destroy:function(){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;t&&t.length&&(t.off("click",this.navigation.onNextClick),t.removeClass(this.params.navigation.disabledClass)),i&&i.length&&(i.off("click",this.navigation.onPrevClick),i.removeClass(this.params.navigation.disabledClass))}},oe={update:function(){var e=this.rtl,t=this.params.pagination;if(t.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var i,s=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,a=this.pagination.$el,r=this.params.loop?Math.ceil((s-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length;if(this.params.loop?((i=Math.ceil((this.activeIndex-this.loopedSlides)/this.params.slidesPerGroup))>s-1-2*this.loopedSlides&&(i-=s-2*this.loopedSlides),i>r-1&&(i-=r),i<0&&"bullets"!==this.params.paginationType&&(i=r+i)):i=void 0!==this.snapIndex?this.snapIndex:this.activeIndex||0,"bullets"===t.type&&this.pagination.bullets&&this.pagination.bullets.length>0){var o,l,d,h=this.pagination.bullets;if(t.dynamicBullets&&(this.pagination.bulletSize=h.eq(0)[this.isHorizontal()?"outerWidth":"outerHeight"](!0),a.css(this.isHorizontal()?"width":"height",this.pagination.bulletSize*(t.dynamicMainBullets+4)+"px"),t.dynamicMainBullets>1&&void 0!==this.previousIndex&&(this.pagination.dynamicBulletIndex+=i-this.previousIndex,this.pagination.dynamicBulletIndex>t.dynamicMainBullets-1?this.pagination.dynamicBulletIndex=t.dynamicMainBullets-1:this.pagination.dynamicBulletIndex<0&&(this.pagination.dynamicBulletIndex=0)),o=i-this.pagination.dynamicBulletIndex,d=((l=o+(Math.min(h.length,t.dynamicMainBullets)-1))+o)/2),h.removeClass(t.bulletActiveClass+" "+t.bulletActiveClass+"-next "+t.bulletActiveClass+"-next-next "+t.bulletActiveClass+"-prev "+t.bulletActiveClass+"-prev-prev "+t.bulletActiveClass+"-main"),a.length>1)h.each((function(e,s){var a=n(s),r=a.index();r===i&&a.addClass(t.bulletActiveClass),t.dynamicBullets&&(r>=o&&r<=l&&a.addClass(t.bulletActiveClass+"-main"),r===o&&a.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),r===l&&a.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next"))}));else{var p=h.eq(i),c=p.index();if(p.addClass(t.bulletActiveClass),t.dynamicBullets){for(var u=h.eq(o),v=h.eq(l),f=o;f<=l;f+=1)h.eq(f).addClass(t.bulletActiveClass+"-main");if(this.params.loop)if(c>=h.length-t.dynamicMainBullets){for(var m=t.dynamicMainBullets;m>=0;m-=1)h.eq(h.length-m).addClass(t.bulletActiveClass+"-main");h.eq(h.length-t.dynamicMainBullets-1).addClass(t.bulletActiveClass+"-prev")}else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next");else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next")}}if(t.dynamicBullets){var g=Math.min(h.length,t.dynamicMainBullets+4),b=(this.pagination.bulletSize*g-this.pagination.bulletSize)/2-d*this.pagination.bulletSize,w=e?"right":"left";h.css(this.isHorizontal()?w:"top",b+"px")}}if("fraction"===t.type&&(a.find("."+t.currentClass).text(t.formatFractionCurrent(i+1)),a.find("."+t.totalClass).text(t.formatFractionTotal(r))),"progressbar"===t.type){var y;y=t.progressbarOpposite?this.isHorizontal()?"vertical":"horizontal":this.isHorizontal()?"horizontal":"vertical";var x=(i+1)/r,E=1,T=1;"horizontal"===y?E=x:T=x,a.find("."+t.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+E+") scaleY("+T+")").transition(this.params.speed)}"custom"===t.type&&t.renderCustom?(a.html(t.renderCustom(this,i+1,r)),this.emit("paginationRender",this,a[0])):this.emit("paginationUpdate",this,a[0]),a[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](t.lockClass)}},render:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,i=this.pagination.$el,s="";if("bullets"===e.type){for(var a=this.params.loop?Math.ceil((t-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length,r=0;r<a;r+=1)e.renderBullet?s+=e.renderBullet.call(this,r,e.bulletClass):s+="<"+e.bulletElement+' class="'+e.bulletClass+'"></'+e.bulletElement+">";i.html(s),this.pagination.bullets=i.find("."+e.bulletClass)}"fraction"===e.type&&(s=e.renderFraction?e.renderFraction.call(this,e.currentClass,e.totalClass):'<span class="'+e.currentClass+'"></span> / <span class="'+e.totalClass+'"></span>',i.html(s)),"progressbar"===e.type&&(s=e.renderProgressbar?e.renderProgressbar.call(this,e.progressbarFillClass):'<span class="'+e.progressbarFillClass+'"></span>',i.html(s)),"custom"!==e.type&&this.emit("paginationRender",this.pagination.$el[0])}},init:function(){var e=this,t=e.params.pagination;if(t.el){var i=n(t.el);0!==i.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&i.length>1&&(i=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&i.addClass(t.clickableClass),i.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(i.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&i.addClass(t.progressbarOppositeClass),t.clickable&&i.on("click","."+t.bulletClass,(function(t){t.preventDefault();var i=n(this).index()*e.params.slidesPerGroup;e.params.loop&&(i+=e.loopedSlides),e.slideTo(i)})),d.extend(e.pagination,{$el:i,el:i[0]}))}},destroy:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.pagination.$el;t.removeClass(e.hiddenClass),t.removeClass(e.modifierClass+e.type),this.pagination.bullets&&this.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&t.off("click","."+e.bulletClass)}}},le={setTranslate:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=this.rtlTranslate,i=this.progress,s=e.dragSize,a=e.trackSize,r=e.$dragEl,n=e.$el,o=this.params.scrollbar,l=s,d=(a-s)*i;t?(d=-d)>0?(l=s-d,d=0):-d+s>a&&(l=a+d):d<0?(l=s+d,d=0):d+s>a&&(l=a-d),this.isHorizontal()?(r.transform("translate3d("+d+"px, 0, 0)"),r[0].style.width=l+"px"):(r.transform("translate3d(0px, "+d+"px, 0)"),r[0].style.height=l+"px"),o.hide&&(clearTimeout(this.scrollbar.timeout),n[0].style.opacity=1,this.scrollbar.timeout=setTimeout((function(){n[0].style.opacity=0,n.transition(400)}),1e3))}},setTransition:function(e){this.params.scrollbar.el&&this.scrollbar.el&&this.scrollbar.$dragEl.transition(e)},updateSize:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=e.$dragEl,i=e.$el;t[0].style.width="",t[0].style.height="";var s,a=this.isHorizontal()?i[0].offsetWidth:i[0].offsetHeight,r=this.size/this.virtualSize,n=r*(a/this.size);s="auto"===this.params.scrollbar.dragSize?a*r:parseInt(this.params.scrollbar.dragSize,10),this.isHorizontal()?t[0].style.width=s+"px":t[0].style.height=s+"px",i[0].style.display=r>=1?"none":"",this.params.scrollbar.hide&&(i[0].style.opacity=0),d.extend(e,{trackSize:a,divider:r,moveDivider:n,dragSize:s}),e.$el[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](this.params.scrollbar.lockClass)}},getPointerPosition:function(e){return this.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t,i=this.scrollbar,s=this.rtlTranslate,a=i.$el,r=i.dragSize,n=i.trackSize,o=i.dragStartPos;t=(i.getPointerPosition(e)-a.offset()[this.isHorizontal()?"left":"top"]-(null!==o?o:r/2))/(n-r),t=Math.max(Math.min(t,1),0),s&&(t=1-t);var l=this.minTranslate()+(this.maxTranslate()-this.minTranslate())*t;this.updateProgress(l),this.setTranslate(l),this.updateActiveIndex(),this.updateSlidesClasses()},onDragStart:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el,r=i.$dragEl;this.scrollbar.isTouched=!0,this.scrollbar.dragStartPos=e.target===r[0]||e.target===r?i.getPointerPosition(e)-e.target.getBoundingClientRect()[this.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),s.transition(100),r.transition(100),i.setDragPosition(e),clearTimeout(this.scrollbar.dragTimeout),a.transition(0),t.hide&&a.css("opacity",1),this.params.cssMode&&this.$wrapperEl.css("scroll-snap-type","none"),this.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this.scrollbar,i=this.$wrapperEl,s=t.$el,a=t.$dragEl;this.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t.setDragPosition(e),i.transition(0),s.transition(0),a.transition(0),this.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el;this.scrollbar.isTouched&&(this.scrollbar.isTouched=!1,this.params.cssMode&&(this.$wrapperEl.css("scroll-snap-type",""),s.transition("")),t.hide&&(clearTimeout(this.scrollbar.dragTimeout),this.scrollbar.dragTimeout=d.nextTick((function(){a.css("opacity",0),a.transition(400)}),1e3)),this.emit("scrollbarDragEnd",e),t.snapOnRelease&&this.slideToClosest())},enableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.addEventListener(t.start,this.scrollbar.onDragStart,n),r.addEventListener(t.move,this.scrollbar.onDragMove,n),r.addEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.addEventListener(s.start,this.scrollbar.onDragStart,n),i.addEventListener(s.move,this.scrollbar.onDragMove,n),i.addEventListener(s.end,this.scrollbar.onDragEnd,o))}},disableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.removeEventListener(t.start,this.scrollbar.onDragStart,n),r.removeEventListener(t.move,this.scrollbar.onDragMove,n),r.removeEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.removeEventListener(s.start,this.scrollbar.onDragStart,n),i.removeEventListener(s.move,this.scrollbar.onDragMove,n),i.removeEventListener(s.end,this.scrollbar.onDragEnd,o))}},init:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.$el,i=this.params.scrollbar,s=n(i.el);this.params.uniqueNavElements&&"string"==typeof i.el&&s.length>1&&1===t.find(i.el).length&&(s=t.find(i.el));var a=s.find("."+this.params.scrollbar.dragClass);0===a.length&&(a=n('<div class="'+this.params.scrollbar.dragClass+'"></div>'),s.append(a)),d.extend(e,{$el:s,el:s[0],$dragEl:a,dragEl:a[0]}),i.draggable&&e.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},de={setTransform:function(e,t){var i=this.rtl,s=n(e),a=i?-1:1,r=s.attr("data-swiper-parallax")||"0",o=s.attr("data-swiper-parallax-x"),l=s.attr("data-swiper-parallax-y"),d=s.attr("data-swiper-parallax-scale"),h=s.attr("data-swiper-parallax-opacity");if(o||l?(o=o||"0",l=l||"0"):this.isHorizontal()?(o=r,l="0"):(l=r,o="0"),o=o.indexOf("%")>=0?parseInt(o,10)*t*a+"%":o*t*a+"px",l=l.indexOf("%")>=0?parseInt(l,10)*t+"%":l*t+"px",null!=h){var p=h-(h-1)*(1-Math.abs(t));s[0].style.opacity=p}if(null==d)s.transform("translate3d("+o+", "+l+", 0px)");else{var c=d-(d-1)*(1-Math.abs(t));s.transform("translate3d("+o+", "+l+", 0px) scale("+c+")")}},setTranslate:function(){var e=this,t=e.$el,i=e.slides,s=e.progress,a=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,s)})),i.each((function(t,i){var r=i.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(r+=Math.ceil(t/2)-s*(a.length-1)),r=Math.min(Math.max(r,-1),1),n(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,r)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed),this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){var s=n(i),a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}},he={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,i=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,a=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-t,2)+Math.pow(a-i,2))},onGestureStart:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(i.fakeGestureTouched=!1,i.fakeGestureMoved=!1,!h.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;i.fakeGestureTouched=!0,s.scaleStart=he.getDistanceBetweenTouches(e)}s.$slideEl&&s.$slideEl.length||(s.$slideEl=n(e.target).closest("."+this.params.slideClass),0===s.$slideEl.length&&(s.$slideEl=this.slides.eq(this.activeIndex)),s.$imageEl=s.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),s.$imageWrapEl=s.$imageEl.parent("."+t.containerClass),s.maxRatio=s.$imageWrapEl.attr("data-swiper-zoom")||t.maxRatio,0!==s.$imageWrapEl.length)?(s.$imageEl&&s.$imageEl.transition(0),this.zoom.isScaling=!0):s.$imageEl=void 0},onGestureChange:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;i.fakeGestureMoved=!0,s.scaleMove=he.getDistanceBetweenTouches(e)}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=h.gestures?e.scale*i.currentScale:s.scaleMove/s.scaleStart*i.currentScale,i.scale>s.maxRatio&&(i.scale=s.maxRatio-1+Math.pow(i.scale-s.maxRatio+1,.5)),i.scale<t.minRatio&&(i.scale=t.minRatio+1-Math.pow(t.minRatio-i.scale+1,.5)),s.$imageEl.transform("translate3d(0,0,0) scale("+i.scale+")"))},onGestureEnd:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if(!i.fakeGestureTouched||!i.fakeGestureMoved)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!A.android)return;i.fakeGestureTouched=!1,i.fakeGestureMoved=!1}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=Math.max(Math.min(i.scale,s.maxRatio),t.minRatio),s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale("+i.scale+")"),i.currentScale=i.scale,i.isScaling=!1,1===i.scale&&(s.$slideEl=void 0))},onTouchStart:function(e){var t=this.zoom,i=t.gesture,s=t.image;i.$imageEl&&0!==i.$imageEl.length&&(s.isTouched||(A.android&&e.cancelable&&e.preventDefault(),s.isTouched=!0,s.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))},onTouchMove:function(e){var t=this.zoom,i=t.gesture,s=t.image,a=t.velocity;if(i.$imageEl&&0!==i.$imageEl.length&&(this.allowClick=!1,s.isTouched&&i.$slideEl)){s.isMoved||(s.width=i.$imageEl[0].offsetWidth,s.height=i.$imageEl[0].offsetHeight,s.startX=d.getTranslate(i.$imageWrapEl[0],"x")||0,s.startY=d.getTranslate(i.$imageWrapEl[0],"y")||0,i.slideWidth=i.$slideEl[0].offsetWidth,i.slideHeight=i.$slideEl[0].offsetHeight,i.$imageWrapEl.transition(0),this.rtl&&(s.startX=-s.startX,s.startY=-s.startY));var r=s.width*t.scale,n=s.height*t.scale;if(!(r<i.slideWidth&&n<i.slideHeight)){if(s.minX=Math.min(i.slideWidth/2-r/2,0),s.maxX=-s.minX,s.minY=Math.min(i.slideHeight/2-n/2,0),s.maxY=-s.minY,s.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!s.isMoved&&!t.isScaling){if(this.isHorizontal()&&(Math.floor(s.minX)===Math.floor(s.startX)&&s.touchesCurrent.x<s.touchesStart.x||Math.floor(s.maxX)===Math.floor(s.startX)&&s.touchesCurrent.x>s.touchesStart.x))return void(s.isTouched=!1);if(!this.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.y<s.touchesStart.y||Math.floor(s.maxY)===Math.floor(s.startY)&&s.touchesCurrent.y>s.touchesStart.y))return void(s.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentX<s.minX&&(s.currentX=s.minX+1-Math.pow(s.minX-s.currentX+1,.8)),s.currentX>s.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentY<s.minY&&(s.currentY=s.minY+1-Math.pow(s.minY-s.currentY+1,.8)),s.currentY>s.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),a.prevPositionX||(a.prevPositionX=s.touchesCurrent.x),a.prevPositionY||(a.prevPositionY=s.touchesCurrent.y),a.prevTime||(a.prevTime=Date.now()),a.x=(s.touchesCurrent.x-a.prevPositionX)/(Date.now()-a.prevTime)/2,a.y=(s.touchesCurrent.y-a.prevPositionY)/(Date.now()-a.prevTime)/2,Math.abs(s.touchesCurrent.x-a.prevPositionX)<2&&(a.x=0),Math.abs(s.touchesCurrent.y-a.prevPositionY)<2&&(a.y=0),a.prevPositionX=s.touchesCurrent.x,a.prevPositionY=s.touchesCurrent.y,a.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,s=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var a=300,r=300,n=s.x*a,o=i.currentX+n,l=s.y*r,d=i.currentY+l;0!==s.x&&(a=Math.abs((o-i.currentX)/s.x)),0!==s.y&&(r=Math.abs((d-i.currentY)/s.y));var h=Math.max(a,r);i.currentX=o,i.currentY=d;var p=i.width*e.scale,c=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-p/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-c/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(h).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl&&t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl&&t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,s,a,r,n,o,l,d,h,p,c,u,v,f,m,g=this.zoom,b=this.params.zoom,w=g.gesture,y=g.image;w.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?w.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):w.$slideEl=this.slides.eq(this.activeIndex),w.$imageEl=w.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),w.$imageWrapEl=w.$imageEl.parent("."+b.containerClass)),w.$imageEl&&0!==w.$imageEl.length&&(w.$slideEl.addClass(""+b.zoomedSlideClass),void 0===y.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,i="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=y.touchesStart.x,i=y.touchesStart.y),g.scale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,g.currentScale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,e?(f=w.$slideEl[0].offsetWidth,m=w.$slideEl[0].offsetHeight,s=w.$slideEl.offset().left+f/2-t,a=w.$slideEl.offset().top+m/2-i,o=w.$imageEl[0].offsetWidth,l=w.$imageEl[0].offsetHeight,d=o*g.scale,h=l*g.scale,u=-(p=Math.min(f/2-d/2,0)),v=-(c=Math.min(m/2-h/2,0)),(r=s*g.scale)<p&&(r=p),r>u&&(r=u),(n=a*g.scale)<c&&(n=c),n>v&&(n=v)):(r=0,n=0),w.$imageWrapEl.transition(300).transform("translate3d("+r+"px, "+n+"px,0)"),w.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+g.scale+")"))},out:function(){var e=this.zoom,t=this.params.zoom,i=e.gesture;i.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?i.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):i.$slideEl=this.slides.eq(this.activeIndex),i.$imageEl=i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),i.$imageWrapEl=i.$imageEl.parent("."+t.containerClass)),i.$imageEl&&0!==i.$imageEl.length&&(e.scale=1,e.currentScale=1,i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),i.$slideEl.removeClass(""+t.zoomedSlideClass),i.$slideEl=void 0)},enable:function(){var e=this.zoom;if(!e.enabled){e.enabled=!0;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.on("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.on("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.on("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.on(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.on(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.on(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.on(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.on(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}},disable:function(){var e=this.zoom;if(e.enabled){this.zoom.enabled=!1;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.off("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.off("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.off("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.off(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.off(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.off(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.off(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.off(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}}},pe={loadInSlide:function(e,t){void 0===t&&(t=!0);var i=this,s=i.params.lazy;if(void 0!==e&&0!==i.slides.length){var a=i.virtual&&i.params.virtual.enabled?i.$wrapperEl.children("."+i.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):i.slides.eq(e),r=a.find("."+s.elementClass+":not(."+s.loadedClass+"):not(."+s.loadingClass+")");!a.hasClass(s.elementClass)||a.hasClass(s.loadedClass)||a.hasClass(s.loadingClass)||(r=r.add(a[0])),0!==r.length&&r.each((function(e,r){var o=n(r);o.addClass(s.loadingClass);var l=o.attr("data-background"),d=o.attr("data-src"),h=o.attr("data-srcset"),p=o.attr("data-sizes"),c=o.parent("picture");i.loadImage(o[0],d||l,h,p,!1,(function(){if(null!=i&&i&&(!i||i.params)&&!i.destroyed){if(l?(o.css("background-image",'url("'+l+'")'),o.removeAttr("data-background")):(h&&(o.attr("srcset",h),o.removeAttr("data-srcset")),p&&(o.attr("sizes",p),o.removeAttr("data-sizes")),c.length&&c.children("source").each((function(e,t){var i=n(t);i.attr("data-srcset")&&(i.attr("srcset",i.attr("data-srcset")),i.removeAttr("data-srcset"))})),d&&(o.attr("src",d),o.removeAttr("data-src"))),o.addClass(s.loadedClass).removeClass(s.loadingClass),a.find("."+s.preloaderClass).remove(),i.params.loop&&t){var e=a.attr("data-swiper-slide-index");if(a.hasClass(i.params.slideDuplicateClass)){var r=i.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+i.params.slideDuplicateClass+")");i.lazy.loadInSlide(r.index(),!1)}else{var u=i.$wrapperEl.children("."+i.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');i.lazy.loadInSlide(u.index(),!1)}}i.emit("lazyImageReady",a[0],o[0]),i.params.autoHeight&&i.updateAutoHeight()}})),i.emit("lazyImageLoad",a[0],o[0])}))}},load:function(){var e=this,t=e.$wrapperEl,i=e.params,s=e.slides,a=e.activeIndex,r=e.virtual&&i.virtual.enabled,o=i.lazy,l=i.slidesPerView;function d(e){if(r){if(t.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(s[e])return!0;return!1}function h(e){return r?n(e).attr("data-swiper-slide-index"):n(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+i.slideVisibleClass).each((function(t,i){var s=r?n(i).attr("data-swiper-slide-index"):n(i).index();e.lazy.loadInSlide(s)}));else if(l>1)for(var p=a;p<a+l;p+=1)d(p)&&e.lazy.loadInSlide(p);else e.lazy.loadInSlide(a);if(o.loadPrevNext)if(l>1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){for(var c=o.loadPrevNextAmount,u=l,v=Math.min(a+u+Math.max(c,u),s.length),f=Math.max(a-Math.max(u,c),0),m=a+l;m<v;m+=1)d(m)&&e.lazy.loadInSlide(m);for(var g=f;g<a;g+=1)d(g)&&e.lazy.loadInSlide(g)}else{var b=t.children("."+i.slideNextClass);b.length>0&&e.lazy.loadInSlide(h(b));var w=t.children("."+i.slidePrevClass);w.length>0&&e.lazy.loadInSlide(h(w))}}},ce={LinearSpline:function(e,t){var i,s,a,r,n,o=function(e,t){for(s=-1,i=e.length;i-s>1;)e[a=i+s>>1]<=t?s=a:i=a;return i};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=o(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){this.controller.spline||(this.controller.spline=this.params.loop?new ce.LinearSpline(this.slidesGrid,e.slidesGrid):new ce.LinearSpline(this.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,s,a=this,r=a.controller.control;function n(e){var t=a.rtlTranslate?-a.translate:a.translate;"slide"===a.params.controller.by&&(a.controller.getInterpolateFunction(e),s=-a.controller.spline.interpolate(-t)),s&&"container"!==a.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(a.maxTranslate()-a.minTranslate()),s=(t-a.minTranslate())*i+e.minTranslate()),a.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,a),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o<r.length;o+=1)r[o]!==t&&r[o]instanceof j&&n(r[o]);else r instanceof j&&t!==r&&n(r)},setTransition:function(e,t){var i,s=this,a=s.controller.control;function r(t){t.setTransition(e,s),0!==e&&(t.transitionStart(),t.params.autoHeight&&d.nextTick((function(){t.updateAutoHeight()})),t.$wrapperEl.transitionEnd((function(){a&&(t.params.loop&&"slide"===s.params.controller.by&&t.loopFix(),t.transitionEnd())})))}if(Array.isArray(a))for(i=0;i<a.length;i+=1)a[i]!==t&&a[i]instanceof j&&r(a[i]);else a instanceof j&&t!==a&&r(a)}},ue={makeElFocusable:function(e){return e.attr("tabIndex","0"),e},makeElNotFocusable:function(e){return e.attr("tabIndex","-1"),e},addElRole:function(e,t){return e.attr("role",t),e},addElLabel:function(e,t){return e.attr("aria-label",t),e},disableEl:function(e){return e.attr("aria-disabled",!0),e},enableEl:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){var t=this.params.a11y;if(13===e.keyCode){var i=n(e.target);this.navigation&&this.navigation.$nextEl&&i.is(this.navigation.$nextEl)&&(this.isEnd&&!this.params.loop||this.slideNext(),this.isEnd?this.a11y.notify(t.lastSlideMessage):this.a11y.notify(t.nextSlideMessage)),this.navigation&&this.navigation.$prevEl&&i.is(this.navigation.$prevEl)&&(this.isBeginning&&!this.params.loop||this.slidePrev(),this.isBeginning?this.a11y.notify(t.firstSlideMessage):this.a11y.notify(t.prevSlideMessage)),this.pagination&&i.is("."+this.params.pagination.bulletClass)&&i[0].click()}},notify:function(e){var t=this.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},updateNavigation:function(){if(!this.params.loop&&this.navigation){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;i&&i.length>0&&(this.isBeginning?(this.a11y.disableEl(i),this.a11y.makeElNotFocusable(i)):(this.a11y.enableEl(i),this.a11y.makeElFocusable(i))),t&&t.length>0&&(this.isEnd?(this.a11y.disableEl(t),this.a11y.makeElNotFocusable(t)):(this.a11y.enableEl(t),this.a11y.makeElFocusable(t)))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(i,s){var a=n(s);e.a11y.makeElFocusable(a),e.a11y.addElRole(a,"button"),e.a11y.addElLabel(a,t.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1))}))},init:function(){this.$el.append(this.a11y.liveRegion);var e,t,i=this.params.a11y;this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&(this.a11y.makeElFocusable(e),this.a11y.addElRole(e,"button"),this.a11y.addElLabel(e,i.nextSlideMessage),e.on("keydown",this.a11y.onEnterKey)),t&&(this.a11y.makeElFocusable(t),this.a11y.addElRole(t,"button"),this.a11y.addElLabel(t,i.prevSlideMessage),t.on("keydown",this.a11y.onEnterKey)),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.on("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)},destroy:function(){var e,t;this.a11y.liveRegion&&this.a11y.liveRegion.length>0&&this.a11y.liveRegion.remove(),this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&e.off("keydown",this.a11y.onEnterKey),t&&t.off("keydown",this.a11y.onEnterKey),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.off("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)}},ve={init:function(){if(this.params.history){if(!a.history||!a.history.pushState)return this.params.history.enabled=!1,void(this.params.hashNavigation.enabled=!0);var e=this.history;e.initialized=!0,e.paths=ve.getPathValues(),(e.paths.key||e.paths.value)&&(e.scrollToSlide(0,e.paths.value,this.params.runCallbacksOnInit),this.params.history.replaceState||a.addEventListener("popstate",this.history.setHistoryPopState))}},destroy:function(){this.params.history.replaceState||a.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){this.history.paths=ve.getPathValues(),this.history.scrollToSlide(this.params.speed,this.history.paths.value,!1)},getPathValues:function(){var e=a.location.pathname.slice(1).split("/").filter((function(e){return""!==e})),t=e.length;return{key:e[t-2],value:e[t-1]}},setHistory:function(e,t){if(this.history.initialized&&this.params.history.enabled){var i=this.slides.eq(t),s=ve.slugify(i.attr("data-history"));a.location.pathname.includes(e)||(s=e+"/"+s);var r=a.history.state;r&&r.value===s||(this.params.history.replaceState?a.history.replaceState({value:s},null,s):a.history.pushState({value:s},null,s))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,i){if(t)for(var s=0,a=this.slides.length;s<a;s+=1){var r=this.slides.eq(s);if(ve.slugify(r.attr("data-history"))===t&&!r.hasClass(this.params.slideDuplicateClass)){var n=r.index();this.slideTo(n,e,i)}}else this.slideTo(0,e,i)}},fe={onHashCange:function(){this.emit("hashChange");var e=i.location.hash.replace("#","");if(e!==this.slides.eq(this.activeIndex).attr("data-hash")){var t=this.$wrapperEl.children("."+this.params.slideClass+'[data-hash="'+e+'"]').index();if(void 0===t)return;this.slideTo(t)}},setHash:function(){if(this.hashNavigation.initialized&&this.params.hashNavigation.enabled)if(this.params.hashNavigation.replaceState&&a.history&&a.history.replaceState)a.history.replaceState(null,null,"#"+this.slides.eq(this.activeIndex).attr("data-hash")||""),this.emit("hashSet");else{var e=this.slides.eq(this.activeIndex),t=e.attr("data-hash")||e.attr("data-history");i.location.hash=t||"",this.emit("hashSet")}},init:function(){if(!(!this.params.hashNavigation.enabled||this.params.history&&this.params.history.enabled)){this.hashNavigation.initialized=!0;var e=i.location.hash.replace("#","");if(e)for(var t=0,s=this.slides.length;t<s;t+=1){var r=this.slides.eq(t);if((r.attr("data-hash")||r.attr("data-history"))===e&&!r.hasClass(this.params.slideDuplicateClass)){var o=r.index();this.slideTo(o,0,this.params.runCallbacksOnInit,!0)}}this.params.hashNavigation.watchState&&n(a).on("hashchange",this.hashNavigation.onHashCange)}},destroy:function(){this.params.hashNavigation.watchState&&n(a).off("hashchange",this.hashNavigation.onHashCange)}},me={run:function(){var e=this,t=e.slides.eq(e.activeIndex),i=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(i=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(e.autoplay.timeout),e.autoplay.timeout=d.nextTick((function(){e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(e.slides.length-1,e.params.speed,!0,!0),e.emit("autoplay")):(e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.params.loop?(e.loopFix(),e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(0,e.params.speed,!0,!0),e.emit("autoplay")):(e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")),e.params.cssMode&&e.autoplay.running&&e.autoplay.run()}),i)},start:function(){return void 0===this.autoplay.timeout&&!this.autoplay.running&&(this.autoplay.running=!0,this.emit("autoplayStart"),this.autoplay.run(),!0)},stop:function(){return!!this.autoplay.running&&void 0!==this.autoplay.timeout&&(this.autoplay.timeout&&(clearTimeout(this.autoplay.timeout),this.autoplay.timeout=void 0),this.autoplay.running=!1,this.emit("autoplayStop"),!0)},pause:function(e){this.autoplay.running&&(this.autoplay.paused||(this.autoplay.timeout&&clearTimeout(this.autoplay.timeout),this.autoplay.paused=!0,0!==e&&this.params.autoplay.waitForTransition?(this.$wrapperEl[0].addEventListener("transitionend",this.autoplay.onTransitionEnd),this.$wrapperEl[0].addEventListener("webkitTransitionEnd",this.autoplay.onTransitionEnd)):(this.autoplay.paused=!1,this.autoplay.run())))}},ge={setTranslate:function(){for(var e=this.slides,t=0;t<e.length;t+=1){var i=this.slides.eq(t),s=-i[0].swiperSlideOffset;this.params.virtualTranslate||(s-=this.translate);var a=0;this.isHorizontal()||(a=s,s=0);var r=this.params.fadeEffect.crossFade?Math.max(1-Math.abs(i[0].progress),0):1+Math.min(Math.max(i[0].progress,-1),0);i.css({opacity:r}).transform("translate3d("+s+"px, "+a+"px, 0px)")}},setTransition:function(e){var t=this,i=t.slides,s=t.$wrapperEl;if(i.transition(e),t.params.virtualTranslate&&0!==e){var a=!1;i.transitionEnd((function(){if(!a&&t&&!t.destroyed){a=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)s.trigger(e[i])}}))}}},be={setTranslate:function(){var e,t=this.$el,i=this.$wrapperEl,s=this.slides,a=this.width,r=this.height,o=this.rtlTranslate,l=this.size,d=this.params.cubeEffect,h=this.isHorizontal(),p=this.virtual&&this.params.virtual.enabled,c=0;d.shadow&&(h?(0===(e=i.find(".swiper-cube-shadow")).length&&(e=n('<div class="swiper-cube-shadow"></div>'),i.append(e)),e.css({height:a+"px"})):0===(e=t.find(".swiper-cube-shadow")).length&&(e=n('<div class="swiper-cube-shadow"></div>'),t.append(e)));for(var u=0;u<s.length;u+=1){var v=s.eq(u),f=u;p&&(f=parseInt(v.attr("data-swiper-slide-index"),10));var m=90*f,g=Math.floor(m/360);o&&(m=-m,g=Math.floor(-m/360));var b=Math.max(Math.min(v[0].progress,1),-1),w=0,y=0,x=0;f%4==0?(w=4*-g*l,x=0):(f-1)%4==0?(w=0,x=4*-g*l):(f-2)%4==0?(w=l+4*g*l,x=l):(f-3)%4==0&&(w=-l,x=3*l+4*l*g),o&&(w=-w),h||(y=w,w=0);var E="rotateX("+(h?0:-m)+"deg) rotateY("+(h?m:0)+"deg) translate3d("+w+"px, "+y+"px, "+x+"px)";if(b<=1&&b>-1&&(c=90*f+90*b,o&&(c=90*-f-90*b)),v.transform(E),d.slideShadows){var T=h?v.find(".swiper-slide-shadow-left"):v.find(".swiper-slide-shadow-top"),S=h?v.find(".swiper-slide-shadow-right"):v.find(".swiper-slide-shadow-bottom");0===T.length&&(T=n('<div class="swiper-slide-shadow-'+(h?"left":"top")+'"></div>'),v.append(T)),0===S.length&&(S=n('<div class="swiper-slide-shadow-'+(h?"right":"bottom")+'"></div>'),v.append(S)),T.length&&(T[0].style.opacity=Math.max(-b,0)),S.length&&(S[0].style.opacity=Math.max(b,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow)if(h)e.transform("translate3d(0px, "+(a/2+d.shadowOffset)+"px, "+-a/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")");else{var C=Math.abs(c)-90*Math.floor(Math.abs(c)/90),M=1.5-(Math.sin(2*C*Math.PI/360)/2+Math.cos(2*C*Math.PI/360)/2),P=d.shadowScale,z=d.shadowScale/M,k=d.shadowOffset;e.transform("scale3d("+P+", 1, "+z+") translate3d(0px, "+(r/2+k)+"px, "+-r/2/z+"px) rotateX(-90deg)")}var $=_.isSafari||_.isWebView?-l/2:0;i.transform("translate3d(0px,0,"+$+"px) rotateX("+(this.isHorizontal()?0:c)+"deg) rotateY("+(this.isHorizontal()?-c:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},we={setTranslate:function(){for(var e=this.slides,t=this.rtlTranslate,i=0;i<e.length;i+=1){var s=e.eq(i),a=s[0].progress;this.params.flipEffect.limitRotation&&(a=Math.max(Math.min(s[0].progress,1),-1));var r=-180*a,o=0,l=-s[0].swiperSlideOffset,d=0;if(this.isHorizontal()?t&&(r=-r):(d=l,l=0,o=-r,r=0),s[0].style.zIndex=-Math.abs(Math.round(a))+e.length,this.params.flipEffect.slideShadows){var h=this.isHorizontal()?s.find(".swiper-slide-shadow-left"):s.find(".swiper-slide-shadow-top"),p=this.isHorizontal()?s.find(".swiper-slide-shadow-right"):s.find(".swiper-slide-shadow-bottom");0===h.length&&(h=n('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"left":"top")+'"></div>'),s.append(h)),0===p.length&&(p=n('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"right":"bottom")+'"></div>'),s.append(p)),h.length&&(h[0].style.opacity=Math.max(-a,0)),p.length&&(p[0].style.opacity=Math.max(a,0))}s.transform("translate3d("+l+"px, "+d+"px, 0px) rotateX("+o+"deg) rotateY("+r+"deg)")}},setTransition:function(e){var t=this,i=t.slides,s=t.activeIndex,a=t.$wrapperEl;if(i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var r=!1;i.eq(s).transitionEnd((function(){if(!r&&t&&!t.destroyed){r=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)a.trigger(e[i])}}))}}},ye={setTranslate:function(){for(var e=this.width,t=this.height,i=this.slides,s=this.$wrapperEl,a=this.slidesSizesGrid,r=this.params.coverflowEffect,o=this.isHorizontal(),l=this.translate,d=o?e/2-l:t/2-l,p=o?r.rotate:-r.rotate,c=r.depth,u=0,v=i.length;u<v;u+=1){var f=i.eq(u),m=a[u],g=(d-f[0].swiperSlideOffset-m/2)/m*r.modifier,b=o?p*g:0,w=o?0:p*g,y=-c*Math.abs(g),x=r.stretch;"string"==typeof x&&-1!==x.indexOf("%")&&(x=parseFloat(r.stretch)/100*m);var E=o?0:x*g,T=o?x*g:0,S=1-(1-r.scale)*Math.abs(g);Math.abs(T)<.001&&(T=0),Math.abs(E)<.001&&(E=0),Math.abs(y)<.001&&(y=0),Math.abs(b)<.001&&(b=0),Math.abs(w)<.001&&(w=0),Math.abs(S)<.001&&(S=0);var C="translate3d("+T+"px,"+E+"px,"+y+"px) rotateX("+w+"deg) rotateY("+b+"deg) scale("+S+")";if(f.transform(C),f[0].style.zIndex=1-Math.abs(Math.round(g)),r.slideShadows){var M=o?f.find(".swiper-slide-shadow-left"):f.find(".swiper-slide-shadow-top"),P=o?f.find(".swiper-slide-shadow-right"):f.find(".swiper-slide-shadow-bottom");0===M.length&&(M=n('<div class="swiper-slide-shadow-'+(o?"left":"top")+'"></div>'),f.append(M)),0===P.length&&(P=n('<div class="swiper-slide-shadow-'+(o?"right":"bottom")+'"></div>'),f.append(P)),M.length&&(M[0].style.opacity=g>0?g:0),P.length&&(P[0].style.opacity=-g>0?-g:0)}}(h.pointerEvents||h.prefixedPointerEvents)&&(s[0].style.perspectiveOrigin=d+"px 50%")},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},xe={init:function(){var e=this.params.thumbs,t=this.constructor;e.swiper instanceof t?(this.thumbs.swiper=e.swiper,d.extend(this.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),d.extend(this.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):d.isObject(e.swiper)&&(this.thumbs.swiper=new t(d.extend({},e.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),this.thumbs.swiperCreated=!0),this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass),this.thumbs.swiper.on("tap",this.thumbs.onThumbClick)},onThumbClick:function(){var e=this.thumbs.swiper;if(e){var t=e.clickedIndex,i=e.clickedSlide;if(!(i&&n(i).hasClass(this.params.thumbs.slideThumbActiveClass)||null==t)){var s;if(s=e.params.loop?parseInt(n(e.clickedSlide).attr("data-swiper-slide-index"),10):t,this.params.loop){var a=this.activeIndex;this.slides.eq(a).hasClass(this.params.slideDuplicateClass)&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,a=this.activeIndex);var r=this.slides.eq(a).prevAll('[data-swiper-slide-index="'+s+'"]').eq(0).index(),o=this.slides.eq(a).nextAll('[data-swiper-slide-index="'+s+'"]').eq(0).index();s=void 0===r?o:void 0===o?r:o-a<a-r?o:r}this.slideTo(s)}}},update:function(e){var t=this.thumbs.swiper;if(t){var i="auto"===t.params.slidesPerView?t.slidesPerViewDynamic():t.params.slidesPerView,s=this.params.thumbs.autoScrollOffset,a=s&&!t.params.loop;if(this.realIndex!==t.realIndex||a){var r,n,o=t.activeIndex;if(t.params.loop){t.slides.eq(o).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,o=t.activeIndex);var l=t.slides.eq(o).prevAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index(),d=t.slides.eq(o).nextAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index();r=void 0===l?d:void 0===d?l:d-o==o-l?o:d-o<o-l?d:l,n=this.activeIndex>this.previousIndex?"next":"prev"}else n=(r=this.realIndex)>this.previousIndex?"next":"prev";a&&(r+="next"===n?s:-1*s),t.visibleSlidesIndexes&&t.visibleSlidesIndexes.indexOf(r)<0&&(t.params.centeredSlides?r=r>o?r-Math.floor(i/2)+1:r+Math.floor(i/2)-1:r>o&&(r=r-i+1),t.slideTo(r,e?0:void 0))}var h=1,p=this.params.thumbs.slideThumbActiveClass;if(this.params.slidesPerView>1&&!this.params.centeredSlides&&(h=this.params.slidesPerView),this.params.thumbs.multipleActiveThumbs||(h=1),h=Math.floor(h),t.slides.removeClass(p),t.params.loop||t.params.virtual&&t.params.virtual.enabled)for(var c=0;c<h;c+=1)t.$wrapperEl.children('[data-swiper-slide-index="'+(this.realIndex+c)+'"]').addClass(p);else for(var u=0;u<h;u+=1)t.slides.eq(this.realIndex+u).addClass(p)}}},Ee=[K,U,Z,Q,ee,ie,ae,{name:"mousewheel",params:{mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarged:"container"}},create:function(){d.extend(this,{mousewheel:{enabled:!1,enable:re.enable.bind(this),disable:re.disable.bind(this),handle:re.handle.bind(this),handleMouseEnter:re.handleMouseEnter.bind(this),handleMouseLeave:re.handleMouseLeave.bind(this),animateSlider:re.animateSlider.bind(this),releaseScroll:re.releaseScroll.bind(this),lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[]}})},on:{init:function(){!this.params.mousewheel.enabled&&this.params.cssMode&&this.mousewheel.disable(),this.params.mousewheel.enabled&&this.mousewheel.enable()},destroy:function(){this.params.cssMode&&this.mousewheel.enable(),this.mousewheel.enabled&&this.mousewheel.disable()}}},{name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){d.extend(this,{navigation:{init:ne.init.bind(this),update:ne.update.bind(this),destroy:ne.destroy.bind(this),onNextClick:ne.onNextClick.bind(this),onPrevClick:ne.onPrevClick.bind(this)}})},on:{init:function(){this.navigation.init(),this.navigation.update()},toEdge:function(){this.navigation.update()},fromEdge:function(){this.navigation.update()},destroy:function(){this.navigation.destroy()},click:function(e){var t,i=this.navigation,s=i.$nextEl,a=i.$prevEl;!this.params.navigation.hideOnClick||n(e.target).is(a)||n(e.target).is(s)||(s?t=s.hasClass(this.params.navigation.hiddenClass):a&&(t=a.hasClass(this.params.navigation.hiddenClass)),!0===t?this.emit("navigationShow",this):this.emit("navigationHide",this),s&&s.toggleClass(this.params.navigation.hiddenClass),a&&a.toggleClass(this.params.navigation.hiddenClass))}}},{name:"pagination",params:{pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",modifierClass:"swiper-pagination-",currentClass:"swiper-pagination-current",totalClass:"swiper-pagination-total",hiddenClass:"swiper-pagination-hidden",progressbarFillClass:"swiper-pagination-progressbar-fill",progressbarOppositeClass:"swiper-pagination-progressbar-opposite",clickableClass:"swiper-pagination-clickable",lockClass:"swiper-pagination-lock"}},create:function(){d.extend(this,{pagination:{init:oe.init.bind(this),render:oe.render.bind(this),update:oe.update.bind(this),destroy:oe.destroy.bind(this),dynamicBulletIndex:0}})},on:{init:function(){this.pagination.init(),this.pagination.render(),this.pagination.update()},activeIndexChange:function(){(this.params.loop||void 0===this.snapIndex)&&this.pagination.update()},snapIndexChange:function(){this.params.loop||this.pagination.update()},slidesLengthChange:function(){this.params.loop&&(this.pagination.render(),this.pagination.update())},snapGridLengthChange:function(){this.params.loop||(this.pagination.render(),this.pagination.update())},destroy:function(){this.pagination.destroy()},click:function(e){this.params.pagination.el&&this.params.pagination.hideOnClick&&this.pagination.$el.length>0&&!n(e.target).hasClass(this.params.pagination.bulletClass)&&(!0===this.pagination.$el.hasClass(this.params.pagination.hiddenClass)?this.emit("paginationShow",this):this.emit("paginationHide",this),this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){d.extend(this,{scrollbar:{init:le.init.bind(this),destroy:le.destroy.bind(this),updateSize:le.updateSize.bind(this),setTranslate:le.setTranslate.bind(this),setTransition:le.setTransition.bind(this),enableDraggable:le.enableDraggable.bind(this),disableDraggable:le.disableDraggable.bind(this),setDragPosition:le.setDragPosition.bind(this),getPointerPosition:le.getPointerPosition.bind(this),onDragStart:le.onDragStart.bind(this),onDragMove:le.onDragMove.bind(this),onDragEnd:le.onDragEnd.bind(this),isTouched:!1,timeout:null,dragTimeout:null}})},on:{init:function(){this.scrollbar.init(),this.scrollbar.updateSize(),this.scrollbar.setTranslate()},update:function(){this.scrollbar.updateSize()},resize:function(){this.scrollbar.updateSize()},observerUpdate:function(){this.scrollbar.updateSize()},setTranslate:function(){this.scrollbar.setTranslate()},setTransition:function(e){this.scrollbar.setTransition(e)},destroy:function(){this.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){d.extend(this,{parallax:{setTransform:de.setTransform.bind(this),setTranslate:de.setTranslate.bind(this),setTransition:de.setTransition.bind(this)}})},on:{beforeInit:function(){this.params.parallax.enabled&&(this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},init:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTranslate:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTransition:function(e){this.params.parallax.enabled&&this.parallax.setTransition(e)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this,t={enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}};"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function(i){t[i]=he[i].bind(e)})),d.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,"scale",{get:function(){return i},set:function(t){if(i!==t){var s=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,s,a)}i=t}})},on:{init:function(){this.params.zoom.enabled&&this.zoom.enable()},destroy:function(){this.zoom.disable()},touchStart:function(e){this.zoom.enabled&&this.zoom.onTouchStart(e)},touchEnd:function(e){this.zoom.enabled&&this.zoom.onTouchEnd(e)},doubleTap:function(e){this.params.zoom.enabled&&this.zoom.enabled&&this.params.zoom.toggle&&this.zoom.toggle(e)},transitionEnd:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.zoom.onTransitionEnd()},slideChange:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.params.cssMode&&this.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){d.extend(this,{lazy:{initialImageLoaded:!1,load:pe.load.bind(this),loadInSlide:pe.loadInSlide.bind(this)}})},on:{beforeInit:function(){this.params.lazy.enabled&&this.params.preloadImages&&(this.params.preloadImages=!1)},init:function(){this.params.lazy.enabled&&!this.params.loop&&0===this.params.initialSlide&&this.lazy.load()},scroll:function(){this.params.freeMode&&!this.params.freeModeSticky&&this.lazy.load()},resize:function(){this.params.lazy.enabled&&this.lazy.load()},scrollbarDragMove:function(){this.params.lazy.enabled&&this.lazy.load()},transitionStart:function(){this.params.lazy.enabled&&(this.params.lazy.loadOnTransitionStart||!this.params.lazy.loadOnTransitionStart&&!this.lazy.initialImageLoaded)&&this.lazy.load()},transitionEnd:function(){this.params.lazy.enabled&&!this.params.lazy.loadOnTransitionStart&&this.lazy.load()},slideChange:function(){this.params.lazy.enabled&&this.params.cssMode&&this.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){d.extend(this,{controller:{control:this.params.controller.control,getInterpolateFunction:ce.getInterpolateFunction.bind(this),setTranslate:ce.setTranslate.bind(this),setTransition:ce.setTransition.bind(this)}})},on:{update:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},resize:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},observerUpdate:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},setTranslate:function(e,t){this.controller.control&&this.controller.setTranslate(e,t)},setTransition:function(e,t){this.controller.control&&this.controller.setTransition(e,t)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}"}},create:function(){var e=this;d.extend(e,{a11y:{liveRegion:n('<span class="'+e.params.a11y.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>')}}),Object.keys(ue).forEach((function(t){e.a11y[t]=ue[t].bind(e)}))},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){d.extend(this,{history:{init:ve.init.bind(this),setHistory:ve.setHistory.bind(this),setHistoryPopState:ve.setHistoryPopState.bind(this),scrollToSlide:ve.scrollToSlide.bind(this),destroy:ve.destroy.bind(this)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)},slideChange:function(){this.history.initialized&&this.params.cssMode&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){d.extend(this,{hashNavigation:{initialized:!1,init:fe.init.bind(this),destroy:fe.destroy.bind(this),setHash:fe.setHash.bind(this),onHashCange:fe.onHashCange.bind(this)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()},slideChange:function(){this.hashNavigation.initialized&&this.params.cssMode&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var e=this;d.extend(e,{autoplay:{running:!1,paused:!1,run:me.run.bind(e),start:me.start.bind(e),stop:me.stop.bind(e),pause:me.pause.bind(e),onVisibilityChange:function(){"hidden"===document.visibilityState&&e.autoplay.running&&e.autoplay.pause(),"visible"===document.visibilityState&&e.autoplay.paused&&(e.autoplay.run(),e.autoplay.paused=!1)},onTransitionEnd:function(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===this&&(e.$wrapperEl[0].removeEventListener("transitionend",e.autoplay.onTransitionEnd),e.$wrapperEl[0].removeEventListener("webkitTransitionEnd",e.autoplay.onTransitionEnd),e.autoplay.paused=!1,e.autoplay.running?e.autoplay.run():e.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&(this.autoplay.start(),document.addEventListener("visibilitychange",this.autoplay.onVisibilityChange))},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},touchEnd:function(){this.params.cssMode&&this.autoplay.paused&&!this.params.autoplay.disableOnInteraction&&this.autoplay.run()},destroy:function(){this.autoplay.running&&this.autoplay.stop(),document.removeEventListener("visibilitychange",this.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){d.extend(this,{fadeEffect:{setTranslate:ge.setTranslate.bind(this),setTransition:ge.setTransition.bind(this)}})},on:{beforeInit:function(){if("fade"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"fade");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){d.extend(this,{cubeEffect:{setTranslate:be.setTranslate.bind(this),setTransition:be.setTransition.bind(this)}})},on:{beforeInit:function(){if("cube"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"cube"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){d.extend(this,{flipEffect:{setTranslate:we.setTranslate.bind(this),setTransition:we.setTransition.bind(this)}})},on:{beforeInit:function(){if("flip"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"flip"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}},create:function(){d.extend(this,{coverflowEffect:{setTranslate:ye.setTranslate.bind(this),setTransition:ye.setTransition.bind(this)}})},on:{beforeInit:function(){"coverflow"===this.params.effect&&(this.classNames.push(this.params.containerModifierClass+"coverflow"),this.classNames.push(this.params.containerModifierClass+"3d"),this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){d.extend(this,{thumbs:{swiper:null,init:xe.init.bind(this),update:xe.update.bind(this),onThumbClick:xe.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===j.use&&(j.use=j.Class.use,j.installModule=j.Class.installModule),j.use(Ee),j}));
includes/class-twae.php CHANGED
@@ -4,7 +4,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
  // Add a custom category for panel widgets
5
  add_action( 'elementor/init', function() {
6
  \Elementor\Plugin::$instance->elements_manager->add_category(
7
- 'twae', // the name of the category
8
  [
9
  'title' => esc_html__( 'Timeline Widget Addon For Elementor', 'twae' ),
10
  'icon' => 'fa fa-header', //default icon
@@ -31,9 +31,9 @@ class TWAE_WidgetClass {
31
  */
32
  public function __construct() {
33
  $this->twae_add_actions();
34
- add_action( 'elementor/preview/enqueue_styles', array($this, 'twae_enqueue_style' ) );
35
- add_action('wp_enqueue_scripts', array($this, 'twae_enqueue_style'));
36
-
37
  }
38
 
39
  /**
@@ -45,14 +45,31 @@ class TWAE_WidgetClass {
45
  */
46
  private function twae_add_actions() {
47
  add_action( 'elementor/widgets/widgets_registered', array($this, 'twae_on_widgets_registered' ));
48
- add_action( 'elementor/frontend/after_register_scripts', function() {
49
- } );
50
  }
51
 
 
 
 
 
52
 
 
53
 
54
  public function twae_enqueue_style() {
55
- wp_enqueue_style( 'centered-css', TWAE_URL . 'assets/css/twae-centered-timeline.css', array());
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  }
57
 
58
  /**
4
  // Add a custom category for panel widgets
5
  add_action( 'elementor/init', function() {
6
  \Elementor\Plugin::$instance->elements_manager->add_category(
7
+ 'twae', // the name of the category
8
  [
9
  'title' => esc_html__( 'Timeline Widget Addon For Elementor', 'twae' ),
10
  'icon' => 'fa fa-header', //default icon
31
  */
32
  public function __construct() {
33
  $this->twae_add_actions();
34
+
35
+ add_action( 'elementor/preview/enqueue_styles', array($this, 'twae_enqueue_previw_style' ) ); // enqueue scripts for live editor
36
+ add_action('wp_enqueue_scripts', array($this, 'twae_enqueue_style')); // enqueue scripts/styles for frontend
37
  }
38
 
39
  /**
45
  */
46
  private function twae_add_actions() {
47
  add_action( 'elementor/widgets/widgets_registered', array($this, 'twae_on_widgets_registered' ));
48
+
 
49
  }
50
 
51
+ public function twae_enqueue_previw_style(){
52
+ wp_register_script( 'twae-horizontal-editor-js', TWAE_URL . 'assets/js/twae-horizontal-editor.js', 'elementor-editor',null, true );
53
+
54
+ wp_enqueue_script( 'twae-horizontal-editor-js' );
55
 
56
+ }
57
 
58
  public function twae_enqueue_style() {
59
+ wp_enqueue_style( 'twae-centered-css', TWAE_URL . 'assets/css/twae-centered-timeline.min.css', array());
60
+ wp_register_style( 'twae-horizontal-css', TWAE_URL . 'assets/css/twae-horizontal-styles.min.css', array());
61
+ wp_register_style( 'twae-fontello-css', TWAE_URL . 'assets/css/twae-fontello.css', array());
62
+ wp_register_script( 'twae-swiper-js', TWAE_URL . 'assets/js/twae-swiper.min.js',array('jquery'),null, true );
63
+ wp_register_script( 'twae-horizontal-js', TWAE_URL . 'assets/js/twae-horizontal.js', array('jquery'),null, true );
64
+
65
+ wp_enqueue_style( 'twae-horizontal-css' );
66
+ wp_enqueue_style( 'twae-fontello-css' );
67
+ wp_enqueue_script( 'twae-swiper-js' );
68
+
69
+ if ( ! \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
70
+ wp_enqueue_script( 'twae-horizontal-js' );
71
+ }
72
+
73
  }
74
 
75
  /**
includes/twae-feedback-notice.php CHANGED
@@ -9,8 +9,8 @@ if (!class_exists('TWAEFeedbackNotice')) {
9
  // register actions
10
 
11
  if(is_admin()){
12
- add_action( 'admin_notices',array($this,'admin_notice_for_reviews'));
13
- add_action( 'admin_print_scripts', array($this, 'load_script' ) );
14
  add_action( 'wp_ajax_twae_dismiss_notice',array($this,'twae_dismiss_review_notice' ) );
15
  }
16
  }
@@ -20,11 +20,66 @@ if (!class_exists('TWAEFeedbackNotice')) {
20
  *
21
  * @return void
22
  */
23
- public function load_script() {
24
- wp_register_script( 'twae-feedback-notice-script', TWAE_URL. 'assets/js/twae-admin-feedback-notice.js', array( 'jquery' ),null, true );
25
- wp_enqueue_script( 'twae-feedback-notice-script' );
26
- wp_register_style( 'twae-feedback-notice-styles',TWAE_URL.'assets/css/twae-admin-feedback-notice.css' );
27
- wp_enqueue_style( 'twae-feedback-notice-styles' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
29
  // ajax callback for review notice
30
  public function twae_dismiss_review_notice(){
@@ -33,7 +88,7 @@ if (!class_exists('TWAEFeedbackNotice')) {
33
  exit;
34
  }
35
  // admin notice
36
- public function admin_notice_for_reviews(){
37
 
38
  if( !current_user_can( 'update_plugins' ) ){
39
  return;
@@ -56,12 +111,12 @@ if (!class_exists('TWAEFeedbackNotice')) {
56
 
57
  // check if installation days is greator then week
58
  if (isset($diff_days) && $diff_days>=3) {
59
- echo $this->create_notice_content();
60
  }
61
  }
62
 
63
  // generated review notice HTML
64
- function create_notice_content(){
65
  $ajax_url=admin_url( 'admin-ajax.php' );
66
  $ajax_callback='twae_dismiss_notice';
67
  $wrap_cls="notice notice-info is-dismissible";
9
  // register actions
10
 
11
  if(is_admin()){
12
+ add_action( 'admin_notices',array($this,'twae_admin_notice_for_reviews'));
13
+ add_action( 'admin_print_scripts', array($this, 'twae_load_script' ) );
14
  add_action( 'wp_ajax_twae_dismiss_notice',array($this,'twae_dismiss_review_notice' ) );
15
  }
16
  }
20
  *
21
  * @return void
22
  */
23
+ public function twae_load_script() {
24
+ $alreadyRated =get_option( 'twae-alreadyRated' )!=false?get_option( 'twae-alreadyRated'):"no";
25
+
26
+ // check user already rated
27
+ if( $alreadyRated=="yes") {
28
+ return;
29
+ }
30
+ $twae_review_css = ".cool-feedback-notice-wrapper.notice.notice-info.is-dismissible {
31
+ padding: 5px;
32
+ display: inline-block;
33
+ width: 100%;
34
+ }
35
+ .cool-feedback-notice-wrapper .logo_container {
36
+ width:80px;
37
+ display:inline-block;
38
+ margin-right: 10px;
39
+ vertical-align: top;
40
+ }
41
+ .cool-feedback-notice-wrapper .logo_container img {
42
+ width:100%;
43
+ height:auto;
44
+ }
45
+ .cool-feedback-notice-wrapper .message_container {
46
+ width: calc(100% - 120px);
47
+ display: inline-block;
48
+ margin: 0;
49
+ vertical-align: top;
50
+ }
51
+ .cool-feedback-notice-wrapper ul li {
52
+ float: left;
53
+ margin: 0px 5px;
54
+ }
55
+ .clrfix{
56
+ clear:both;
57
+ }";
58
+
59
+ _e("<style>".$twae_review_css."</style>");
60
+
61
+ add_action( 'admin_print_footer_scripts', function () {
62
+ ?>
63
+ <script>
64
+
65
+ jQuery(document).ready(function ($) {
66
+ $('.twae_dismiss_notice').on('click', function (event) {
67
+ var $this = $(this);
68
+ var wrapper=$this.parents('.cool-feedback-notice-wrapper');
69
+ var ajaxURL=wrapper.data('ajax-url');
70
+ var ajaxCallback=wrapper.data('ajax-callback');
71
+
72
+ $.post(ajaxURL, { 'action':ajaxCallback }, function( data ) {
73
+ wrapper.slideUp('fast');
74
+ }, "json");
75
+
76
+ });
77
+ });
78
+
79
+ </script>
80
+ <?php
81
+ } );
82
+
83
  }
84
  // ajax callback for review notice
85
  public function twae_dismiss_review_notice(){
88
  exit;
89
  }
90
  // admin notice
91
+ public function twae_admin_notice_for_reviews(){
92
 
93
  if( !current_user_can( 'update_plugins' ) ){
94
  return;
111
 
112
  // check if installation days is greator then week
113
  if (isset($diff_days) && $diff_days>=3) {
114
+ echo $this->twae_create_notice_content();
115
  }
116
  }
117
 
118
  // generated review notice HTML
119
+ function twae_create_notice_content(){
120
  $ajax_url=admin_url( 'admin-ajax.php' );
121
  $ajax_callback='twae_dismiss_notice';
122
  $wrap_cls="notice notice-info is-dismissible";
readme.txt CHANGED
@@ -1,49 +1,65 @@
1
  === Elementor Timeline Widget Addon ===
2
  Contributors:narinder-singh,satindersingh,coolplugins
3
  Donate link: https://paypal.me/CoolPlugins/10USD/
4
- Tags:elementor addon, elementor,elementor widgets,addons,elementor timeline,elementor roadmap,steps
5
  Requires at least:4.5
6
- Tested up to:5.4
7
  Requires PHP:5.6
8
  Stable tag:trunk
9
  License:GPLv2 or later
10
  License URI:http://www.gnu.org/licenses/gpl-2.0.html
11
 
12
- Showcase your Story, History in a precise and elegant way using powerful and advance Elementor Timeline Widget Addon.
13
 
14
  == Description ==
15
- Showcase your Story, History in a precise and elegant way using powerful and advance Elementor Timeline Widget Addon.
16
 
17
- It supports two types of layout these are single-sided and both sided.
18
- Using Timeline Widget Addon plugin you can easily create a beautiful timeline within a few minutes.It supports many advanced settings i.e story Icon, Image, label, Sublabel.
19
 
20
- * [View Timeline Widget Addon Demo](https://cooltimeline.com/timeline-widget-demo)
 
 
 
 
 
 
 
 
21
 
22
  https://www.youtube.com/watch?v=dcfWYsfSjdM&feature=youtu.be
23
 
24
- <h4>Here is the list of available settings:-</h4>
25
- <ul>
26
- <li>Two different timeline layout(Single Sided/ Both Sided).</li>
27
- <li>Set Highlighted Year/Custom label text.</li>
28
- <li>Add Story Date and custom label like:15 Feb | Mid,Early |Jan 01 2020, 20 Dec| end</li>
29
- <li>Choose Font awesome Icons for your story and set custom size,color</li>
30
- <li>Set Story title,Description,Date and Year section Color from Color settings.</li>
31
- <li>Set elegant Typography on Story title,description,Date and year Label.</li>
32
- </ul>
33
 
34
- ### Cool Timeline - WordPress #1 Timeline Plugin
 
 
 
 
35
 
36
- **Cool Timeline** is a responsive WordPress pure HTML & CSS timeline plugin that allows you to create beautiful horizontal and vertical history timeline. You simply create posts, set images and date then Cool Timeline will automatically populate these posts in chronological order(ASC or DESC), based on the year and date of stories. You can easily show timeline on any page of your website using shortcode - [cool-timeline]
37
 
38
- ### Check Cool Timeline Demos
39
 
40
- [Cool Timeline Pro Demo](https://cooltimeline.com/demo/) | [Cool Timeline Free Demo](https://free.cooltimeline.com)
41
 
42
- You can show your stories, events, appointments, concerts, future & history happenings by using **Cool Timeline plugin** on your website.
 
 
 
 
 
43
 
 
44
 
45
- It is an **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)** Addon.In order to use It you must have to install **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)**.
 
 
46
 
 
 
 
 
 
47
 
48
  == Installation ==
49
  1. Install **Elementor Timeline Widget Addon** from the WordPress.org repository or by uploading plugin-zip unzipped folder to the **/wp-content/plugins** directory.
@@ -53,9 +69,16 @@ It is an **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)**
53
 
54
  == Screenshots ==
55
  1. Elementor Timeline Widget Addon Preview
 
56
 
57
  == Changelog ==
 
 
 
 
 
 
58
  <strong>Version 1.0 | 14 FEB 2020</strong>
59
  <pre>
60
- New: Initial Plugin Release
61
  </pre>
1
  === Elementor Timeline Widget Addon ===
2
  Contributors:narinder-singh,satindersingh,coolplugins
3
  Donate link: https://paypal.me/CoolPlugins/10USD/
4
+ Tags:timeline,elementor,elementor timeline,elementor addon,elementor widgets,addons,roadmap,steps,event,history,storytelling
5
  Requires at least:4.5
6
+ Tested up to:5.5
7
  Requires PHP:5.6
8
  Stable tag:trunk
9
  License:GPLv2 or later
10
  License URI:http://www.gnu.org/licenses/gpl-2.0.html
11
 
12
+ Elementor timeline widget addon will showcase your company history or life story in a vertical or horizontal timeline layout.
13
 
14
  == Description ==
15
+ ### Vertical & Horizontal Timeline For Elementor
16
 
17
+ Showcase your story or life history in precise and elegant way using powerful and advance **Timeline Widget Addon for Elementor**.
 
18
 
19
+ Using this elementor addon you can create a beautiful timeline with a few clicks. It supports 3 timeline layouts:-
20
+
21
+ * Vertical Timeline
22
+ * Horizontal Timeline
23
+ * One Sided Timeline (Vertical)
24
+
25
+ These layouts also support advance settings and you can easily manage colors, icons, images and content inside your timeline story.
26
+
27
+ **[⭐ View Demo](https://cooltimeline.com/timeline-widget-demo)**
28
 
29
  https://www.youtube.com/watch?v=dcfWYsfSjdM&feature=youtu.be
30
 
31
+ ### 🌟 Timeline Widget Features
 
 
 
 
 
 
 
 
32
 
33
+ * 3 timeline layouts:- Vertical, Horizontal & Vertical One-sided.
34
+ * Easily manage timeline colors and add icons inside timeline.
35
+ * Add story date/year or custom text as per your requirements.
36
+ * Manage typography of story title, description and other fonts.
37
+ * Add image inside your timeline story.
38
 
39
+ It is an **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)** Addon. In order to use this elementor addon you must have to install **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)**.
40
 
41
+ ### 😎 Who's Behind?
42
 
43
+ This addon has been developed by [Cool Timeline](https://cooltimeline.com) plugin developers. **[Cool Plugins](https://coolplugins.net)**, A team of experienced WordPress plugin developers.
44
 
45
+ * 7+ years WordPress plugin development experience.
46
+ * 20+ free and premium WordPress plugins released.
47
+ * 400000+ plugins downloads.
48
+ * 70K+ active websites are using our plugins.
49
+
50
+ **📌 Cool Timeline - #1 Timeline Plugin (200000+ Downloads)**
51
 
52
+ Cool Timeline is a responsive WordPress timeline plugin based on WordPress post-type system. It works inside any theme or page builder using these simple steps:-
53
 
54
+ 1. Create stories one-by-one inside **Timeline Stories** post-type (similar like you submit a blog-post).
55
+ 2. Now open any page or create new page and add timeline shortcode on it - [cool-timeline].
56
+ 3. You can showcase your timeline in horizontal or vertical layout with 20+ different designs and custom colors.
57
 
58
+ Cool Timeline automatically showcase timeline stories post-type posts in any ASC or DESC order, based on the year and date of stories.
59
+
60
+ **[⭐ Cool Timeline Pro Demo](https://cooltimeline.com/demo/) | [⭐ Cool Timeline Free Demo](https://free.cooltimeline.com)**
61
+
62
+ You can show your stories, events, appointments, concerts, future & history happenings by using **Cool Timeline plugin** on your website.
63
 
64
  == Installation ==
65
  1. Install **Elementor Timeline Widget Addon** from the WordPress.org repository or by uploading plugin-zip unzipped folder to the **/wp-content/plugins** directory.
69
 
70
  == Screenshots ==
71
  1. Elementor Timeline Widget Addon Preview
72
+ 1. Elementor Timeline Widget Addon Horizontal Layout Preview
73
 
74
  == Changelog ==
75
+ <strong>Version 1.1 | 07 JUL 2020</strong>
76
+ <pre>
77
+ New: Horizontal timeline layout added.
78
+ Improved: Default styles & CSS.
79
+ </pre>
80
+
81
  <strong>Version 1.0 | 14 FEB 2020</strong>
82
  <pre>
83
+ New: Initial plugin release.
84
  </pre>
timeline-widget-addon-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Timeline Widget Addon For Elementor
4
  * Description: Timeline Widget Addon For Elementor create a beautiful timeline in page and post.
5
  * Plugin URI: https://coolplugins.net
6
- * Version: 1.0
7
  * Author: Cool Plugins
8
  * Author URI: https://coolplugins.net/
9
  * Text Domain: twae
@@ -18,7 +18,7 @@ if (defined('TWAE_VERSION')) {
18
  return;
19
  }
20
 
21
- define('TWAE_VERSION', '1.0.0');
22
  define('TWAE_FILE', __FILE__);
23
  define('TWAE_PATH', plugin_dir_path(TWAE_FILE));
24
  define('TWAE_URL', plugin_dir_url(TWAE_FILE));
3
  * Plugin Name: Timeline Widget Addon For Elementor
4
  * Description: Timeline Widget Addon For Elementor create a beautiful timeline in page and post.
5
  * Plugin URI: https://coolplugins.net
6
+ * Version: 1.1
7
  * Author: Cool Plugins
8
  * Author URI: https://coolplugins.net/
9
  * Text Domain: twae
18
  return;
19
  }
20
 
21
+ define('TWAE_VERSION', '1.1');
22
  define('TWAE_FILE', __FILE__);
23
  define('TWAE_PATH', plugin_dir_path(TWAE_FILE));
24
  define('TWAE_URL', plugin_dir_url(TWAE_FILE));
widgets/editor-layouts/horizontal-template.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="twae-horizontal-wrapper" class="twae-wrapper twae-horizontal swiper-container" data-slidestoshow = "{{{sidesToShow}}}" data-autoplay="{{{autoplay}}}">
2
+ <div class="twae-horizontal-timeline swiper-wrapper">
3
+ <#
4
+ _.each( settings.twae_list, function( item, index ) {
5
+ var timeline_image = {
6
+ id: item.twae_image.id,
7
+ url: item.twae_image.url,
8
+ size: item.twae_thumbnail_size,
9
+ dimension: item.twae_thumbnail_custom_dimension,
10
+ model: view.getEditModel()
11
+ };
12
+ var image_url = elementor.imagesManager.getImageUrl( timeline_image );
13
+ twaeiconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' ),
14
+
15
+ #>
16
+ <div class="swiper-slide {{{sidesHeight}}}">
17
+
18
+ <#
19
+ if(item.twae_show_year_label == 'yes'){
20
+ #>
21
+ <div class="twae-year-container">
22
+ <span class="twae-year-label twae-year">{{{ item.twae_year }}}</span>
23
+ </div>
24
+ <#
25
+ }
26
+ #>
27
+ <div class="twae-label-extra-label"><div>
28
+ <span class="twae-label">{{{ item.twae_date_label }}}</span>
29
+ <span class="twae-extra-label">{{{ item.twae_extra_label }}}</span>
30
+ </div></div>
31
+ <div class="twae-bg-orange twae-icon">
32
+ <# if ( twaeiconHTML && twaeiconHTML.rendered ) { #>
33
+ {{{ twaeiconHTML.value }}}
34
+ <# } else { #>
35
+ <i class="{{ item.twae_story_icon.value }}" aria-hidden="true"></i>
36
+ <# } #>
37
+
38
+ </div>
39
+ <div class="twae-story-info">
40
+ <div class="twae-timeline-img"><img src="{{{ image_url }}}" /></div>
41
+ <span class="twae-title">{{{ item.twae_story_title}}}</span>
42
+ <div class="twae-description">{{{ item.twae_description }}}</div>
43
+ </div>
44
+ </div>
45
+ <#
46
+ });
47
+ #>
48
+ </div>
49
+ <!-- Add Pagination -->
50
+ <div class="twae-pagination"></div>
51
+ <!-- Add Arrows -->
52
+
53
+ <div class="twae-button-prev twae-icon-left-open-big"></div>
54
+ <div class="twae-button-next twae-icon-right-open-big"></div>
55
+ </div>
56
+
widgets/editor-layouts/vertical-template.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <#
2
+ var countItem = 1;
3
+ var timeline_layout = '';
4
+ var timeline_layout_wrapper = 'twae-centered';
5
+ if(settings.twae_layout == 'one-sided'){
6
+ var timeline_layout = "twae-one-sided-timeline";
7
+ var timeline_layout_wrapper = 'twae-one-sided-wrapper';
8
+ }
9
+ #>
10
+ <div class="twae-vertical twae-wrapper {{{ timeline_layout_wrapper }}}">
11
+ <div class="twae-timeline-centered twae-timeline-sm twae-line {{{ timeline_layout }}}">
12
+ <#
13
+ _.each( settings.twae_list, function( item, index ) {
14
+ var timeline_image = {
15
+ id: item.twae_image.id,
16
+ url: item.twae_image.url,
17
+ size: item.twae_thumbnail_size,
18
+ dimension: item.twae_thumbnail_custom_dimension,
19
+ model: view.getEditModel()
20
+ };
21
+ var image_url = elementor.imagesManager.getImageUrl( timeline_image );
22
+
23
+ if(item.twae_show_year_label == 'yes'){
24
+ #>
25
+ <span class="twae-year-container">
26
+ <span class="twae-year-label twae-year">{{{ item.twae_year }}}</span>
27
+ </span>
28
+ <#
29
+ }
30
+ var story_alignment = "twae-right-aligned";
31
+ if(settings.twae_layout == 'centered'){
32
+
33
+ if ( countItem % 2 == 0) {
34
+ var story_alignment = "twae-left-aligned";
35
+ }
36
+ }
37
+ twaeiconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' ),
38
+
39
+ #>
40
+ <article class="twae-timeline-entry {{{ story_alignment }}}">
41
+ <div class="twae-timeline-entry-inner">
42
+ <time class="twae-label-extra-label">
43
+ <span class="twae-label">{{{ item.twae_date_label }}}</span>
44
+ <span class="twae-extra-label">{{{ item.twae_extra_label }}}</span>
45
+ </time>
46
+ <div class="twae-bg-orange twae-icon">
47
+ <# if ( twaeiconHTML && twaeiconHTML.rendered ) { #>
48
+ {{{ twaeiconHTML.value }}}
49
+ <# } else { #>
50
+ <i class="{{ item.twae_story_icon.value }}" aria-hidden="true"></i>
51
+ <# } #>
52
+
53
+ </div>
54
+ <div class="twae-bg-orange twae-data-container">
55
+ <span class="twae-title">{{{ item.twae_story_title}}}</span>
56
+ <div class="twae-timeline-img"><img src="{{{ image_url }}}" /></div>
57
+ <div class="twae-description">{{{ item.twae_description }}}</div>
58
+ </div>
59
+ </div>
60
+ </article>
61
+ <#
62
+ countItem = countItem+1;
63
+ });
64
+ #>
65
+ </div>
66
+ </div>
widgets/frontend-layouts/twae-centered-timeline.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ echo '
3
+ <div class="twae-vertical twae-wrapper '.esc_attr($timeline_layout_wrapper).'">
4
+ <div class="twae-timeline-centered twae-timeline-sm twae-line '.esc_attr($timeline_layout).'">';
5
+ if(is_array($data)){
6
+ foreach($data as $index=>$content){
7
+ $left_aligned = "twae-right-aligned";
8
+ if($layout == 'centered'){
9
+ if($countItem % 2 == 0){
10
+ $left_aligned = "twae-left-aligned";
11
+ }
12
+ }
13
+ $timeline_description = $content['twae_description'];
14
+ $show_year_label = esc_html($content['twae_show_year_label']);
15
+ $timeline_year = esc_html($content['twae_year']);
16
+ $story_date_label = esc_html($content['twae_date_label']);
17
+ $story_extra_label = esc_html($content['twae_extra_label']);
18
+ $timeline_story_title = esc_html($content['twae_story_title']);
19
+ $story_icon = $content['twae_story_icon']['value'];
20
+ $thumbnail_size = $content['twae_thumbnail_size'];
21
+ $thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
22
+
23
+ if($content['twae_image']['id']!=""){
24
+ if($thumbnail_size =='custom'){
25
+ $custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
26
+ $image= wp_get_attachment_image($content['twae_image']['id'], $custom_size , true);
27
+
28
+ }
29
+ else{
30
+ $image= wp_get_attachment_image($content['twae_image']['id'],$thumbnail_size, true);
31
+ }
32
+ $image = '<div class="twae-timeline-img">'.$image.'</div>';
33
+ }else if($content['twae_image']['url']!=""){
34
+ $image = '<div class="twae-timeline-img"><img src="'.$content['twae_image']['url'].'"></img></div>';
35
+ }
36
+ else{
37
+ $image ='';
38
+ }
39
+
40
+ if($show_year_label == 'yes'){
41
+ echo '<span class="twae-year-container">
42
+ <span class="twae-year-label twae-year">'.$timeline_year.'</span>
43
+ </span>';
44
+ }
45
+
46
+ echo '<article class="twae-timeline-entry '.esc_attr($left_aligned).'">
47
+ <div class="twae-timeline-entry-inner">
48
+ <time class="twae-label-extra-label">
49
+ <span class="twae-label">'.$story_date_label.'</span>
50
+ <span class="twae-extra-label">'.$story_extra_label.'</span>
51
+ </time>
52
+ <div class="twae-bg-orange twae-icon">';
53
+ \Elementor\Icons_Manager::render_icon( $content['twae_story_icon'], [ 'aria-hidden' => 'true' ] );
54
+ echo'</div>
55
+ <div class="twae-bg-orange twae-data-container">
56
+ <span class="twae-title">'.$timeline_story_title.'</span>
57
+ '.$image.'
58
+ <div class="twae-description">'.$timeline_description.'</div>
59
+ </div>
60
+ </div>
61
+ </article>';
62
+ $countItem = $countItem +1;
63
+ }
64
+ }
65
+ echo'</div></div>';
widgets/frontend-layouts/twae-horizontal-timeline.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $sidesToShow = isset($settings['twae_slides_to_show'])
3
+ && !empty($settings['twae_slides_to_show'])?$settings['twae_slides_to_show']:2;
4
+
5
+ echo '<div id="twae-horizontal-wrapper" class="twae-wrapper twae-horizontal swiper-container" data-slidestoshow = "'.esc_attr($sidesToShow).'" data-autoplay="'.esc_attr($autoplay).'">
6
+ <div class="twae-horizontal-timeline swiper-wrapper">';
7
+ if(is_array($data)){
8
+ foreach($data as $index=>$content){
9
+
10
+ $timeline_description = $content['twae_description'];
11
+ $show_year_label = esc_html($content['twae_show_year_label']);
12
+ $timeline_year = esc_html($content['twae_year']);
13
+ $story_date_label = esc_html($content['twae_date_label']);
14
+ $story_extra_label = esc_html($content['twae_extra_label']);
15
+ $timeline_story_title = esc_html($content['twae_story_title']);
16
+ $story_icon = $content['twae_story_icon']['value'];
17
+ $thumbnail_size = $content['twae_thumbnail_size'];
18
+ $thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
19
+
20
+ if($content['twae_image']['id']!=""){
21
+ if($thumbnail_size =='custom'){
22
+ $custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
23
+ $image= wp_get_attachment_image($content['twae_image']['id'], $custom_size , true);
24
+
25
+ }
26
+ else{
27
+ $image= wp_get_attachment_image($content['twae_image']['id'],$thumbnail_size, true);
28
+ }
29
+ $image = ' <div class="twae-timeline-img">'.$image.'</div>';
30
+ }else if($content['twae_image']['url']!=""){
31
+ $image = '<div class="twae-timeline-img"><img src="'.$content['twae_image']['url'].'"></img></div>';
32
+ }
33
+ else{
34
+ $image ='';
35
+ }
36
+
37
+ echo '<div class="swiper-slide '.esc_attr($sidesHeight).'">';
38
+ if($show_year_label == 'yes'){
39
+ echo '<div class="twae-year-container">
40
+ <span class="twae-year-label twae-year">'.$timeline_year.'</span>
41
+ </div>';
42
+ }
43
+ echo '<div class="twae-label-extra-label"><div>
44
+ <span class="twae-label">'.$story_date_label.'</span>
45
+ <span class="twae-extra-label">'.$story_extra_label.'</span>
46
+ </div></div>
47
+ <div class="twae-bg-orange twae-icon">';
48
+ \Elementor\Icons_Manager::render_icon( $content['twae_story_icon'], [ 'aria-hidden' => 'true' ] );
49
+ echo'</div>';
50
+ echo '<div class="twae-story-info">
51
+ '.$image.'
52
+ <span class="twae-title">'.$timeline_story_title.'</span>
53
+ <div class="twae-description">'.$timeline_description.'</div>
54
+ </div>
55
+ </div>';
56
+ }
57
+ }
58
+ echo ' </div>
59
+ <!-- Add Pagination -->
60
+ <div class="twae-pagination"></div>
61
+ <!-- Add Arrows -->
62
+ <div class="twae-button-prev twae-icon-left-open-big"></div>
63
+ <div class="twae-button-next twae-icon-right-open-big"></div>
64
+ </div>';
65
+
66
+
67
+
68
+
widgets/twae-widget.php CHANGED
@@ -11,6 +11,7 @@ use Elementor\Scheme_Typography;
11
 
12
  class TWAE_Widget extends \Elementor\Widget_Base {
13
 
 
14
  public function get_name() {
15
  return 'timeline-widget-addon';
16
  }
@@ -46,10 +47,63 @@ class TWAE_Widget extends \Elementor\Widget_Base {
46
  'options'=>[
47
  'centered'=>'Centered',
48
  'one-sided'=>'One Sided',
 
49
  ],
50
  'default' => 'centered',
51
  ]
52
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
  $this->end_controls_section();
55
 
@@ -62,64 +116,103 @@ class TWAE_Widget extends \Elementor\Widget_Base {
62
  ]
63
  );
64
 
 
 
65
  $this->add_group_control(
66
  Group_Control_Typography::get_type(),
67
  [
68
  'name' => 'twae_year_typography',
69
  'label' => __( 'Year Typography', 'twae' ),
70
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
 
71
  'fields_options' => [
72
- // Inner control name
73
- 'font_weight' => [
74
- // Inner control settings
75
- 'default' => '500',
76
- ],
77
- 'font_size' => [ 'default' => [ 'unit' => 'px', 'size' => 18 ] ]
78
  ],
79
- 'selector' => '{{WRAPPER}} .twae-wrapper .twae-year',
80
  ]
81
  );
82
 
 
 
83
  $this->add_group_control(
84
  Group_Control_Typography::get_type(),
85
  [
86
- 'name' => 'twae_title_typography',
87
- 'label' => __( 'Story Title Typography', 'twae' ),
88
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
89
- 'selector' => '{{WRAPPER}} .twae-wrapper span.twae-title',
 
 
 
 
 
 
 
90
  ]
91
  );
92
 
 
 
93
  $this->add_group_control(
94
  Group_Control_Typography::get_type(),
95
  [
96
- 'name' => 'twae_label_typography',
97
- 'label' => __( 'Story Label Typography', 'twae' ),
98
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
99
- 'selector' => '{{WRAPPER}} .twae-wrapper .twae-label-extra-label',
 
 
 
 
 
 
 
100
  ]
101
  );
102
 
 
 
103
  $this->add_group_control(
104
  Group_Control_Typography::get_type(),
105
  [
106
- 'name' => 'twae_extra_label_typography',
107
- 'label' => __( 'Story Extra Label Typography', 'twae' ),
108
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
109
- 'selector' => '{{WRAPPER}} .twae-wrapper span.twae-extra-label',
 
 
 
 
 
 
 
110
  ]
111
  );
112
 
 
 
113
  $this->add_group_control(
114
  Group_Control_Typography::get_type(),
115
  [
116
  'name' => 'twae_description_typography',
117
  'label' => __( 'Story Description Typography', 'twae' ),
118
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
119
  'selector' => '{{WRAPPER}} .twae-wrapper .twae-description',
 
 
 
 
 
 
 
120
  ]
121
  );
122
 
 
 
123
  $this->add_control(
124
  'twae_icon_size',
125
  [
@@ -127,8 +220,8 @@ class TWAE_Widget extends \Elementor\Widget_Base {
127
  'type' => Controls_Manager::SLIDER,
128
  'range' => [
129
  'px' => [
130
- 'min' => 6,
131
- 'max' => 100,
132
  ],
133
  ],
134
  'default' => [
@@ -176,7 +269,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
176
  'selectors' => [
177
  '{{WRAPPER}} .twae-wrapper .twae-year' => 'color: {{twae_year_label_color}}',
178
  ],
179
- 'default' => '#4054B2',
180
  ]
181
  );
182
 
@@ -192,7 +285,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
192
  'selectors' => [
193
  '{{WRAPPER}} .twae-wrapper .twae-year' => 'background-color: {{twae_year_label_bgcolor}}',
194
  ],
195
- 'default' => '#c3c56f',
196
  ]
197
  );
198
 
@@ -208,7 +301,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
208
  'selectors' => [
209
  '{{WRAPPER}} .twae-wrapper span.twae-label' => 'color: {{twae_date_label_color}}',
210
  ],
211
- 'default' => '#DD1414',
212
  ]
213
  );
214
 
@@ -224,7 +317,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
224
  'selectors' => [
225
  '{{WRAPPER}} .twae-wrapper span.twae-extra-label' => 'color: {{twae_extra_label_color}}',
226
  ],
227
- 'default' => '#AF1A1A',
228
  ]
229
  );
230
 
@@ -239,8 +332,9 @@ class TWAE_Widget extends \Elementor\Widget_Base {
239
  ],
240
  'selectors' => [
241
  '{{WRAPPER}} .twae-wrapper .twae-data-container span.twae-title' => 'color: {{twae_story_title_color}}',
 
242
  ],
243
- 'default' => '#1F39B2',
244
  ]
245
  );
246
 
@@ -272,11 +366,14 @@ class TWAE_Widget extends \Elementor\Widget_Base {
272
  'selectors' => [
273
  '{{WRAPPER}} .twae-wrapper .twae-line::before' => 'background-color: {{twae_line_color}}',
274
  '{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-icon' => 'border-color: {{twae_line_color}}',
275
- '{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-year' => 'border-color: {{twae_line_color}}; box-shadow: 2px 2px 4px -2px {{twae_line_color}}',
276
- '{{WRAPPER}} .twae-wrapper .twae-data-container' => 'box-shadow: 2px 2px 4px -2px {{twae_line_color}}',
277
- '@media only screen and (min-width: 769px) { {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container' => 'box-shadow: -2px 2px 4px -2px {{twae_line_color}} }',
 
 
 
278
  ],
279
- 'default' => '#333333',
280
  ]
281
  );
282
 
@@ -291,8 +388,14 @@ class TWAE_Widget extends \Elementor\Widget_Base {
291
  ],
292
  'selectors' => [
293
  '{{WRAPPER}} .twae-wrapper .twae-icon' => 'background-color: {{twae_icon_bgcolor}}',
 
 
 
 
 
 
294
  ],
295
- 'default' => '#C3C56F',
296
  ]
297
  );
298
 
@@ -307,10 +410,10 @@ class TWAE_Widget extends \Elementor\Widget_Base {
307
  ],
308
  'selectors' => [
309
  '{{WRAPPER}} .twae-wrapper .twae-data-container' => 'background-color: {{twae_story_bgcolor}}',
310
- '{{WRAPPER}} .twae-wrapper .twae-data-container:after' => 'border-right-color: {{twae_story_bgcolor}}',
311
  '{{WRAPPER}} .twae-wrapper .twae-icon' => 'color: {{twae_icon_bgcolor}}',
 
312
  ],
313
- 'default' => '#EDEFB1',
314
 
315
  ]
316
  );
@@ -335,7 +438,7 @@ class TWAE_Widget extends \Elementor\Widget_Base {
335
  'label_on' => __( 'Show', 'twae' ),
336
  'label_off' => __( 'Hide', 'twae' ),
337
  'return_value' => 'yes',
338
- 'default' => 'yes',
339
  ]
340
  );
341
 
@@ -381,6 +484,26 @@ class TWAE_Widget extends \Elementor\Widget_Base {
381
  ]
382
  );
383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  $repeater->add_control(
385
  'twae_description',
386
  [
@@ -402,26 +525,6 @@ class TWAE_Widget extends \Elementor\Widget_Base {
402
  ]
403
  );
404
 
405
- $repeater->add_control(
406
- 'twae_image',
407
- [
408
- 'label' => __( 'Choose Image', 'twae' ),
409
- 'type' => \Elementor\Controls_Manager::MEDIA,
410
- 'description' => __('Image Size will not work with default image','twae'),
411
- 'default' => [
412
- 'url' => \Elementor\Utils::get_placeholder_image_src(),
413
- ],
414
- ]
415
- );
416
-
417
- $repeater->add_group_control(
418
- Group_Control_Image_Size::get_type(),
419
- [
420
- 'name' => 'twae_thumbnail', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `thumbnail_size` and `thumbnail_custom_dimension`.
421
- 'separator' => 'none',
422
- ]
423
- );
424
-
425
  $this->add_control(
426
  'twae_list',
427
  [
@@ -473,11 +576,14 @@ class TWAE_Widget extends \Elementor\Widget_Base {
473
 
474
  }
475
 
 
476
  protected function render() {
477
 
478
  $settings = $this->get_settings_for_display();
479
  $data = $settings['twae_list'];
480
  $layout = $settings['twae_layout'];
 
 
481
 
482
  $timeline_layout_wrapper = "twae-centered";
483
  $timeline_layout = '';
@@ -487,89 +593,54 @@ class TWAE_Widget extends \Elementor\Widget_Base {
487
  }
488
 
489
  $countItem = 1;
490
- require TWAE_PATH . 'widgets/twae-centered-timeline.php';
 
 
 
 
 
 
 
 
 
491
 
492
  }
493
 
494
-
495
- protected function _content_template() {
496
 
497
  ?>
498
- <#
499
- if( settings.twae_list ) {
500
- var countItem = 1;
501
-
502
- var timeline_layout = '';
503
- var timeline_layout_wrapper = 'twae-centered';
504
- if(settings.twae_layout == 'one-sided'){
505
- var timeline_layout = "twae-one-sided-timeline";
506
- var timeline_layout_wrapper = 'twae-one-sided-wrapper';
507
- }
508
-
509
- #>
510
- <div class="twae-wrapper {{{ timeline_layout_wrapper }}}">
511
- <div class="twae-timeline-centered twae-timeline-sm twae-line {{{ timeline_layout }}}">
512
- <#
513
- _.each( settings.twae_list, function( item, index ) {
514
- var timeline_image = {
515
- id: item.twae_image.id,
516
- url: item.twae_image.url,
517
- size: item.twae_thumbnail_size,
518
- dimension: item.twae_thumbnail_custom_dimension,
519
- model: view.getEditModel()
520
- };
521
- var image_url = elementor.imagesManager.getImageUrl( timeline_image );
522
-
523
- if(item.twae_show_year_label == 'yes'){
524
- #>
525
- <span class="twae-year-container">
526
- <span class="twae-year-label twae-year">{{{ item.twae_year }}}</span>
527
- </span>
528
- <#
529
- }
530
- var story_alignment = "twae-right-aligned";
531
- if(settings.twae_layout == 'centered'){
532
-
533
- if ( countItem % 2 == 0) {
534
- var story_alignment = "twae-left-aligned";
535
- }
536
- }
537
- twaeiconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' ),
538
-
539
- #>
540
- <article class="twae-timeline-entry {{{ story_alignment }}}">
541
- <div class="twae-timeline-entry-inner">
542
- <time class="twae-label-extra-label">
543
- <span class="twae-label">{{{ item.twae_date_label }}}</span>
544
- <span class="twae-extra-label">{{{ item.twae_extra_label }}}</span>
545
- </time>
546
- <div class="twae-bg-orange twae-icon">
547
- <# if ( twaeiconHTML && twaeiconHTML.rendered ) { #>
548
- {{{ twaeiconHTML.value }}}
549
- <# } else { #>
550
- <i class="{{ item.twae_story_icon.value }}" aria-hidden="true"></i>
551
- <# } #>
552
-
553
- </div>
554
- <div class="twae-bg-orange twae-data-container">
555
- <span class="twae-title">{{{ item.twae_story_title}}}</span>
556
- <div class="twae-timeline-img"><img src="{{{ image_url }}}" /></div>
557
- <div class="twae-description">{{{ item.twae_description }}}</div>
558
- </div>
559
- </div>
560
- </article>
561
- <#
562
- countItem = countItem+1;
563
- });
564
  #>
565
- </div>
566
- </div>
567
- <#
 
 
 
 
 
 
 
 
 
568
  }
 
569
  #>
570
  <?php
571
- }
 
572
 
573
  }
574
 
575
  \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new TWAE_Widget() );
 
11
 
12
  class TWAE_Widget extends \Elementor\Widget_Base {
13
 
14
+
15
  public function get_name() {
16
  return 'timeline-widget-addon';
17
  }
47
  'options'=>[
48
  'centered'=>'Centered',
49
  'one-sided'=>'One Sided',
50
+ 'horizontal'=>'Horizontal',
51
  ],
52
  'default' => 'centered',
53
  ]
54
  );
55
+
56
+ $this->add_control(
57
+ 'twae_slides_to_show',
58
+ [
59
+ 'label' => __( 'Slides To Show', 'twae' ),
60
+ 'type' => \Elementor\Controls_Manager::TEXT,
61
+ 'default' => '2',
62
+ 'condition' => [
63
+ 'twae_layout' => [
64
+ 'horizontal'
65
+ ],
66
+ ]
67
+ ]
68
+ );
69
+
70
+ $this->add_control(
71
+ 'twae_slides_height',
72
+ [
73
+ 'label' => __( 'Equal Height Slides', 'twae' ),
74
+ 'description' => __('Make all slides the same height based on the tallest slide','twae'),
75
+ 'type' => \Elementor\Controls_Manager::SELECT,
76
+ 'default' => 'no-height',
77
+ 'options'=>[
78
+ 'auto-height'=>'Yes',
79
+ 'no-height'=>'No',
80
+ ],
81
+ 'condition' => [
82
+ 'twae_layout' => [
83
+ 'horizontal'
84
+ ],
85
+ ]
86
+ ]
87
+ );
88
+
89
+ $this->add_control(
90
+ 'twae_autoplay',
91
+ [
92
+ 'label' => __( 'Autoplay', 'twae' ),
93
+ 'type' => \Elementor\Controls_Manager::SELECT,
94
+ 'default' => 'false',
95
+ 'options'=>[
96
+ 'true'=>'True',
97
+ 'false'=>'False',
98
+ ],
99
+ 'condition' => [
100
+ 'twae_layout' => [
101
+ 'horizontal'
102
+ ],
103
+ ]
104
+ ]
105
+ );
106
+
107
 
108
  $this->end_controls_section();
109
 
116
  ]
117
  );
118
 
119
+
120
+ /*---- Year Label ----*/
121
  $this->add_group_control(
122
  Group_Control_Typography::get_type(),
123
  [
124
  'name' => 'twae_year_typography',
125
  'label' => __( 'Year Typography', 'twae' ),
126
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
127
+ 'selector' => '{{WRAPPER}} .twae-wrapper .twae-year',
128
  'fields_options' => [
129
+ // first mimic the click on Typography edit icon
130
+ 'typography' => ['default' => 'yes'],
131
+ // then redifine the Elementor defaults
132
+ 'font_size' => ['default' => [ 'unit' => 'px', 'size' => 16 ]],
133
+ 'font_weight' => ['default' => 'bold']
 
134
  ],
 
135
  ]
136
  );
137
 
138
+
139
+ /*---- Date / Custom Label ----*/
140
  $this->add_group_control(
141
  Group_Control_Typography::get_type(),
142
  [
143
+ 'name' => 'twae_label_typography',
144
+ 'label' => __( 'Story Label Typography', 'twae' ),
145
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
146
+ 'selector' => '{{WRAPPER}} .twae-wrapper span.twae-label',
147
+ 'fields_options' => [
148
+ // first mimic the click on Typography edit icon
149
+ 'typography' => ['default' => 'yes'],
150
+ // then redifine the Elementor defaults
151
+ 'font_size' => ['default' => [ 'unit' => 'px', 'size' => 20 ]],
152
+ 'font_weight' => ['default' => 600]
153
+ ],
154
  ]
155
  );
156
 
157
+
158
+ /*---- Small Label Below Date Label ----*/
159
  $this->add_group_control(
160
  Group_Control_Typography::get_type(),
161
  [
162
+ 'name' => 'twae_extra_label_typography',
163
+ 'label' => __( 'Story Extra Label Typography', 'twae' ),
164
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
165
+ 'selector' => '{{WRAPPER}} .twae-wrapper span.twae-extra-label',
166
+ 'fields_options' => [
167
+ // first mimic the click on Typography edit icon
168
+ 'typography' => ['default' => 'yes'],
169
+ // then redifine the Elementor defaults
170
+ 'font_size' => ['default' => [ 'unit' => 'px', 'size' => 15 ]],
171
+ 'font_weight' => ['default' => 'normal']
172
+ ],
173
  ]
174
  );
175
 
176
+
177
+ /*---- Story Title ----*/
178
  $this->add_group_control(
179
  Group_Control_Typography::get_type(),
180
  [
181
+ 'name' => 'twae_title_typography',
182
+ 'label' => __( 'Story Title Typography', 'twae' ),
183
  'scheme' => Scheme_Typography::TYPOGRAPHY_1,
184
+ 'selector' => '{{WRAPPER}} .twae-wrapper span.twae-title',
185
+ 'fields_options' => [
186
+ // first mimic the click on Typography edit icon
187
+ 'typography' => ['default' => 'yes'],
188
+ // then redifine the Elementor defaults
189
+ 'font_size' => ['default' => [ 'unit' => 'px', 'size' => 20 ]],
190
+ 'font_weight' => ['default' => 600]
191
+ ],
192
  ]
193
  );
194
 
195
+
196
+ /*---- Story Description ----*/
197
  $this->add_group_control(
198
  Group_Control_Typography::get_type(),
199
  [
200
  'name' => 'twae_description_typography',
201
  'label' => __( 'Story Description Typography', 'twae' ),
202
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
203
  'selector' => '{{WRAPPER}} .twae-wrapper .twae-description',
204
+ 'fields_options' => [
205
+ // first mimic the click on Typography edit icon
206
+ 'typography' => ['default' => 'yes'],
207
+ // then redifine the Elementor defaults
208
+ 'font_size' => ['default' => [ 'unit' => 'px', 'size' => 16 ]],
209
+ 'font_weight' => ['default' => 'normal']
210
+ ],
211
  ]
212
  );
213
 
214
+
215
+ /*---- Story ICON ----*/
216
  $this->add_control(
217
  'twae_icon_size',
218
  [
220
  'type' => Controls_Manager::SLIDER,
221
  'range' => [
222
  'px' => [
223
+ 'min' => 12,
224
+ 'max' => 36,
225
  ],
226
  ],
227
  'default' => [
269
  'selectors' => [
270
  '{{WRAPPER}} .twae-wrapper .twae-year' => 'color: {{twae_year_label_color}}',
271
  ],
272
+ 'default' => '#ffffff',
273
  ]
274
  );
275
 
285
  'selectors' => [
286
  '{{WRAPPER}} .twae-wrapper .twae-year' => 'background-color: {{twae_year_label_bgcolor}}',
287
  ],
288
+ 'default' => '#54595F',
289
  ]
290
  );
291
 
301
  'selectors' => [
302
  '{{WRAPPER}} .twae-wrapper span.twae-label' => 'color: {{twae_date_label_color}}',
303
  ],
304
+ 'default' => '#23A455',
305
  ]
306
  );
307
 
317
  'selectors' => [
318
  '{{WRAPPER}} .twae-wrapper span.twae-extra-label' => 'color: {{twae_extra_label_color}}',
319
  ],
320
+ 'default' => '#7A7A7A',
321
  ]
322
  );
323
 
332
  ],
333
  'selectors' => [
334
  '{{WRAPPER}} .twae-wrapper .twae-data-container span.twae-title' => 'color: {{twae_story_title_color}}',
335
+ '{{WRAPPER}} .twae-horizontal span.twae-title' => 'color: {{twae_story_title_color}}',
336
  ],
337
+ 'default' => '#23A455',
338
  ]
339
  );
340
 
366
  'selectors' => [
367
  '{{WRAPPER}} .twae-wrapper .twae-line::before' => 'background-color: {{twae_line_color}}',
368
  '{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-icon' => 'border-color: {{twae_line_color}}',
369
+ '{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-year' => 'border-color: {{twae_line_color}}',
370
+ '{{WRAPPER}} .twae-wrapper:before' => 'background-color: {{twae_line_color}}',
371
+ '{{WRAPPER}} .twae-wrapper:after' => 'background-color: {{twae_line_color}}',
372
+ '{{WRAPPER}} .twae-horizontal .twae-pagination.swiper-pagination-progressbar' => 'background-color: {{twae_line_color}}',
373
+ '{{WRAPPER}} .twae-horizontal .twae-button-prev' => 'color: {{twae_line_color}}',
374
+ '{{WRAPPER}} .twae-horizontal .twae-button-next' => 'color: {{twae_line_color}}',
375
  ],
376
+ 'default' => '#D6D6D6',
377
  ]
378
  );
379
 
388
  ],
389
  'selectors' => [
390
  '{{WRAPPER}} .twae-wrapper .twae-icon' => 'background-color: {{twae_icon_bgcolor}}',
391
+ '{{WRAPPER}} .twae-horizontal .twae-story-info' => 'border-color: {{twae_icon_bgcolor}}',
392
+ '{{WRAPPER}} .twae-horizontal .twae-story-info:before' => 'border-bottom-color: {{twae_icon_bgcolor}}',
393
+ '{{WRAPPER}} .twae-wrapper .twae-data-container:after' => 'border-right-color: {{twae_icon_bgcolor}}',
394
+ '{{WRAPPER}} .twae-wrapper .twae-right-aligned .twae-data-container' => 'border-left: 2px solid {{twae_icon_bgcolor}}',
395
+ '{{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container' => 'border-right: 2px solid {{twae_icon_bgcolor}}',
396
+ '@media only screen and (max-width: 769px) { {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container' => 'border-left: 2px solid {{twae_icon_bgcolor}} }',
397
  ],
398
+ 'default' => '#23A455',
399
  ]
400
  );
401
 
410
  ],
411
  'selectors' => [
412
  '{{WRAPPER}} .twae-wrapper .twae-data-container' => 'background-color: {{twae_story_bgcolor}}',
 
413
  '{{WRAPPER}} .twae-wrapper .twae-icon' => 'color: {{twae_icon_bgcolor}}',
414
+ '{{WRAPPER}} .twae-horizontal .twae-story-info' => 'background-color: {{twae_icon_bgcolor}}',
415
  ],
416
+ 'default' => '#fff9ed',
417
 
418
  ]
419
  );
438
  'label_on' => __( 'Show', 'twae' ),
439
  'label_off' => __( 'Hide', 'twae' ),
440
  'return_value' => 'yes',
441
+ 'default' => 'no',
442
  ]
443
  );
444
 
484
  ]
485
  );
486
 
487
+ $repeater->add_control(
488
+ 'twae_image',
489
+ [
490
+ 'label' => __( 'Choose Image', 'twae' ),
491
+ 'type' => \Elementor\Controls_Manager::MEDIA,
492
+ 'description' => __('Image Size will not work with default image','twae'),
493
+ 'default' => [
494
+ 'url' => \Elementor\Utils::get_placeholder_image_src(),
495
+ ],
496
+ ]
497
+ );
498
+
499
+ $repeater->add_group_control(
500
+ Group_Control_Image_Size::get_type(),
501
+ [
502
+ 'name' => 'twae_thumbnail', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `thumbnail_size` and `thumbnail_custom_dimension`.
503
+ 'separator' => 'none',
504
+ ]
505
+ );
506
+
507
  $repeater->add_control(
508
  'twae_description',
509
  [
525
  ]
526
  );
527
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
528
  $this->add_control(
529
  'twae_list',
530
  [
576
 
577
  }
578
 
579
+ // for frontend
580
  protected function render() {
581
 
582
  $settings = $this->get_settings_for_display();
583
  $data = $settings['twae_list'];
584
  $layout = $settings['twae_layout'];
585
+ $autoplay = $settings['twae_autoplay'];
586
+ $sidesHeight = $settings['twae_slides_height'];
587
 
588
  $timeline_layout_wrapper = "twae-centered";
589
  $timeline_layout = '';
593
  }
594
 
595
  $countItem = 1;
596
+ if($layout == 'horizontal'){
597
+ $timeline_layout = "twae-horizontal-timeline";
598
+ $timeline_layout_wrapper = "twae-horizontal-wrapper";
599
+ require TWAE_PATH . 'widgets/frontend-layouts/twae-horizontal-timeline.php';
600
+
601
+
602
+ }else{
603
+ require TWAE_PATH . 'widgets/frontend-layouts/twae-centered-timeline.php';
604
+ }
605
+
606
 
607
  }
608
 
609
+ // for live editor
610
+ protected function _content_template() {
611
 
612
  ?>
613
+ <#
614
+ if( settings.twae_list ) {
615
+
616
+ if(settings.twae_layout == 'horizontal'){
617
+ var sidesToShow = settings.twae_slides_to_show;
618
+ var sidesHeight = settings.twae_slides_height;
619
+ var autoplay = settings.twae_autoplay;
620
+ if(sidesToShow==''){
621
+ sidesToShow = 2;
622
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
623
  #>
624
+ <?php require TWAE_PATH . 'widgets/editor-layouts/horizontal-template.php';
625
+
626
+ ?>
627
+ <#
628
+
629
+ }
630
+ else{
631
+ #>
632
+
633
+ <?php require TWAE_PATH . 'widgets/editor-layouts/vertical-template.php'; ?>
634
+ <#
635
+ }
636
  }
637
+
638
  #>
639
  <?php
640
+
641
+ }
642
 
643
  }
644
 
645
  \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new TWAE_Widget() );
646
+