Slide Anything – Responsive Content / HTML Slider and Carousel - Version 2.0.18

Version Description

  • Minor Bug Fix

=

Download this release

Release Info

Developer simonpedge
Plugin Icon 128x128 Slide Anything – Responsive Content / HTML Slider and Carousel
Version 2.0.18
Comparing to
See all releases

Code changes from version 1.6 to 2.0.18

css/slide-anything-admin.css CHANGED
@@ -125,12 +125,30 @@
125
  }
126
  #slider_accordion > h3 {
127
  margin-top:3px !important;
128
- padding:6px 10px !important;
129
  font-family:Arial, Helvetica, sans-serif !important;
130
  font-weight:normal !important;
131
- font-size:15px !important;
132
- line-height:20px !important;
 
133
  text-transform:uppercase !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  }
135
  #slider_accordion > h3 .ui-accordion-header-icon {
136
  display:none !important;
@@ -138,27 +156,106 @@
138
  #slider_accordion > div {
139
  padding:15px 15px !important;
140
  }
141
- /* slide backround image/color */
142
- .sa_slide_bg_wrapper {
143
- position:relative;
144
- margin-top:15px;
 
 
 
145
  border:solid 1px #e0e0e0;
146
- padding:20px 15px 14px;
147
- background-color:#f8f8f8;
148
  }
149
- .sa_slide_bg_wrapper h4 {
150
- position:absolute;
151
- display:inline-block;
152
- top:-10px;
153
- left:10px;
 
 
 
 
 
 
 
154
  margin:0px;
155
- padding:0px 5px;
 
 
 
 
 
 
 
 
 
 
156
  background-color:#ffffff;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  color:#303030;
158
  font-family:'Open Sans', sans-serif;
159
- font-size:14px;
160
- font-weight:600;
161
- line-height:20px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
  }
163
  .sa_slide_bg_wrapper .sa_slide_thumb {
164
  position:relative;
@@ -199,7 +296,7 @@
199
  margin:3px 0px 0px !important;
200
  }
201
  .sa_slide_bg_wrapper .slide_image_settings_line {
202
- margin:8px 0px 0px 197px;
203
  }
204
  .sa_slide_bg_wrapper .slide_image_settings_line span {
205
  display:inline-block;
@@ -231,7 +328,292 @@
231
  margin-right:2px !important;
232
  }
233
 
234
- /* SLIDE BUTTONS (DELETE SLIDE, DUPLICATE SLIDE) */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
  #slider_accordion > div .button-secondary {
236
  margin:10px 0px 0px;
237
  }
@@ -252,13 +634,51 @@
252
  cursor:default;
253
  }
254
  #sa_shortcode_copy {
255
- float:left;
256
  margin:10px 0px 0px;
257
  }
258
  #sa_preview_slider {
259
  float:right;
260
  margin:10px 0px 0px;
261
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
262
 
263
  /* ### METABOX 'Items Displayed' ### */
264
  #items_displayed_metabox > h4 {
@@ -302,7 +722,7 @@
302
  #slider_style_metabox h4 {
303
  position:relative;
304
  color:#303030;
305
- margin:15px 0px 10px;
306
  font-family:'Open Sans', sans-serif;
307
  font-size:14px;
308
  font-weight:600;
@@ -437,6 +857,19 @@
437
  #slider_style_metabox #sa_border_radius {
438
  width:35px !important;
439
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  #slider_style_metabox #ca_style_padding_top_bottom {
441
  background:transparent url('../images/padding_top_bottom.png') no-repeat 5px 0px !important;
442
  padding-left:28px !important;
@@ -562,3 +995,103 @@
562
  .ui-state-hover .ui-icon {
563
  background-image:url('../images/ui-icons_444444_256x240.png') !important;
564
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  }
126
  #slider_accordion > h3 {
127
  margin-top:3px !important;
128
+ padding:7px 10px !important;
129
  font-family:Arial, Helvetica, sans-serif !important;
130
  font-weight:normal !important;
131
+ font-size:16px !important;
132
+ line-height:22px !important;
133
+ letter-spacing:1px;
134
  text-transform:uppercase !important;
135
+ background-color:#f0f0f0;
136
+ border-color:#e0e0e0;
137
+ color:#505050;
138
+ outline:none;
139
+ box-shadow:none;
140
+ -webkit-box-shadow:none;
141
+ transition:all .3s ease-in-out;
142
+ -webkit-transition:all .3s ease-in-out;
143
+ -moz-transition:all .3s ease-in-out;
144
+ -o-transition:all .3s ease-in-out;
145
+ }
146
+ #slider_accordion > h3:hover {
147
+ background-color:#e8e8e8;
148
+ }
149
+ #slider_accordion > h3.ui-state-active {
150
+ background-color:#007fff;
151
+ color:#f0f0f0;
152
  }
153
  #slider_accordion > h3 .ui-accordion-header-icon {
154
  display:none !important;
156
  #slider_accordion > div {
157
  padding:15px 15px !important;
158
  }
159
+ #slider_accordion > div .wp-editor-container {
160
+ border-color:#e0e0e0;
161
+ border-radius:3px;
162
+ }
163
+
164
+ /* ### METABOX 'Slides' - TABS FOR EACH SLIDE ### */
165
+ .sa_slide_tabs {
166
  border:solid 1px #e0e0e0;
167
+ margin:5px 0px 0px;
 
168
  }
169
+ .sa_slide_tabs .ui-tabs-nav {
170
+ border-style:none;
171
+ }
172
+ .sa_slide_tabs .ui-tabs-nav {
173
+ padding:0px 3px;
174
+ background-color:#f0f0f0;
175
+ border-bottom:solid 1px #e0e0e0;
176
+ }
177
+ .sa_slide_tabs .ui-tabs-nav li {
178
+ display:block;
179
+ float:left;
180
+ width:130px;
181
  margin:0px;
182
+ border-style:none;
183
+ outline:none;
184
+ box-shadow:none;
185
+ -webkit-box-shadow:none;
186
+ margin:5px 2px;
187
+ }
188
+ .sa_slide_tabs .ui-tabs-nav li a {
189
+ display:inline-block;
190
+ width:100%;
191
+ text-align:center;
192
+ color:#707070;
193
  background-color:#ffffff;
194
+ font-size:14px;
195
+ line-height:14px;
196
+ padding:5px 0px;
197
+ box-shadow:none;
198
+ -webkit-box-shadow:none;
199
+ transition:all .3s ease-in-out;
200
+ -webkit-transition:all .3s ease-in-out;
201
+ -moz-transition:all .3s ease-in-out;
202
+ -o-transition:all .3s ease-in-out;
203
+ }
204
+ .sa_slide_tabs .ui-tabs-nav li a:hover {
205
+ color:#000000;
206
+ }
207
+ .sa_slide_tabs .ui-tabs-nav li.ui-state-active a {
208
+ background-color:#007fff;
209
+ color:#f0f0f0;
210
+ }
211
+ .sa_slide_tabs .sa_slide_tab {
212
+ padding:15px;
213
+ border-style:none;
214
+ }
215
+ .sa_slide_tabs .sa_slide_tab p {
216
+ margin:0px;
217
+ }
218
+
219
+ /* ##### METABOX 'Slides' - TAB 1 (Slide Background) ##### */
220
+ .popup_background_wrapper {
221
+ display:inline-block;
222
+ margin:0px 0px 15px;
223
+ padding:10px;
224
+ width:auto;
225
+ background-color:#f5f5f5;
226
+ border:solid 1px #e0e0e0;
227
+ border-radius:5px;
228
+ }
229
+ .popup_background_wrapper div {
230
+ position:relative;
231
+ width:auto;
232
+ padding:0px 21px 5px 0px;
233
  color:#303030;
234
  font-family:'Open Sans', sans-serif;
235
+ font-weight:400;
236
+ font-size:13px;
237
+ line-height:18px;
238
+ }
239
+ .popup_background_wrapper div .sa_tooltip {
240
+ position:absolute;
241
+ top:0px;
242
+ margin-left:5px;
243
+ cursor:help;
244
+ }
245
+ .sa_slide_bg_popup {
246
+ display:none;
247
+ position:relative;
248
+ float:left;
249
+ margin-right:15px;
250
+ border:solid 1px #e0e0e0;
251
+ padding:5px;
252
+ background-color:#f3f3f3;
253
+ }
254
+ .sa_slide_bg_popup div {
255
+ width:170px;
256
+ height:170px;
257
+ background:transparent url('../images/image_placeholder_popup.jpg') no-repeat top left;
258
+ background-size:cover;
259
  }
260
  .sa_slide_bg_wrapper .sa_slide_thumb {
261
  position:relative;
296
  margin:3px 0px 0px !important;
297
  }
298
  .sa_slide_bg_wrapper .slide_image_settings_line {
299
+ margin:7px 0px 0px 197px;
300
  }
301
  .sa_slide_bg_wrapper .slide_image_settings_line span {
302
  display:inline-block;
328
  margin-right:2px !important;
329
  }
330
 
331
+ /* ##### METABOX 'Slides' - TAB 2 (Slide Link) ##### */
332
+ .slide_link_settings_wrapper {
333
+ padding:0px;
334
+ }
335
+ .slide_link_settings_wrapper p {
336
+ font-weight:600;
337
+ font-size:14px;
338
+ line-height:20px;
339
+ color:#303030;
340
+ padding-bottom:5px;
341
+ }
342
+ .slide_link_settings_wrapper div {
343
+ padding:10px 0px 0px;
344
+ }
345
+ .slide_link_settings_wrapper div span {
346
+ display:inline-block;
347
+ width:100%;
348
+ padding:0px 0px 2px 2px;
349
+ font-weight:400;
350
+ font-size:13px;
351
+ line-height:18px;
352
+ color:#505050;
353
+ }
354
+ .slide_link_settings_wrapper div input[type=text] {
355
+ width:100%;
356
+ margin:0px;
357
+ font-size:14px !important;
358
+ line-height:20px !important;
359
+ padding:5px 7px !important;
360
+ }
361
+ .slide_link_settings_wrapper div select {
362
+ padding:3px;
363
+ line-height:28px;
364
+ height:28px;
365
+ }
366
+
367
+ /* ##### METABOX 'Slides' - TAB 2 (Slide Popup) ##### */
368
+ /* pro version info message */
369
+ .slide_popup_pro_version > h4 {
370
+ margin:5px 0px 15px;
371
+ padding:5px 0px;
372
+ text-align:center;
373
+ font-size:16px;
374
+ line-height:22px;
375
+ font-weight:normal;
376
+ background-color:#f0f0f0;
377
+ color:crimson;
378
+ border:solid 1px #e0e0e0;
379
+ border-radius:5px;
380
+ }
381
+ .slide_popup_pro_version > p {
382
+ margin:0px;
383
+ padding:0px;
384
+ font-size:14px;
385
+ line-height:22px;
386
+ color:#606060;
387
+ }
388
+ .slide_popup_pro_version ul {
389
+ margin:0px 0px 10px 30px;
390
+ padding:0px;
391
+ list-style-type: disc;
392
+ }
393
+ .slide_popup_pro_version ul li {
394
+ margin:0px;
395
+ padding:2px 0px 0px;
396
+ font-size:14px;
397
+ line-height:22px;
398
+ color:#606060;
399
+ }
400
+ .slide_popup_pro_version > p a {
401
+ font-weight:bold;
402
+ text-decoration:none;
403
+ letter-spacing:1px;
404
+ color:#007fff;
405
+ }
406
+ .slide_popup_pro_version > p a:hover {
407
+ text-decoration:underline;
408
+ }
409
+ /* popup settings - general */
410
+ .slide_popup_settings_line {
411
+ position:relative;
412
+ margin:0px 0px 10px;
413
+ }
414
+ .slide_popup_settings_line span {
415
+ display:inline-block;
416
+ width:130px;
417
+ color:#303030;
418
+ font-family:'Open Sans', sans-serif;
419
+ font-weight:400;
420
+ font-size:13px;
421
+ }
422
+ .slide_popup_settings_line select {
423
+ min-width:110px;
424
+ }
425
+ .slide_popup_settings_line .sa_tooltip {
426
+ position:absolute;
427
+ top:-2px;
428
+ margin-left:5px !important;
429
+ cursor:help;
430
+ }
431
+ /* image popup settings */
432
+ .image_popup_wrapper {
433
+ }
434
+ .image_popup_wrapper .slide_popup_thumb {
435
+ position:relative;
436
+ float:left;
437
+ max-width:320px;
438
+ margin:5px 10px 0px 0px;
439
+ padding:5px;
440
+ border:solid 1px #e0e0e0;
441
+ border-radius:5px;
442
+ background-color:#ffffff;
443
+ }
444
+ .image_popup_wrapper .slide_popup_thumb img {
445
+ display:block;
446
+ width:100%;
447
+ }
448
+ .image_popup_wrapper .slide_popup_thumb span {
449
+ display:inline-block;
450
+ position:absolute;
451
+ top:0px;
452
+ right:0px;
453
+ font-family:Arial, Helvetica, sans-serif;
454
+ font-size:14px;
455
+ line-height:14px;
456
+ padding:3px 3px;
457
+ background-color:rgba(0,0,0,0.5);
458
+ color:#ffffff;
459
+ cursor:pointer;
460
+ transition:all .3s ease-in-out;
461
+ -webkit-transition:all .3s ease-in-out;
462
+ -moz-transition:all .3s ease-in-out;
463
+ -o-transition:all .3s ease-in-out;
464
+ }
465
+ .image_popup_wrapper .slide_popup_thumb span:hover {
466
+ background-color:crimson;
467
+ }
468
+ .image_popup_wrapper .slide_popup_image_preview {
469
+ display:inline-block;
470
+ }
471
+ .image_popup_wrapper .slide_popup_info {
472
+ padding:0px;
473
+ }
474
+ .image_popup_wrapper .sa_slide_popup_imagetitle {
475
+ width:300px;
476
+ margin:10px 0px 0px;
477
+ font-size:14px !important;
478
+ line-height:20px !important;
479
+ padding:5px 7px !important;
480
+ }
481
+ input.sa_slide_popup_imagetitle::-webkit-input-placeholder { color:#c0c0c0 !important; }
482
+ input.sa_slide_popup_imagetitle:-moz-placeholder { color:#c0c0c0 !important; }
483
+ input.sa_slide_popup_imagetitle::-moz-placeholder { color:#c0c0c0 !important; }
484
+ input.sa_slide_popup_imagetitle:-ms-input-placeholder { color:#c0c0c0 !important; }
485
+ @media only screen and (max-width:1279px) {
486
+ .image_popup_wrapper .slide_popup_thumb { max-width:200px; }
487
+ .image_popup_wrapper .sa_slide_popup_imagetitle { width:200px; }
488
+ }
489
+ @media only screen and (max-width:1049px) {
490
+ .image_popup_wrapper .slide_popup_thumb { float:none !important; }
491
+ .image_popup_wrapper .popup_image_add { clear:both; }
492
+ .image_popup_wrapper .sa_slide_popup_imagetitle { clear:both; width:100%; }
493
+ }
494
+ .image_popup_wrapper .slide_popup_info div {
495
+ padding:10px 0px 0px;
496
+ font-size:13px;
497
+ line-height:16px;
498
+ color:#707070;
499
+ }
500
+ /* video popup settings */
501
+ .video_popup_wrapper {
502
+ }
503
+ .video_popup_wrapper .slide_video_thumb {
504
+ float:left;
505
+ box-sizing:content-box;
506
+ width:320px;
507
+ height:180px;
508
+ margin:5px 10px 0px 0px;
509
+ padding:5px;
510
+ border:solid 1px #e0e0e0;
511
+ border-radius:5px;
512
+ background-color:transparent;
513
+ }
514
+ .video_popup_wrapper .slide_video_thumb > img,
515
+ .video_popup_wrapper .slide_video_thumb > iframe {
516
+ width:100%;
517
+ height:100%;
518
+ }
519
+ .video_popup_wrapper .sa_slide_video_url input {
520
+ width:400px;
521
+ margin:10px 0px 5px;
522
+ font-size:14px !important;
523
+ line-height:20px !important;
524
+ padding:5px 7px !important;
525
+ }
526
+ .video_popup_wrapper .sa_popup_video_invalid_url {
527
+ display:none;
528
+ padding:10px 0px 0px;
529
+ color:crimson;
530
+ font-family:'Open Sans', sans-serif;
531
+ font-weight:400;
532
+ font-size:13px;
533
+ }
534
+ .video_popup_wrapper .slide_popup_video_preview {
535
+ display:inline-block !important;
536
+ }
537
+ .video_popup_wrapper .sa_slide_video_url input::-webkit-input-placeholder { color:#c0c0c0 !important; }
538
+ .video_popup_wrapper .sa_slide_video_url input:-moz-placeholder { color:#c0c0c0 !important; }
539
+ .video_popup_wrapper .sa_slide_video_url input::-moz-placeholder { color:#c0c0c0 !important; }
540
+ .video_popup_wrapper .sa_slide_video_url input:-ms-input-placeholder { color:#c0c0c0 !important; }
541
+ @media only screen and (max-width:1399px) {
542
+ .video_popup_wrapper .sa_slide_video_url input { width:300px !important; }
543
+ }
544
+ @media only screen and (max-width:1279px) {
545
+ .video_popup_wrapper .sa_slide_video_url input { clear:both !important; width:100% !important; margin-top:10px !important; }
546
+ }
547
+ /* content popup settings */
548
+ .html_popup_wrapper textarea {
549
+ width:100%;
550
+ margin:5px 0px 10px;
551
+ padding:4px 8px;
552
+ font-size:13px;
553
+ line-height:20px;
554
+ height:150px;
555
+ background-color:#fcfcfc;
556
+ }
557
+ .html_popup_wrapper .slide_popup_settings_line .sp-replacer { /* spectrum color picker */
558
+ background-color:#fafafa !important;
559
+ border:solid 1px #e0e0e0 !important;
560
+ margin:2px 1px !important;
561
+ padding:2px !important;
562
+ border-radius:5px !important;
563
+ }
564
+ .html_popup_wrapper .slide_popup_settings_line .sp-replacer .sp-preview { /* spectrum color picker */
565
+ width:87px !important;
566
+ height:18px !important;
567
+ border:solid 1px #c0c0c0 !important;
568
+ margin-right:3px !important;
569
+ }
570
+ .html_popup_wrapper .slide_popup_settings_line .sp-replacer .sp-dd { /* spectrum color picker */
571
+ height:18px !important;
572
+ padding:0px !important;
573
+ margin-right:2px !important;
574
+ }
575
+ .html_popup_wrapper .slide_popup_settings_line .ui-spinner {
576
+ width:auto !important;
577
+ }
578
+ .html_popup_wrapper .slide_popup_settings_line .ui-spinner-input {
579
+ width:50px !important;
580
+ margin:3px 5px !important;
581
+ outline-style:none !important;
582
+ border-style:none !important;
583
+ box-shadow:none !important;
584
+ -webkit-box-shadow:none !important;
585
+ color:#303030 !important;
586
+ font-size:13px !important;
587
+ }
588
+ .html_popup_wrapper .slide_popup_settings_line em,
589
+ .html_popup_wrapper .slide_popup_settings_line strong {
590
+ display: inline-block;
591
+ padding: 0px 10px 0px 5px;
592
+ font-style: normal;
593
+ font-weight: normal;
594
+ color: #a0a0a0;
595
+ font-family: 'Open Sans', sans-serif;
596
+ font-size: 14px;
597
+ line-height: 18px;
598
+ }
599
+ .html_popup_wrapper .slide_popup_css {
600
+ display:inline-block;
601
+ padding: 4px 10px 4px 33px;
602
+ background: #f0f0f0 url(../images/icon_copy.png) no-repeat 5px 2px;
603
+ font-size: 13px;
604
+ line-height: 20px;
605
+ height: 20px;
606
+ color: #000000;
607
+ border-radius:5px;
608
+ cursor: pointer;
609
+ }
610
+ @media only screen and (max-width:1199px) {
611
+ .html_popup_wrapper .slide_popup_settings_line strong { display:none; }
612
+ }
613
+
614
+
615
+
616
+ /* ### SLIDE BUTTONS (DELETE SLIDE, DUPLICATE SLIDE) ### */
617
  #slider_accordion > div .button-secondary {
618
  margin:10px 0px 0px;
619
  }
634
  cursor:default;
635
  }
636
  #sa_shortcode_copy {
637
+ float:none;
638
  margin:10px 0px 0px;
639
  }
640
  #sa_preview_slider {
641
  float:right;
642
  margin:10px 0px 0px;
643
  }
644
+ #sa_preview_popup {
645
+ position:fixed;
646
+ top:0px;
647
+ left:0px;
648
+ width:100%;
649
+ height:100%;
650
+ background-color:rgba(0,0,0,0.8);
651
+ z-index:100041;
652
+ }
653
+ #sa_preview_popup #sa_preview_wrapper {
654
+ position:absolute;
655
+ box-sizing:border-box;
656
+ width:96%;
657
+ top:4%;
658
+ left:2%;
659
+ padding:20px 30px;
660
+ background-color:#ffffff;
661
+ }
662
+ #sa_preview_popup #sa_preview_wrapper #sa_preview_close {
663
+ position:absolute;
664
+ top:0px;
665
+ right:0px;
666
+ padding:3px 0px;
667
+ width:30px;
668
+ text-align:center;
669
+ font-weight:bold;
670
+ font-size:24px;
671
+ line-height:24px;
672
+ color:#000000;
673
+ cursor:pointer;
674
+ transition:background .3s ease-in-out;
675
+ -webkit-transition:background .3s ease-in-out;
676
+ -moz-transition:background .3s ease-in-out;
677
+ -o-transition:background .3s ease-in-out;
678
+ }
679
+ #sa_preview_popup #sa_preview_wrapper #sa_preview_close:hover {
680
+ background-color:#d0d0d0;
681
+ }
682
 
683
  /* ### METABOX 'Items Displayed' ### */
684
  #items_displayed_metabox > h4 {
722
  #slider_style_metabox h4 {
723
  position:relative;
724
  color:#303030;
725
+ margin:15px 0px 3px;
726
  font-family:'Open Sans', sans-serif;
727
  font-size:14px;
728
  font-weight:600;
857
  #slider_style_metabox #sa_border_radius {
858
  width:35px !important;
859
  }
860
+ #slider_style_metabox #ca_style_min_height span {
861
+ width:80px;
862
+ background-position:0px 1px !important;
863
+ height:20px !important;
864
+ padding-left:20px !important;
865
+ cursor:help;
866
+ }
867
+ #slider_style_metabox #ca_style_min_height em {
868
+ padding:0px 8px 0px 0px !important;
869
+ color:#404040 !important;
870
+ font-size:13px !important;
871
+ line-height:18px !important;
872
+ }
873
  #slider_style_metabox #ca_style_padding_top_bottom {
874
  background:transparent url('../images/padding_top_bottom.png') no-repeat 5px 0px !important;
875
  padding-left:28px !important;
995
  .ui-state-hover .ui-icon {
996
  background-image:url('../images/ui-icons_444444_256x240.png') !important;
997
  }
998
+
999
+
1000
+
1001
+ /*
1002
+ ####################################
1003
+ ### SLIDE ANYTHING SETTINGS PAGE ###
1004
+ ####################################
1005
+ */
1006
+ #sa_settings_page_wrapper h1 {
1007
+ margin:0px;
1008
+ padding:20px 0px 10px;
1009
+ font-size:26px !important;
1010
+ line-height:32px !important;
1011
+ }
1012
+ #sa_settings_page_wrapper h2 {
1013
+ margin:0px;
1014
+ padding:20px 0px 20px;
1015
+ font-size:18px !important;
1016
+ line-height:24px !important;
1017
+ }
1018
+ #sa_settings_page_wrapper > p,
1019
+ #sa_settings_page_wrapper > form > p {
1020
+ margin:0px;
1021
+ padding:0px 0px 10px;
1022
+ font-size:15px;
1023
+ line-height:22px;
1024
+ }
1025
+ #sa_settings_page_wrapper > p a {
1026
+ color:#0073aa;
1027
+ text-decoration:none;
1028
+ }
1029
+ #sa_settings_page_wrapper > p a:hover {
1030
+ text-decoration:underline;
1031
+ }
1032
+ #sa_settings_page_wrapper ol {
1033
+ margin:0px 0px 0px 20px;
1034
+ }
1035
+ #sa_settings_page_wrapper ol li {
1036
+ font-size:15px;
1037
+ line-height:22px;
1038
+ margin:2px 0px 0px;
1039
+ padding:0px;
1040
+ }
1041
+ #sa_settings_page_wrapper ol li h4 {
1042
+ margin:0px;
1043
+ padding:0px;
1044
+ font-size:15px !important;
1045
+ line-height:22px !important;
1046
+ }
1047
+ #sa_settings_page_wrapper ol li p {
1048
+ margin:0px;
1049
+ padding:0px;
1050
+ font-size:14px;
1051
+ line-height:22px;
1052
+ }
1053
+ #sa_settings_page_wrapper ol li ul {
1054
+ list-style-type:disc;
1055
+ margin:0px 0px 10px 25px;
1056
+ }
1057
+ #sa_settings_page_wrapper ol li ul li {
1058
+ margin:0px;
1059
+ padding:0px;
1060
+ font-size:14px !important;
1061
+ line-height:22px !important;
1062
+ }
1063
+ #sa_settings_page_wrapper > form > table {
1064
+ margin:0px;
1065
+ }
1066
+ #sa_settings_page_wrapper > form > table tr th {
1067
+ width:180px;
1068
+ padding:10px 10px 10px 20px;
1069
+ line-height:27px;
1070
+ }
1071
+ #sa_settings_page_wrapper > form > table tr td {
1072
+ padding:10px 0px 10px 10px;
1073
+ }
1074
+ #sa_settings_page_wrapper > form > table tr td input[type=text] {
1075
+ width:300px;
1076
+ max-width:90%;
1077
+ }
1078
+ #sa_settings_page_wrapper > form input[type=submit] {
1079
+ margin:10px 0px 0px 20px;
1080
+ }
1081
+ #sa_settings_page_wrapper #sa_settings_page_message {
1082
+ display:inline-block;
1083
+ margin:20px 0px 0px 20px;
1084
+ padding:7px 12px;
1085
+ background-color:#ffffff;
1086
+ color:green;
1087
+ border:solid 1px #d8d8d8;
1088
+ border-radius:5px;
1089
+ font-size:18px;
1090
+ line-height:24px;
1091
+ font-weight:normal;
1092
+ }
1093
+ @media screen and (max-width:782px) {
1094
+ #sa_settings_page_wrapper > form > table tr th { padding:10px 0px 0px 2px; }
1095
+ #sa_settings_page_wrapper > form > table tr td { padding:0px 0px 10px 0px; }
1096
+ #sa_settings_page_wrapper #sa_settings_page_message { margin:20px 0px 0px 0px; font-size:16px; line-height:22px; }
1097
+ }
images/black_icon_next.png ADDED
Binary file
images/black_icon_prev.png ADDED
Binary file
images/black_lightbox_video.png ADDED
Binary file
images/black_lightbox_zoom.png ADDED
Binary file
images/black_slide_link.png ADDED
Binary file
images/icon_next.png CHANGED
Binary file
images/icon_prev.png CHANGED
Binary file
images/image_placeholder.jpg ADDED
Binary file
images/image_placeholder_popup.jpg ADDED
Binary file
images/lightbox_video.png ADDED
Binary file
images/lightbox_zoom.png ADDED
Binary file
images/slide_link.png ADDED
Binary file
images/video_placeholder.jpg ADDED
Binary file
images/video_placeholder_admin.jpg ADDED
Binary file
js/slide-anything-admin.js CHANGED
@@ -5,7 +5,7 @@
5
  jQuery(function() {
6
  // ##### JQUERY-UI TOOLTIPS #####
7
  jQuery(".sa_tooltip").tooltip();
8
-
9
  // ##### JQUERY-UI - SLIDE DURATION SLIDER/INPUT #####
10
  var init_value = jQuery("#sa_slide_duration").val();
11
  jQuery("#jq_slider_duration").slider({
@@ -19,6 +19,20 @@ jQuery(function() {
19
  }
20
  });
21
  jQuery("#sa_slide_duration").val(jQuery("#jq_slider_duration").slider("value"));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  // ##### JQUERY-UI - SLIDE TRANSITION SLIDER/INPUT #####
24
  var init_value = jQuery("#sa_slide_transition").val();
@@ -46,11 +60,20 @@ jQuery(function() {
46
  jQuery("#slider_accordion").accordion({
47
  heightStyle: "content"
48
  });
49
-
 
 
 
 
 
 
 
 
50
  // ##### CLICK EVENT HANDLER FOR THE 'Add Slide' BUTTON #####
51
  // increment the hidden 'number of slides' input field and save the custom post type
52
  jQuery('#sa_add_slide').click(function() {
53
- var num = + jQuery("#num_slides_id").val() + 1;
 
54
  jQuery("#num_slides_id").val(num);
55
  // set hidden input field to notify that a status message must be displayed
56
  var info_added = document.getElementById('sa_info_added');
@@ -90,7 +113,7 @@ jQuery(function() {
90
  aux.select(); // Highlight its content
91
  document.execCommand("copy"); // Copy the highlighted text
92
  document.body.removeChild(aux); // Remove it from the body
93
- // DISPLAY 'Shortcode Copied' message
94
  document.getElementById('css_note_value').innerHTML = "Copied!";
95
  setTimeout(function(){ document.getElementById('css_note_value').innerHTML = css_selector; }, 1000);
96
  });
@@ -245,28 +268,49 @@ jQuery(function() {
245
  document.getElementById('sa_wrapper_padd_left').value = '0'; // not a valid number
246
  }
247
  });
248
-
249
- // ##### JQUERY-UI SPINNER FOR SLIDE MINIMUM HEIGHT #####
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
  jQuery("#sa_slide_min_height").spinner({
251
  step: 1,
252
  min: 0,
253
  max: 999,
254
  numberFormat: "n"
255
  });
256
- // ##### CHANGE EVENT HANDLER FOR SLIDE MINIMUM HEIGHT #####
 
 
 
257
  jQuery('#sa_slide_min_height').change(function() {
258
  var slide_min_height = document.getElementById('sa_slide_min_height').value;
259
  if (jQuery.isNumeric(slide_min_height)) {
260
  if ((slide_min_height >= 0) && (slide_min_height <= 999)) {
261
  // valid number
 
262
  } else {
263
  document.getElementById('sa_slide_min_height').value = '0'; // number out of range
 
264
  }
265
  } else {
266
  document.getElementById('sa_slide_min_height').value = '0'; // not a valid number
 
267
  }
268
  });
269
-
270
  // ##### JQUERY-UI SPINNER FOR SLIDE PADDING TOP/BOTTOM #####
271
  jQuery("#sa_slide_padding_tb").spinner({
272
  step: 0.1,
@@ -331,12 +375,31 @@ jQuery(function() {
331
  });
332
  })
333
 
334
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
335
 
336
  jQuery(function() {
337
  // THE VAIRABLE THAT HOLDS THE IFRAME FOR WORDPRESS MEDIA UPLOADS
338
  var frame;
339
-
340
  // ##### CLICK EVENT HANDLER - 'Set Background Image' LINK (BUTTON) FOR ALL SLIDES #####
341
  jQuery('.slide_image_add').click(function(event) {
342
  // GET THE SLIDE NUMBER (GET parameter within anchor 'href' attribute)
@@ -347,12 +410,12 @@ jQuery(function() {
347
 
348
  // PREVENT THE ANCHOR LINK FROM OPENING HREF TARGET PAGE
349
  event.preventDefault();
350
-
351
  // SET THE HTML ELEMENTS TO BE USED WITHIN THIS FUNCTION
352
  var thumb_preview = "#slide" + slide_no + "_thumb div";
353
  var image_id = "#sa_slide" + slide_no + "_image_id";
354
  var del_img_but = "#slide" + slide_no + "_image_del";
355
-
356
  // CREATE A NEW MEDIA UPLOAD FRAME
357
  frame = wp.media({
358
  title: 'Select the background image for your slide',
@@ -361,13 +424,17 @@ jQuery(function() {
361
  },
362
  multiple: false // only a single file may be selected
363
  });
364
-
365
  // AN IMAGE HAS BEEN SELECTED WITHIN THE MEDIA UPLOAD FRAME...
366
  frame.on('select', function() {
367
  // Get media attachment details from the frame state
368
  var attachment = frame.state().get('selection').first().toJSON();
369
  // Set the background image of the thumbnail preview DIV to the attachment URL
370
- jQuery(thumb_preview).css('background-image', 'url(' + attachment.url + ')');
 
 
 
 
371
  // Send the attachment id to our hidden input box
372
  jQuery(image_id).val(attachment.id);
373
  // Unhide the delete image button
@@ -386,7 +453,7 @@ function remove_slide_bg_image(slide_no) {
386
  var thumb_preview = "#slide" + slide_no + "_thumb div";
387
  var image_id = "#sa_slide" + slide_no + "_image_id";
388
  var del_img_but = "#slide" + slide_no + "_image_del";
389
-
390
  // Reset the background image of the thumbnail preview div
391
  jQuery(thumb_preview).css('background-image', '');
392
  // Delete the image id from the hidden input
@@ -464,6 +531,288 @@ function change_slide_image_color(slide_no) {
464
  }
465
 
466
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
467
 
468
  // ##### CLICK EVENT HANDLER FOR THE 'Delete Slide' BUTTON (FOR EACH SLIDE) #####
469
  // Set the hidden 'delete status' input field to zero and save the custom post type
@@ -553,25 +902,3 @@ function move_slide_up(slide_no) {
553
  jQuery("#sa_dialog_box").dialog("open");
554
  })
555
  }
556
-
557
-
558
- function preview_slider() {
559
- jQuery(function() {
560
- var preview_box = document.getElementById('sa_preview_box');
561
- jQuery("#sa_preview_box").dialog({
562
- title: 'PREVIEW SLIDER',
563
- modal: true,
564
- closeOnEscape: true,
565
- resizable: false,
566
- draggable: false
567
- });
568
- jQuery("#sa_preview_box").dialog({
569
- buttons: {
570
- Close: function() {
571
- jQuery(this).dialog("close");
572
- }
573
- }
574
- });
575
- jQuery("#sa_preview_box").dialog("open");
576
- })
577
- }
5
  jQuery(function() {
6
  // ##### JQUERY-UI TOOLTIPS #####
7
  jQuery(".sa_tooltip").tooltip();
8
+
9
  // ##### JQUERY-UI - SLIDE DURATION SLIDER/INPUT #####
10
  var init_value = jQuery("#sa_slide_duration").val();
11
  jQuery("#jq_slider_duration").slider({
19
  }
20
  });
21
  jQuery("#sa_slide_duration").val(jQuery("#jq_slider_duration").slider("value"));
22
+
23
+ // ##### JQUERY-UI - SLIDE BY SLIDER/INPUT #####
24
+ var init_value = jQuery("#sa_slide_by").val();
25
+ jQuery("#jq_slider_by").slider({
26
+ range:"max",
27
+ min:1,
28
+ max:12,
29
+ step:1,
30
+ value:init_value,
31
+ slide:function(event, ui) {
32
+ jQuery("#sa_slide_by").val(ui.value);
33
+ }
34
+ });
35
+ jQuery("#sa_slide_by").val(jQuery("#jq_slider_by").slider("value"));
36
 
37
  // ##### JQUERY-UI - SLIDE TRANSITION SLIDER/INPUT #####
38
  var init_value = jQuery("#sa_slide_transition").val();
60
  jQuery("#slider_accordion").accordion({
61
  heightStyle: "content"
62
  });
63
+
64
+ // ##### JQUERY-UI TABS FOR EACH SLIDE #####
65
+ var slide_count = jQuery("#num_slides_id").val();
66
+ for (i = 1; i <= slide_count; i++) {
67
+ var slide_tabs_id = 'slide_' + i + '_tabs';
68
+ jQuery('#' + slide_tabs_id).tabs();
69
+ change_slide_popup_background(i);
70
+ }
71
+
72
  // ##### CLICK EVENT HANDLER FOR THE 'Add Slide' BUTTON #####
73
  // increment the hidden 'number of slides' input field and save the custom post type
74
  jQuery('#sa_add_slide').click(function() {
75
+ var num = jQuery("#num_slides_id").val();
76
+ var num = parseInt(num) + 1;
77
  jQuery("#num_slides_id").val(num);
78
  // set hidden input field to notify that a status message must be displayed
79
  var info_added = document.getElementById('sa_info_added');
113
  aux.select(); // Highlight its content
114
  document.execCommand("copy"); // Copy the highlighted text
115
  document.body.removeChild(aux); // Remove it from the body
116
+ // DISPLAY 'Shortcode Copied' message
117
  document.getElementById('css_note_value').innerHTML = "Copied!";
118
  setTimeout(function(){ document.getElementById('css_note_value').innerHTML = css_selector; }, 1000);
119
  });
268
  document.getElementById('sa_wrapper_padd_left').value = '0'; // not a valid number
269
  }
270
  });
271
+
272
+ // ##### CHANGE EVENT FOR SLIDE MINIMUM HEIGHT RADIO BUTTONS #####
273
+ jQuery('.sa_slide_min_height_type').change(function() {
274
+ var slide_min_height_type = this.value;
275
+ if (slide_min_height_type == "percent") {
276
+ document.getElementById('sa_slide_min_height').value = document.getElementById('sa_slide_min_height_hidden').value;
277
+ document.getElementById('sa_slide_min_height_wrapper').style.display = 'block';
278
+ } else if (slide_min_height_type == '43') {
279
+ document.getElementById('sa_slide_min_height').value = 'aspect43';
280
+ document.getElementById('sa_slide_min_height_wrapper').style.display = 'none';
281
+ } else if (slide_min_height_type == '169') {
282
+ document.getElementById('sa_slide_min_height').value = 'aspect169';
283
+ document.getElementById('sa_slide_min_height_wrapper').style.display = 'none';
284
+ }
285
+ });
286
+
287
+ // ##### JQUERY-UI SPINNER FOR SLIDE MINIMUM HEIGHT (PIXELS) #####
288
  jQuery("#sa_slide_min_height").spinner({
289
  step: 1,
290
  min: 0,
291
  max: 999,
292
  numberFormat: "n"
293
  });
294
+ jQuery('#sa_slide_min_height_wrapper .ui-spinner-button').click(function() {
295
+ jQuery(this).siblings('input').change();
296
+ });
297
+ // ##### CHANGE EVENT HANDLER FOR SLIDE MINIMUM HEIGHT (PIXELS) #####
298
  jQuery('#sa_slide_min_height').change(function() {
299
  var slide_min_height = document.getElementById('sa_slide_min_height').value;
300
  if (jQuery.isNumeric(slide_min_height)) {
301
  if ((slide_min_height >= 0) && (slide_min_height <= 999)) {
302
  // valid number
303
+ document.getElementById('sa_slide_min_height_hidden').value = slide_min_height;
304
  } else {
305
  document.getElementById('sa_slide_min_height').value = '0'; // number out of range
306
+ document.getElementById('sa_slide_min_height_hidden').value = '0';
307
  }
308
  } else {
309
  document.getElementById('sa_slide_min_height').value = '0'; // not a valid number
310
+ document.getElementById('sa_slide_min_height_hidden').value = '0';
311
  }
312
  });
313
+
314
  // ##### JQUERY-UI SPINNER FOR SLIDE PADDING TOP/BOTTOM #####
315
  jQuery("#sa_slide_padding_tb").spinner({
316
  step: 0.1,
375
  });
376
  })
377
 
378
+
379
+
380
+ // ##### CHANGE EVENT HANDLER FOR 'Use Popup Image as Slide Background' #####
381
+ function change_slide_popup_background(slide_no) {
382
+ var pro_version = document.getElementById('sa_pro_version').value;
383
+ if (pro_version == '1') {
384
+ var curr_value = jQuery('#sa_slide'+slide_no+'_popup_background').val();
385
+ if (curr_value != 'no') {
386
+ jQuery("#slide"+slide_no+"_thumb").css("display", "none");
387
+ jQuery("#slide"+slide_no+"_image_add").css("display", "none");
388
+ jQuery("#slide"+slide_no+"_imagebg_popup").css("display", "block");
389
+ } else {
390
+ jQuery("#slide"+slide_no+"_thumb").css("display", "block");
391
+ jQuery("#slide"+slide_no+"_image_add").css("display", "inline-block");
392
+ jQuery("#slide"+slide_no+"_imagebg_popup").css("display", "none");
393
+ }
394
+ }
395
+ }
396
+
397
+
398
 
399
  jQuery(function() {
400
  // THE VAIRABLE THAT HOLDS THE IFRAME FOR WORDPRESS MEDIA UPLOADS
401
  var frame;
402
+
403
  // ##### CLICK EVENT HANDLER - 'Set Background Image' LINK (BUTTON) FOR ALL SLIDES #####
404
  jQuery('.slide_image_add').click(function(event) {
405
  // GET THE SLIDE NUMBER (GET parameter within anchor 'href' attribute)
410
 
411
  // PREVENT THE ANCHOR LINK FROM OPENING HREF TARGET PAGE
412
  event.preventDefault();
413
+
414
  // SET THE HTML ELEMENTS TO BE USED WITHIN THIS FUNCTION
415
  var thumb_preview = "#slide" + slide_no + "_thumb div";
416
  var image_id = "#sa_slide" + slide_no + "_image_id";
417
  var del_img_but = "#slide" + slide_no + "_image_del";
418
+
419
  // CREATE A NEW MEDIA UPLOAD FRAME
420
  frame = wp.media({
421
  title: 'Select the background image for your slide',
424
  },
425
  multiple: false // only a single file may be selected
426
  });
427
+
428
  // AN IMAGE HAS BEEN SELECTED WITHIN THE MEDIA UPLOAD FRAME...
429
  frame.on('select', function() {
430
  // Get media attachment details from the frame state
431
  var attachment = frame.state().get('selection').first().toJSON();
432
  // Set the background image of the thumbnail preview DIV to the attachment URL
433
+ if (attachment.sizes.medium && attachment.sizes.medium.url) {
434
+ jQuery(thumb_preview).css('background-image', 'url(' + attachment.sizes.medium.url + ')');
435
+ } else {
436
+ jQuery(thumb_preview).css('background-image', 'url(' + attachment.sizes.full.url + ')');
437
+ }
438
  // Send the attachment id to our hidden input box
439
  jQuery(image_id).val(attachment.id);
440
  // Unhide the delete image button
453
  var thumb_preview = "#slide" + slide_no + "_thumb div";
454
  var image_id = "#sa_slide" + slide_no + "_image_id";
455
  var del_img_but = "#slide" + slide_no + "_image_del";
456
+
457
  // Reset the background image of the thumbnail preview div
458
  jQuery(thumb_preview).css('background-image', '');
459
  // Delete the image id from the hidden input
531
  }
532
 
533
 
534
+ // ##############################################
535
+ // ##### SLIDE POPUP TAB - IMAGE POPUP TYPE #####
536
+ // ##############################################
537
+
538
+ // ##### CHANGE EVENT HANDLER - SA POPUP TYPE #####
539
+ function change_slide_popup_type(slide_no) {
540
+ var popup_type = document.getElementById("sa_slide" + slide_no + "_popup_type").value;
541
+ var image_popup_wrapper = "#slide" + slide_no + "_image_popup_wrapper";
542
+ var video_popup_wrapper = "#slide" + slide_no + "_video_popup_wrapper";
543
+ var html_popup_wrapper = "#slide" + slide_no + "_html_popup_wrapper";
544
+ if (popup_type == 'IMAGE') {
545
+ jQuery(image_popup_wrapper).css('display', 'block');
546
+ jQuery(video_popup_wrapper).css('display', 'none');
547
+ jQuery(html_popup_wrapper).css('display', 'none');
548
+ } else if (popup_type == 'VIDEO') {
549
+ jQuery(image_popup_wrapper).css('display', 'none');
550
+ jQuery(video_popup_wrapper).css('display', 'block');
551
+ jQuery(html_popup_wrapper).css('display', 'none');
552
+ } else if (popup_type == 'HTML') {
553
+ jQuery(image_popup_wrapper).css('display', 'none');
554
+ jQuery(video_popup_wrapper).css('display', 'none');
555
+ jQuery(html_popup_wrapper).css('display', 'block');
556
+ } else {
557
+ jQuery(image_popup_wrapper).css('display', 'none');
558
+ jQuery(video_popup_wrapper).css('display', 'none');
559
+ jQuery(html_popup_wrapper).css('display', 'none');
560
+ }
561
+ }
562
+
563
+ jQuery(function() {
564
+ if (jQuery('#sa_pro_version').length > 0) {
565
+ var pro_version = document.getElementById('sa_pro_version').value;
566
+ if (pro_version == '1') {
567
+ // THE VAIRABLE THAT HOLDS THE IFRAME FOR WORDPRESS MEDIA UPLOADS
568
+ var frame;
569
+
570
+ // ##### CLICK EVENT HANDLER - SLIDE IMAGE POPUP 'Set Image' BUTTON FOR ALL SLIDES #####
571
+ jQuery('.popup_image_add').click(function(event) {
572
+ // GET THE SLIDE NUMBER (GET parameter within anchor 'href' attribute)
573
+ var anchor_element = event.target;
574
+ var upload_url = anchor_element.getAttribute('href');
575
+ var split_arr = upload_url.split("&popup=");
576
+ var slide_no = split_arr[1];
577
+
578
+ // PREVENT THE ANCHOR LINK FROM OPENING HREF TARGET PAGE
579
+ event.preventDefault();
580
+
581
+ // SET THE HTML ELEMENTS TO BE USED WITHIN THIS FUNCTION
582
+ var thumb_preview = "#slide" + slide_no + "_popup_thumb";
583
+ var image_id = "#sa_slide" + slide_no + "_popup_imageid";
584
+ var del_img_but = "#slide" + slide_no + "_popup_image_del";
585
+ var preview_img_but = "#slide" + slide_no + "_popup_image_preview";
586
+ var info_dim = "#slide" + slide_no + "_popup_info_dim";
587
+ var info_size = "#slide" + slide_no + "_popup_info_size";
588
+
589
+ // CREATE A NEW MEDIA UPLOAD FRAME
590
+ frame = wp.media({
591
+ title: 'Select the popup image for your slide',
592
+ button: {
593
+ text: 'Use selected image'
594
+ },
595
+ multiple: false // only a single file may be selected
596
+ });
597
+
598
+ // AN IMAGE HAS BEEN SELECTED WITHIN THE MEDIA UPLOAD FRAME...
599
+ frame.on('select', function() {
600
+ // Get media attachment details from the frame state
601
+ var attachment = frame.state().get('selection').first().toJSON();
602
+ // Set the image source of the thumbnail preview IMG to the attachment URL
603
+ if (attachment.sizes.medium && attachment.sizes.medium.url) {
604
+ jQuery(thumb_preview+" div").html("<img src='" + attachment.sizes.medium.url + "'/>");
605
+ } else {
606
+ jQuery(thumb_preview+" div").html("<img src='" + attachment.sizes.full.url + "'/>");
607
+ }
608
+ // Send the attachment id to our hidden input box
609
+ jQuery(image_id).val(attachment.id);
610
+ // Unhide the delete image button
611
+ jQuery(del_img_but).removeClass('sa_hidden');
612
+ // Set the image URL for the popup
613
+ jQuery(preview_img_but + " a").attr("href", attachment.url);
614
+ // Update image info for the popup image
615
+ display_image_info(attachment.url, info_dim, info_size);
616
+ });
617
+ // Finally, open the modal on click
618
+ frame.open();
619
+ });
620
+ }
621
+ }
622
+ })
623
+
624
+ // ##### CLICK EVENT HANDLER - 'Remove Popup Image' BUTTON FOR ALL SLIDES #####
625
+ function remove_popup_image(slide_no, placeholder) {
626
+ // SET THE HTML ELEMENTS TO BE USED WITHIN THIS FUNCTION
627
+ var thumb_preview = "#slide" + slide_no + "_popup_thumb";
628
+ var image_id = "#sa_slide" + slide_no + "_popup_imageid";
629
+ var del_img_but = "#slide" + slide_no + "_popup_image_del";
630
+ var preview_img_but = "#slide" + slide_no + "_popup_image_preview";
631
+ var info_dim = "#slide" + slide_no + "_popup_info_dim";
632
+ var info_size = "#slide" + slide_no + "_popup_info_size";
633
+
634
+ // Reset the image source of the thumbnail preview div
635
+ jQuery(thumb_preview+" div").html("<div><img src='" + placeholder + "'/></div>");
636
+ // Delete the image id from the hidden input
637
+ jQuery(image_id).val('');
638
+ // Hide the delete image button
639
+ jQuery(del_img_but).addClass('sa_hidden');
640
+ // Set the image URL for the popup to a placeholder image
641
+ jQuery(preview_img_but + " a").attr("href", placeholder);
642
+ // clear image info
643
+ jQuery(info_dim).html('<strong>Dimensions:</strong>');
644
+ jQuery(info_size).html('<strong>File Size:</strong>');
645
+ }
646
+
647
+ // ##### CHANGE EVENT HANDLER - 'Popup Title' TEXT INPUT BOX #####
648
+ function change_popup_image_title(new_title, preview_img_but) {
649
+ var preview_link = "#" + preview_img_but + " a";
650
+ jQuery(preview_link).attr("title", new_title);
651
+ }
652
+
653
+ // ###### GET IMAGE INFO (WIDTH, HEIGHT, SIZE) FOR PROVIDED IMAGE URL AND DISPLAY WITHIN PROVIDED DIV ID ######
654
+ function display_image_info(image_url, info_dim, info_size) {
655
+ var img = new Image();
656
+ var img_width = 0;
657
+ var img_height = 0;
658
+ img.onload = function() {
659
+ img_width = this.width;
660
+ img_height = this.height;
661
+ jQuery(info_dim).html("<strong>Dimensions:</strong> " + img_width + " x " + img_height + " pixels");
662
+ };
663
+ img.src = image_url;
664
+
665
+ var request;
666
+ request = jQuery.ajax({
667
+ type: "HEAD",
668
+ url: image_url,
669
+ success: function () {
670
+ var img_size = request.getResponseHeader("Content-Length");
671
+ if ((img_size != '') && (img_size != 'null') && (img_size != 0)) {
672
+ var unit = 'bytes';
673
+ if (img_size > 1048576) {
674
+ img_size = img_size / 1048576;
675
+ img_size = Math.round(img_size * 10) / 10;
676
+ unit = 'MB';
677
+ } else if (img_size > 1024) {
678
+ img_size = img_size / 1024;
679
+ img_size = Math.round(img_size * 10) / 10;
680
+ unit = 'kb';
681
+ }
682
+ jQuery(info_size).html("<strong>File Size:</strong> " + img_size + " " + unit);
683
+ }
684
+ }
685
+ });
686
+ }
687
+
688
+
689
+
690
+ // ##############################################
691
+ // ##### SLIDE POPUP TAB - VIDEO POPUP TYPE #####
692
+ // ##############################################
693
+
694
+ // ##### CLICK EVENT HANDLER - SLIDE VIDEO POPUP 'Set Video' BUTTON #####
695
+ function update_popup_video(slide_no) {
696
+ // Get the contents of video URL input box
697
+ var video_url = document.getElementById("sa_slide" + slide_no + "_video_url").value;
698
+ var preview_button = "#slide" + slide_no + "_popup_video_preview a";
699
+ var video_type = '';
700
+ if (video_url != '') {
701
+ // Check if the URL is a valid YouTube URL - if so then extract YouTube ID
702
+ var video_id = video_url.match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);
703
+ if (video_id != null) {
704
+ valid_video_id = video_id[1];
705
+ video_type = 'youtube';
706
+ } else {
707
+ // Check if the URL is a valid Vimeo URL - if so then extract Vimeo ID
708
+ var regex = new RegExp(/(https?:\/\/)?(www.)?(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/);
709
+ if (regex.test(video_url)) {
710
+ valid_video_id = regex.exec(video_url)[5];
711
+ video_type = 'vimeo';
712
+ } else {
713
+ // URL entered is not a valid YouTube or Vimeo video URL
714
+ document.getElementById("sa_slide" + slide_no + "_video_url").value = '';
715
+ document.getElementById("sa_slide" + slide_no + "_video_invalid_url").style.display = "block";
716
+ setTimeout(function(){ document.getElementById("sa_slide" + slide_no + "_video_invalid_url").style.display = "none"; }, 3000);
717
+ }
718
+ }
719
+ }
720
+ if (video_type == 'youtube') {
721
+ // clear video url input field
722
+ document.getElementById("sa_slide" + slide_no + "_video_url").value = '';
723
+ // update hidden video id and video type fields
724
+ document.getElementById("sa_slide" + slide_no + "_popup_video_id").value = valid_video_id;
725
+ document.getElementById("sa_slide" + slide_no + "_popup_video_type").value = 'youtube';
726
+ // Display YouTube video within video preview DIV
727
+ var embed_html = "<iframe src='https://www.youtube.com/embed/" + valid_video_id + "' frameborder='0' allowfullscreen></iframe>";
728
+ document.getElementById("slide" + slide_no + "_video_thumb").innerHTML = embed_html;
729
+ // Set the video URL for the preview popup
730
+ jQuery(preview_button).attr("href", "http://www.youtube.com/watch?v=" + valid_video_id);
731
+ }
732
+ if (video_type == 'vimeo') {
733
+ // clear video url input field
734
+ document.getElementById("sa_slide" + slide_no + "_video_url").value = '';
735
+ // update hidden video id and video type fields
736
+ document.getElementById("sa_slide" + slide_no + "_popup_video_id").value = valid_video_id;
737
+ document.getElementById("sa_slide" + slide_no + "_popup_video_type").value = 'vimeo';
738
+ // Display Vimeo video within video preview DIV
739
+ var embed_html = "<iframe src='https://player.vimeo.com/video/" + valid_video_id + "' frameborder='0' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>";
740
+ document.getElementById("slide" + slide_no + "_video_thumb").innerHTML = embed_html;
741
+ // Set the video URL for the preview popup
742
+ jQuery(preview_button).attr("href", "http://vimeo.com/" + valid_video_id);
743
+ }
744
+ }
745
+
746
+
747
+
748
+ // #############################################
749
+ // ##### SLIDE POPUP TAB - HTML POPUP TYPE #####
750
+ // #############################################
751
+
752
+ // ##### SLIDE HTML POPUP 'Background Color' & 'Popup Width' #####
753
+ jQuery(function() {
754
+ if (jQuery('#sa_pro_version').length > 0) {
755
+ var pro_version = document.getElementById('sa_pro_version').value;
756
+ if (pro_version == '1') {
757
+ var num_slides = parseInt(document.getElementById('num_slides_id').value);
758
+ // ##### LOOP THRU EACH SLIDE #####
759
+ for (i = 1; i <= num_slides; i++) {
760
+ // ##### SPECTRUM COLOR PICKER - SLIDE HTML POPUP 'Background Color' #####
761
+ var color_picker_id = 'sa_slide' + i + '_popup_bgcol';
762
+ var background_color = document.getElementById(color_picker_id).value;
763
+ jQuery('#' + color_picker_id).spectrum({
764
+ showPaletteOnly: true,
765
+ togglePaletteOnly: true,
766
+ togglePaletteMoreText: 'more',
767
+ togglePaletteLessText: 'less',
768
+ showInput: true,
769
+ allowEmpty: true,
770
+ preferredFormat: "rgb",
771
+ showAlpha: true,
772
+ color: background_color,
773
+ palette: [
774
+ ["#000","#444","#666","#999","#ccc","#eee","#f3f3f3","#fff"],
775
+ ["#f00","#f90","#ff0","#0f0","#0ff","#00f","#90f","#f0f"],
776
+ ["#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#cfe2f3","#d9d2e9","#ead1dc"],
777
+ ["#ea9999","#f9cb9c","#ffe599","#b6d7a8","#a2c4c9","#9fc5e8","#b4a7d6","#d5a6bd"],
778
+ ["#e06666","#f6b26b","#ffd966","#93c47d","#76a5af","#6fa8dc","#8e7cc3","#c27ba0"],
779
+ ["#c00","#e69138","#f1c232","#6aa84f","#45818e","#3d85c6","#674ea7","#a64d79"],
780
+ ["#900","#b45f06","#bf9000","#38761d","#134f5c","#0b5394","#351c75","#741b47"],
781
+ ["#600","#783f04","#7f6000","#274e13","#0c343d","#073763","#20124d","#4c1130"]
782
+ ]
783
+ });
784
+ // ##### JQUERY-UI SPINNER - SLIDE HTML POPUP 'Popup Width' #####
785
+ var spinner_id = 'sa_slide' + i + '_popup_width';
786
+ jQuery("#" + spinner_id).spinner({
787
+ step: 1,
788
+ min: 200,
789
+ max: 2000,
790
+ numberFormat: "n"
791
+ });
792
+
793
+ // ##### CLICK EVENT FOR 'Popup CSS ID' (HTML POPUP) #####
794
+ var popup_cssid = 'sa_slide' + i + '_popup_css';
795
+ jQuery("#" + popup_cssid).click(function() {
796
+ var css_selector = jQuery(this).html();
797
+ var aux = document.createElement("input"); // Create a "hidden" input
798
+ aux.setAttribute("value", css_selector); // Assign it the value of the specified element
799
+ document.body.appendChild(aux); // Append it to the body
800
+ aux.select(); // Highlight its content
801
+ document.execCommand("copy"); // Copy the highlighted text
802
+ document.body.removeChild(aux); // Remove it from the body
803
+ var curr_col = jQuery(this).css("color");
804
+ if (curr_col == "rgb(0, 0, 0)") {
805
+ jQuery(this).css("color", "firebrick");
806
+ } else {
807
+ jQuery(this).css("color", "#000000");
808
+ }
809
+ });
810
+ }
811
+ }
812
+ }
813
+ })
814
+
815
+
816
 
817
  // ##### CLICK EVENT HANDLER FOR THE 'Delete Slide' BUTTON (FOR EACH SLIDE) #####
818
  // Set the hidden 'delete status' input field to zero and save the custom post type
902
  jQuery("#sa_dialog_box").dialog("open");
903
  })
904
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
magnific-popup/jquery.magnific-popup.min.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /*! Magnific Popup - v1.1.0 - 2016-02-20
2
+ * http://dimsemenov.com/plugins/magnific-popup/
3
+ * Copyright (c) 2016 Dmitry Semenov; */
4
+ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e<h.length;e++)if(g=h[e],g.parsed&&(g=g.el[0]),g===c.el[0]){b.index=e;break}}else b.items=a.isArray(c.items)?c.items:[c.items],b.index=c.index||0;if(b.isOpen)return void b.updateItemHTML();b.types=[],f="",c.mainEl&&c.mainEl.length?b.ev=c.mainEl.eq(0):b.ev=d,c.key?(b.popupsCache[c.key]||(b.popupsCache[c.key]={}),b.currTemplate=b.popupsCache[c.key]):b.currTemplate={},b.st=a.extend(!0,{},a.magnificPopup.defaults,c),b.fixedContentPos="auto"===b.st.fixedContentPos?!b.probablyMobile:b.st.fixedContentPos,b.st.modal&&(b.st.closeOnContentClick=!1,b.st.closeOnBgClick=!1,b.st.showCloseBtn=!1,b.st.enableEscapeKey=!1),b.bgOverlay||(b.bgOverlay=x("bg").on("click"+p,function(){b.close()}),b.wrap=x("wrap").attr("tabindex",-1).on("click"+p,function(a){b._checkIfClose(a.target)&&b.close()}),b.container=x("container",b.wrap)),b.contentContainer=x("content"),b.st.preloader&&(b.preloader=x("preloader",b.container,b.st.tLoading));var i=a.magnificPopup.modules;for(e=0;e<i.length;e++){var j=i[e];j=j.charAt(0).toUpperCase()+j.slice(1),b["init"+j].call(b)}y("BeforeOpen"),b.st.showCloseBtn&&(b.st.closeBtnInside?(w(l,function(a,b,c,d){c.close_replaceWith=z(d.type)}),f+=" mfp-close-btn-in"):b.wrap.append(z())),b.st.alignTop&&(f+=" mfp-align-top"),b.fixedContentPos?b.wrap.css({overflow:b.st.overflowY,overflowX:"hidden",overflowY:b.st.overflowY}):b.wrap.css({top:v.scrollTop(),position:"absolute"}),(b.st.fixedBgPos===!1||"auto"===b.st.fixedBgPos&&!b.fixedContentPos)&&b.bgOverlay.css({height:d.height(),position:"absolute"}),b.st.enableEscapeKey&&d.on("keyup"+p,function(a){27===a.keyCode&&b.close()}),v.on("resize"+p,function(){b.updateSize()}),b.st.closeOnContentClick||(f+=" mfp-auto-cursor"),f&&b.wrap.addClass(f);var k=b.wH=v.height(),n={};if(b.fixedContentPos&&b._hasScrollBar(k)){var o=b._getScrollbarSize();o&&(n.marginRight=o)}b.fixedContentPos&&(b.isIE7?a("body, html").css("overflow","hidden"):n.overflow="hidden");var r=b.st.mainClass;return b.isIE7&&(r+=" mfp-ie7"),r&&b._addClassToMFP(r),b.updateItemHTML(),y("BuildControls"),a("html").css(n),b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo||a(document.body)),b._lastFocusedEl=document.activeElement,setTimeout(function(){b.content?(b._addClassToMFP(q),b._setFocus()):b.bgOverlay.addClass(q),d.on("focusin"+p,b._onFocusIn)},16),b.isOpen=!0,b.updateSize(k),y(m),c},close:function(){b.isOpen&&(y(i),b.isOpen=!1,b.st.removalDelay&&!b.isLowIE&&b.supportsTransition?(b._addClassToMFP(r),setTimeout(function(){b._close()},b.st.removalDelay)):b._close())},_close:function(){y(h);var c=r+" "+q+" ";if(b.bgOverlay.detach(),b.wrap.detach(),b.container.empty(),b.st.mainClass&&(c+=b.st.mainClass+" "),b._removeClassFromMFP(c),b.fixedContentPos){var e={marginRight:""};b.isIE7?a("body, html").css("overflow",""):e.overflow="",a("html").css(e)}d.off("keyup"+p+" focusin"+p),b.ev.off(p),b.wrap.attr("class","mfp-wrap").removeAttr("style"),b.bgOverlay.attr("class","mfp-bg"),b.container.attr("class","mfp-container"),!b.st.showCloseBtn||b.st.closeBtnInside&&b.currTemplate[b.currItem.type]!==!0||b.currTemplate.closeBtn&&b.currTemplate.closeBtn.detach(),b.st.autoFocusLast&&b._lastFocusedEl&&a(b._lastFocusedEl).focus(),b.currItem=null,b.content=null,b.currTemplate=null,b.prevHeight=0,y(j)},updateSize:function(a){if(b.isIOS){var c=document.documentElement.clientWidth/window.innerWidth,d=window.innerHeight*c;b.wrap.css("height",d),b.wH=d}else b.wH=a||v.height();b.fixedContentPos||b.wrap.css("height",b.wH),y("Resize")},updateItemHTML:function(){var c=b.items[b.index];b.contentContainer.detach(),b.content&&b.content.detach(),c.parsed||(c=b.parseEl(b.index));var d=c.type;if(y("BeforeChange",[b.currItem?b.currItem.type:"",d]),b.currItem=c,!b.currTemplate[d]){var f=b.st[d]?b.st[d].markup:!1;y("FirstMarkupParse",f),f?b.currTemplate[d]=a(f):b.currTemplate[d]=!0}e&&e!==c.type&&b.container.removeClass("mfp-"+e+"-holder");var g=b["get"+d.charAt(0).toUpperCase()+d.slice(1)](c,b.currTemplate[d]);b.appendContent(g,d),c.preloaded=!0,y(n,c),e=c.type,b.container.prepend(b.contentContainer),y("AfterChange")},appendContent:function(a,c){b.content=a,a?b.st.showCloseBtn&&b.st.closeBtnInside&&b.currTemplate[c]===!0?b.content.find(".mfp-close").length||b.content.append(z()):b.content=a:b.content="",y(k),b.container.addClass("mfp-"+c+"-holder"),b.contentContainer.append(b.content)},parseEl:function(c){var d,e=b.items[c];if(e.tagName?e={el:a(e)}:(d=e.type,e={data:e,src:e.src}),e.el){for(var f=b.types,g=0;g<f.length;g++)if(e.el.hasClass("mfp-"+f[g])){d=f[g];break}e.src=e.el.attr("data-mfp-src"),e.src||(e.src=e.el.attr("href"))}return e.type=d||b.st.type||"inline",e.index=c,e.parsed=!0,b.items[c]=e,y("ElementParse",e),b.items[c]},addGroup:function(a,c){var d=function(d){d.mfpEl=this,b._openClick(d,a,c)};c||(c={});var e="click.magnificPopup";c.mainEl=a,c.items?(c.isObj=!0,a.off(e).on(e,d)):(c.isObj=!1,c.delegate?a.off(e).on(e,c.delegate,d):(c.items=a,a.off(e).on(e,d)))},_openClick:function(c,d,e){var f=void 0!==e.midClick?e.midClick:a.magnificPopup.defaults.midClick;if(f||!(2===c.which||c.ctrlKey||c.metaKey||c.altKey||c.shiftKey)){var g=void 0!==e.disableOn?e.disableOn:a.magnificPopup.defaults.disableOn;if(g)if(a.isFunction(g)){if(!g.call(b))return!0}else if(v.width()<g)return!0;c.type&&(c.preventDefault(),b.isOpen&&c.stopPropagation()),e.el=a(c.mfpEl),e.delegate&&(e.items=d.find(e.delegate)),b.open(e)}},updateStatus:function(a,d){if(b.preloader){c!==a&&b.container.removeClass("mfp-s-"+c),d||"loading"!==a||(d=b.st.tLoading);var e={status:a,text:d};y("UpdateStatus",e),a=e.status,d=e.text,b.preloader.html(d),b.preloader.find("a").on("click",function(a){a.stopImmediatePropagation()}),b.container.addClass("mfp-s-"+a),c=a}},_checkIfClose:function(c){if(!a(c).hasClass(s)){var d=b.st.closeOnContentClick,e=b.st.closeOnBgClick;if(d&&e)return!0;if(!b.content||a(c).hasClass("mfp-close")||b.preloader&&c===b.preloader[0])return!0;if(c===b.content[0]||a.contains(b.content[0],c)){if(d)return!0}else if(e&&a.contains(document,c))return!0;return!1}},_addClassToMFP:function(a){b.bgOverlay.addClass(a),b.wrap.addClass(a)},_removeClassFromMFP:function(a){this.bgOverlay.removeClass(a),b.wrap.removeClass(a)},_hasScrollBar:function(a){return(b.isIE7?d.height():document.body.scrollHeight)>(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(c,d){if(void 0===d||d===!1)return!0;if(e=c.split("_"),e.length>1){var f=b.find(p+"-"+e[0]);if(f.length>0){var g=e[1];"replaceWith"===g?f[0]!==d[0]&&f.replaceWith(d):"img"===g?f.is("img")?f.attr("src",d):f.replaceWith(a("<img>").attr("src",d).attr("class",f.attr("class"))):f.attr(e[1],d)}}else b.find(p+"-"+c).html(d)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&#215;</button>',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("<div>");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('<img class="mfp-img" />').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()});
magnific-popup/magnific-popup.css ADDED
@@ -0,0 +1,346 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Magnific Popup CSS */
2
+ .mfp-bg {
3
+ top: 0px !important;
4
+ left: 0px !important;
5
+ width: 100% !important;
6
+ height: 100% !important;
7
+ z-index: 100042 !important;
8
+ overflow: hidden !important;
9
+ position: fixed !important;
10
+ background: #000000 !important;
11
+ opacity: 0.8 !important;
12
+ }
13
+ .sa_popup {
14
+ top: 0 !important;
15
+ left: 0 !important;
16
+ width: 100% !important;
17
+ height: 100% !important;
18
+ z-index: 100043 !important;
19
+ position: fixed !important;
20
+ outline: none !important;
21
+ -webkit-backface-visibility: hidden !important;
22
+ }
23
+ .sa_popup .mfp-container {
24
+ text-align: center !important;
25
+ position: absolute !important;
26
+ width: 100% !important;
27
+ height: 100% !important;
28
+ left: 0px !important;
29
+ top: 0px !important;
30
+ padding: 0 8px !important;
31
+ box-sizing: border-box !important;
32
+ }
33
+ .sa_popup .mfp-container:before {
34
+ content: '' !important;
35
+ display: inline-block !important;
36
+ height: 100% !important;
37
+ vertical-align: middle !important;
38
+ }
39
+ .sa_popup .mfp-align-top .mfp-container:before {
40
+ display: none !important;
41
+ }
42
+ .sa_popup .mfp-content {
43
+ position: relative !important;
44
+ display: inline-block !important;
45
+ vertical-align: middle !important;
46
+ margin: 0px auto !important;
47
+ text-align: left !important;
48
+ z-index: 100045 !important;
49
+ }
50
+ .sa_popup .mfp-inline-holder .mfp-content,
51
+ .sa_popup .mfp-ajax-holder .mfp-content {
52
+ width: 100% !important;
53
+ cursor: auto !important;
54
+ }
55
+ .sa_popup .mfp-ajax-cur {
56
+ cursor: progress !important;
57
+ }
58
+ .sa_popup .mfp-zoom-out-cur, .sa_popup .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
59
+ cursor: -moz-zoom-out !important;
60
+ cursor: -webkit-zoom-out !important;
61
+ cursor: zoom-out !important;
62
+ }
63
+ .sa_popup .mfp-zoom {
64
+ cursor: pointer !important;
65
+ cursor: -webkit-zoom-in !important;
66
+ cursor: -moz-zoom-in !important;
67
+ cursor: zoom-in !important;
68
+ }
69
+ .sa_popup .mfp-auto-cursor .mfp-content {
70
+ cursor: auto !important;
71
+ }
72
+ .sa_popup .mfp-close,
73
+ .sa_popup .mfp-arrow,
74
+ .sa_popup .mfp-preloader,
75
+ .sa_popup .mfp-counter {
76
+ -webkit-user-select: none !important;
77
+ -moz-user-select: none !important;
78
+ user-select: none !important;
79
+ }
80
+ .sa_popup .mfp-loading.mfp-figure {
81
+ display: none !important;
82
+ }
83
+ .sa_popup .mfp-hide {
84
+ display: none !important;
85
+ }
86
+ .sa_popup .mfp-preloader {
87
+ color: #cccccc !important;
88
+ position: absolute !important;
89
+ top: 50% !important;
90
+ width: auto !important;
91
+ text-align: center !important;
92
+ margin-top: -0.8em !important;
93
+ left: 8px !important;
94
+ right: 8px !important;
95
+ z-index: 100044 !important;
96
+ }
97
+ .sa_popup .mfp-preloader a {
98
+ color: #cccccc !important;
99
+ }
100
+ .sa_popup .mfp-preloader a:hover {
101
+ color: #ffffff !important;
102
+ }
103
+ .sa_popup .mfp-s-ready .mfp-preloader {
104
+ display: none !important;
105
+ }
106
+ .sa_popup .mfp-s-error .mfp-content {
107
+ display: none !important;
108
+ }
109
+ .sa_popup button.mfp-close,
110
+ .sa_popup button.mfp-arrow {
111
+ overflow: visible !important;
112
+ cursor: pointer !important;
113
+ background: transparent !important;
114
+ border: 0 !important;
115
+ -webkit-appearance: none !important;
116
+ display: block !important;
117
+ outline: none !important;
118
+ padding: 0 !important;
119
+ z-index: 100046 !important;
120
+ box-shadow: none !important;
121
+ touch-action: manipulation !important;
122
+ }
123
+ .sa_popup button::-moz-focus-inner {
124
+ padding: 0 !important;
125
+ border: 0 !important;
126
+ }
127
+ .sa_popup .mfp-close {
128
+ width: 44px !important;
129
+ height: 44px !important;
130
+ line-height: 44px !important;
131
+ position: absolute !important;
132
+ right: 0px !important;
133
+ top: 0px !important;
134
+ text-decoration: none !important;
135
+ text-align: center !important;
136
+ opacity: 0.6 !important;
137
+ padding:0px 5px 0px 0px !important;
138
+ color: #ffff !important;
139
+ font-style: normal !important;
140
+ font-size: 32px !important;
141
+ font-family: Arial, Baskerville, monospace !important;
142
+ }
143
+ .sa_popup .mfp-close:hover {
144
+ opacity: 1.0 !important;
145
+ }
146
+ .sa_popup .mfp-close-btn-in .mfp-close {
147
+ color: #333 !important;
148
+ }
149
+ .sa_popup .mfp-image-holder .mfp-close,
150
+ .sa_popup .mfp-iframe-holder .mfp-close {
151
+ color: #ffffff !important;
152
+ right: 0px !important;
153
+ text-align: right !important;
154
+ padding-right: 0px !important;
155
+ width: 100% !important;
156
+ transition:all .3s ease-in-out;
157
+ -webkit-transition:all .3s ease-in-out;
158
+ -moz-transition:all .3s ease-in-out;
159
+ -o-transition:all .3s ease-in-out;
160
+ }
161
+ .sa_popup .mfp-counter {
162
+ position: absolute !important;
163
+ top: 0px !important;
164
+ right: 3px !important;
165
+ color: #c0c0c0 !important;
166
+ font-size: 12px !important;
167
+ line-height: 18px !important;
168
+ white-space: nowrap !important;
169
+ }
170
+ .sa_popup .mfp-arrow {
171
+ position: absolute !important;
172
+ opacity: 0.6 !important;
173
+ margin: 0 !important;
174
+ top: 50% !important;
175
+ margin-top: -24px !important;
176
+ padding: 0 !important;
177
+ width: 48px !important;
178
+ height: 48px !important;
179
+ background-color:rgba(255,255,255,0.0) !important;
180
+ -webkit-tap-highlight-color: transparent;
181
+ transition:all .3s ease-in-out;
182
+ -webkit-transition:all .3s ease-in-out;
183
+ -moz-transition:all .3s ease-in-out;
184
+ -o-transition:all .3s ease-in-out;
185
+ }
186
+ .sa_popup .mfp-container .mfp-arrow:hover {
187
+ opacity: 1.0 !important;
188
+ background-color:rgba(255,255,255,0.2) !important;
189
+ }
190
+ .sa_popup .mfp-arrow:before,
191
+ .sa_popup .mfp-arrow:after {
192
+ content: '' !important;
193
+ display: block !important;
194
+ width: 0 !important;
195
+ height: 0 !important;
196
+ position: absolute !important;
197
+ left: 0 !important;
198
+ top: 0 !important;
199
+ margin-top: 11px !important;
200
+ margin-left: 35px !important;
201
+ border: medium inset transparent;
202
+ }
203
+ .sa_popup .mfp-arrow:after {
204
+ display:none !important;
205
+ border-top-width: 13px !important;
206
+ border-bottom-width: 13px !important;
207
+ }
208
+ .sa_popup .mfp-arrow:before {
209
+ border-top-width: 13px !important;
210
+ border-bottom-width: 13px !important;
211
+ opacity: 1.0 !important;
212
+ }
213
+ .sa_popup .mfp-arrow-left {
214
+ left: 0 !important;
215
+ }
216
+ .sa_popup .mfp-arrow-left:before {
217
+ margin-left: 12px !important;
218
+ margin-right: 16px !important;
219
+ border-right: 17px solid #ffffff !important;
220
+ }
221
+ .sa_popup .mfp-arrow-left:after {
222
+ border-right: 17px solid #ffffff !important;
223
+ margin-left: 31px !important;
224
+ margin-right: 0px !important;
225
+ }
226
+ .sa_popup .mfp-arrow-right {
227
+ right: 0 !important;
228
+ }
229
+ .sa_popup .mfp-arrow-right:before {
230
+ margin-left: 16px !important;
231
+ margin-right: 12px !important;
232
+ border-left: 17px solid #ffffff !important;
233
+ }
234
+ .sa_popup .mfp-arrow-right:after {
235
+ border-left: 17px solid #ffffff !important;
236
+ margin-left: 39px !important;
237
+ margin-right: 0px !important;
238
+ }
239
+ .sa_popup .mfp-iframe-holder {
240
+ padding-top: 40px !important;
241
+ padding-bottom: 40px !important;
242
+ }
243
+ .sa_popup .mfp-iframe-holder .mfp-content {
244
+ line-height: 0 !important;
245
+ width: 100% !important;
246
+ max-width: 900px !important;
247
+ }
248
+ .sa_popup .mfp-iframe-holder .mfp-close {
249
+ top: -40px !important;
250
+ }
251
+ .sa_popup .mfp-iframe-scaler {
252
+ width: 100% !important;
253
+ height: 0 !important;
254
+ overflow: hidden !important;
255
+ padding-top: 56.25% !important;
256
+ }
257
+ .sa_popup .mfp-iframe-scaler iframe {
258
+ position: absolute !important;
259
+ display: block !important;
260
+ top: 0px !important;
261
+ left: 0px !important;
262
+ width: 100% !important;
263
+ height: 100% !important;
264
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6) !important;
265
+ background: #000000 !important;
266
+ }
267
+ /* Main image in popup */
268
+ .sa_popup img.mfp-img {
269
+ width: auto !important;
270
+ max-width: 100% !important;
271
+ height: auto !important;
272
+ display: block !important;
273
+ line-height: 0 !important;
274
+ box-sizing: border-box !important;
275
+ padding: 40px 0 40px !important;
276
+ margin: 0 auto !important;
277
+ }
278
+ /* The shadow behind the image */
279
+ .sa_popup .mfp-figure {
280
+ line-height: 0 !important;
281
+ }
282
+ .sa_popup .mfp-figure:after {
283
+ content: '' !important;
284
+ position: absolute !important;
285
+ left: 0 !important;
286
+ top: 40px !important;
287
+ bottom: 40px !important;
288
+ display: block !important;
289
+ right: 0px !important;
290
+ width: auto !important;
291
+ height: auto !important;
292
+ z-index: -1 !important;
293
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6) !important;
294
+ background: #444444 !important;
295
+ }
296
+ .sa_popup .mfp-figure small {
297
+ color: #c0c0c0 !important;
298
+ display: block !important;
299
+ font-size: 12px !important;
300
+ line-height: 14px !important;
301
+ }
302
+ .sa_popup .mfp-figure figure {
303
+ margin: 0 !important;
304
+ }
305
+ .sa_popup .mfp-bottom-bar {
306
+ box-sizing: border-box !important;
307
+ margin-top: -36px !important;
308
+ padding: 0px 3px !important;
309
+ position: absolute !important;
310
+ top: 100% !important;
311
+ left: 0 !important;
312
+ width: 100% !important;
313
+ cursor: auto !important;
314
+ }
315
+ .sa_popup .mfp-title {
316
+ text-align: left !important;
317
+ font-size:16px !important;
318
+ line-height: 20px !important;
319
+ color: #ffffff !important;
320
+ word-wrap: break-word !important;
321
+ padding-right: 45px !important;
322
+ }
323
+ .sa_popup .mfp-image-holder .mfp-content {
324
+ max-width: 100% !important;
325
+ }
326
+ .sa_popup .mfp-gallery .mfp-image-holder .mfp-figure {
327
+ cursor: pointer !important;
328
+ }
329
+
330
+ @media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
331
+ /* Remove all paddings around the image on small screen */
332
+ .sa_popup .mfp-img-mobile .mfp-image-holder { padding-left: 0px !important; padding-right: 0px !important; }
333
+ .sa_popup .mfp-img-mobile img.mfp-img { padding: 0px !important; }
334
+ .sa_popup .mfp-img-mobile .mfp-figure:after { top: 0px !important; bottom: 0px !important; }
335
+ .sa_popup .mfp-img-mobile .mfp-figure small { display: inline !important; margin-left: 5px !important; }
336
+ .sa_popup .mfp-img-mobile .mfp-bottom-bar {
337
+ background: rgba(0, 0, 0, 0.6) !important; bottom: 0px !important; margin: 0px !important; top: auto !important;
338
+ padding: 3px 5px !important; position: fixed !important; box-sizing: border-box !important; }
339
+ }
340
+ @media all and (max-width: 767px) {
341
+ .sa_popup .mfp-title { font-size: 14px !important; line-height: 18px !important; }
342
+ .sa_popup .mfp-arrow { -webkit-transform: scale(0.75) !important; transform: scale(0.75) !important; }
343
+ .sa_popup .mfp-arrow-left { -webkit-transform-origin: 0 !important; transform-origin: 0 !important; }
344
+ .sa_popup .mfp-arrow-right { -webkit-transform-origin: 100% !important; transform-origin: 100% !important; }
345
+ .sa_popup .mfp-container { padding-left: 5px !important; padding-right: 5px !important; }
346
+ }
owl-carousel/animate.min.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ @charset "UTF-8";/*!
2
+ * animate.css -http://daneden.me/animate
3
+ * Version - 3.5.1
4
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
5
+ *
6
+ * Copyright (c) 2016 Daniel Eden
7
+ */.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}.flipInY,.flipOutX{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
owl-carousel/owl-theme.css DELETED
@@ -1,76 +0,0 @@
1
- /*
2
- ##############################################################
3
- ### OWL CAROUSEL THEME (CSS) FOR THE SLIDE ANYTHING PLUGIN ###
4
- ##############################################################
5
- */
6
-
7
- /* ### PAGINATION BUTTONS ### */
8
- .owl-theme .owl-controls .owl-pagination {
9
- position:absolute;
10
- width:100%;
11
- padding:10px 0px 0px !important;
12
- bottom:-22px !important;
13
- text-align:center !important;
14
- font-size:12px !important;
15
- line-height:12px !important;
16
- }
17
- .owl-theme .owl-controls .owl-pagination .owl-page {
18
- display: inline-block !important;
19
- }
20
- .owl-theme .owl-controls .owl-pagination .owl-page span {
21
- display:inline-block !important;
22
- border-style:none !important;
23
- background-color:rgba(0,0,0,0.2) !important;
24
- width:10px !important;
25
- height:10px !important;
26
- border-radius:50% !important;
27
- margin:0px 3px !important;
28
- transition:all .3s ease-in-out !important;
29
- -webkit-transition:all .3s ease-in-out !important;
30
- -moz-transition:all .3s ease-in-out !important;
31
- -o-transition:all .3s ease-in-out !important;
32
- }
33
- .owl-theme .owl-controls .owl-pagination .active span {
34
- background-color:rgba(0,0,0,0.5) !important;
35
- }
36
- .owl-theme .owl-controls .owl-pagination .owl-page span:hover {
37
- background-color:rgba(0,0,0,0.5) !important;
38
- }
39
- .owl-pagination-true {
40
- margin-bottom:22px !important;
41
- }
42
-
43
- /* ### PREVIOUS AND NEXT ARROW BUTTONS ### */
44
- .owl-theme .owl-controls .owl-buttons {
45
- display:block !important;
46
- }
47
- .autohide-arrows .owl-controls .owl-buttons {
48
- display:none !important;
49
- }
50
- .autohide-arrows:hover .owl-controls .owl-buttons {
51
- display:block !important;
52
- }
53
- .owl-theme .owl-controls .owl-buttons div {
54
- position:absolute;
55
- top:50%;
56
- padding:2px 0px !important;
57
- display:inline-block !important;
58
- margin-top:-15px !important;
59
- line-height:30px !important;
60
- height:30px !important;
61
- width:18px !important;
62
- transition:all .3s ease-in-out !important;
63
- -webkit-transition:all .3s ease-in-out !important;
64
- -moz-transition:all .3s ease-in-out !important;
65
- -o-transition:all .3s ease-in-out !important;
66
- }
67
- .owl-theme .owl-controls .owl-buttons .owl-prev {
68
- left:5px;
69
- background:transparent url('../images/icon_prev.png') no-repeat 1px 3px !important;
70
- padding:2px 7px 2px 5px !important;
71
- }
72
- .owl-theme .owl-controls .owl-buttons .owl-next {
73
- right:5px;
74
- background:transparent url('../images/icon_next.png') no-repeat 1px 3px !important;
75
- padding:2px 5px 2px 7px !important;
76
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
owl-carousel/owl.carousel.css CHANGED
@@ -1,71 +1,172 @@
1
- /*
2
- * Core Owl Carousel CSS File
3
- * v1.3.3
4
- */
5
-
6
- /* clearfix */
7
- .owl-carousel .owl-wrapper:after {
8
- content: ".";
9
- display: block;
10
- clear: both;
11
- visibility: hidden;
12
- line-height: 0;
13
- height: 0;
14
- }
15
- /* display none until init */
16
- .owl-carousel{
17
- display: none;
18
- position: relative;
19
- width: 100%;
20
- -ms-touch-action: pan-y;
21
- }
22
- .owl-carousel .owl-wrapper{
23
- display: none;
24
- position: relative;
25
- -webkit-transform: translate3d(0px, 0px, 0px);
26
- }
27
- .owl-carousel .owl-wrapper-outer{
28
- overflow: hidden;
29
- position: relative;
30
- width: 100%;
31
- }
32
- .owl-carousel .owl-wrapper-outer.autoHeight{
33
- -webkit-transition: height 500ms ease-in-out;
34
- -moz-transition: height 500ms ease-in-out;
35
- -ms-transition: height 500ms ease-in-out;
36
- -o-transition: height 500ms ease-in-out;
37
- transition: height 500ms ease-in-out;
38
- }
39
-
40
- .owl-carousel .owl-item{
41
- float: left;
42
- }
43
- .owl-controls .owl-page,
44
- .owl-controls .owl-buttons div{
45
- cursor: pointer;
46
- }
47
- .owl-controls {
48
- -webkit-user-select: none;
49
- -khtml-user-select: none;
50
- -moz-user-select: none;
51
- -ms-user-select: none;
52
- user-select: none;
53
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
54
- }
55
-
56
- /* mouse grab icon */
57
- .grabbing {
58
- cursor:url(grabbing.png) 8 8, move;
59
- }
60
-
61
- /* fix */
62
- .owl-carousel .owl-wrapper,
63
- .owl-carousel .owl-item{
64
- -webkit-backface-visibility: hidden;
65
- -moz-backface-visibility: hidden;
66
- -ms-backface-visibility: hidden;
67
- -webkit-transform: translate3d(0,0,0);
68
- -moz-transform: translate3d(0,0,0);
69
- -ms-transform: translate3d(0,0,0);
70
- }
71
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Owl Carousel v2.2.1
3
+ * Copyright 2013-2017 David Deutsch
4
+ * Licensed under ()
5
+ */
6
+ /*
7
+ * Owl Carousel - Core
8
+ */
9
+ .owl-carousel {
10
+ display: none;
11
+ width: 100%;
12
+ -webkit-tap-highlight-color: transparent;
13
+ /* position relative and z-index fix webkit rendering fonts issue */
14
+ position: relative;
15
+ z-index: 1; }
16
+ .owl-carousel .owl-stage {
17
+ position: relative;
18
+ -ms-touch-action: pan-Y;
19
+ -moz-backface-visibility: hidden;
20
+ /* fix firefox animation glitch */ }
21
+ .owl-carousel .owl-stage:after {
22
+ content: ".";
23
+ display: block;
24
+ clear: both;
25
+ visibility: hidden;
26
+ line-height: 0;
27
+ height: 0; }
28
+ .owl-carousel .owl-stage-outer {
29
+ position: relative;
30
+ overflow: hidden;
31
+ /* fix for flashing background */
32
+ -webkit-transform: translate3d(0px, 0px, 0px); }
33
+ .owl-carousel .owl-wrapper,
34
+ .owl-carousel .owl-item {
35
+ -webkit-backface-visibility: hidden;
36
+ -moz-backface-visibility: hidden;
37
+ -ms-backface-visibility: hidden;
38
+ -webkit-transform: translate3d(0, 0, 0);
39
+ -moz-transform: translate3d(0, 0, 0);
40
+ -ms-transform: translate3d(0, 0, 0); }
41
+ .owl-carousel .owl-item {
42
+ position: relative;
43
+ min-height: 1px;
44
+ float: left;
45
+ -webkit-backface-visibility: hidden;
46
+ -webkit-tap-highlight-color: transparent;
47
+ -webkit-touch-callout: none; }
48
+ .owl-carousel .owl-item img {
49
+ display: inline;
50
+ width: auto;
51
+ height: auto;
52
+ max-width:100%; }
53
+ .owl-carousel .owl-nav.disabled,
54
+ .owl-carousel .owl-dots.disabled {
55
+ display: none; }
56
+ .owl-carousel .owl-nav .owl-prev,
57
+ .owl-carousel .owl-nav .owl-next,
58
+ .owl-carousel .owl-dot {
59
+ cursor: pointer;
60
+ cursor: hand;
61
+ -webkit-user-select: none;
62
+ -khtml-user-select: none;
63
+ -moz-user-select: none;
64
+ -ms-user-select: none;
65
+ user-select: none; }
66
+ .owl-carousel.owl-loaded {
67
+ display: block; }
68
+ .owl-carousel.owl-loading {
69
+ opacity: 0;
70
+ display: block; }
71
+ .owl-carousel.owl-hidden {
72
+ opacity: 0; }
73
+ .owl-carousel.owl-refresh .owl-item {
74
+ visibility: hidden; }
75
+ .owl-carousel.owl-drag .owl-item {
76
+ -webkit-user-select: none;
77
+ -moz-user-select: none;
78
+ -ms-user-select: none;
79
+ user-select: none; }
80
+ .owl-carousel.owl-grab {
81
+ cursor: move;
82
+ cursor: grab; }
83
+ .owl-carousel.owl-rtl {
84
+ direction: rtl; }
85
+ .owl-carousel.owl-rtl .owl-item {
86
+ float: right; }
87
+
88
+ /* No Js */
89
+ .no-js .owl-carousel {
90
+ display: block; }
91
+
92
+ /*
93
+ * Owl Carousel - Animate Plugin
94
+ */
95
+ .owl-carousel .animated {
96
+ animation-duration: 1000ms;
97
+ animation-fill-mode: both; }
98
+
99
+ .owl-carousel .owl-animated-in {
100
+ z-index: 0; }
101
+
102
+ .owl-carousel .owl-animated-out {
103
+ z-index: 1; }
104
+
105
+ .owl-carousel .fadeOut {
106
+ animation-name: fadeOut; }
107
+
108
+ @keyframes fadeOut {
109
+ 0% {
110
+ opacity: 1; }
111
+ 100% {
112
+ opacity: 0; } }
113
+
114
+ /*
115
+ * Owl Carousel - Auto Height Plugin
116
+ */
117
+ .owl-height {
118
+ transition: height 500ms ease-in-out; }
119
+
120
+ /*
121
+ * Owl Carousel - Lazy Load Plugin
122
+ */
123
+ .owl-carousel .owl-item .owl-lazy {
124
+ opacity: 0;
125
+ transition: opacity 400ms ease; }
126
+
127
+ .owl-carousel .owl-item img.owl-lazy {
128
+ transform-style: preserve-3d; }
129
+
130
+ /*
131
+ * Owl Carousel - Video Plugin
132
+ */
133
+ .owl-carousel .owl-video-wrapper {
134
+ position: relative;
135
+ height: 100%;
136
+ background: #000; }
137
+
138
+ .owl-carousel .owl-video-play-icon {
139
+ position: absolute;
140
+ height: 80px;
141
+ width: 80px;
142
+ left: 50%;
143
+ top: 50%;
144
+ margin-left: -40px;
145
+ margin-top: -40px;
146
+ background: url("owl.video.play.png") no-repeat;
147
+ cursor: pointer;
148
+ z-index: 1;
149
+ -webkit-backface-visibility: hidden;
150
+ transition: transform 100ms ease; }
151
+
152
+ .owl-carousel .owl-video-play-icon:hover {
153
+ -ms-transform: scale(1.3, 1.3);
154
+ transform: scale(1.3, 1.3); }
155
+
156
+ .owl-carousel .owl-video-playing .owl-video-tn,
157
+ .owl-carousel .owl-video-playing .owl-video-play-icon {
158
+ display: none; }
159
+
160
+ .owl-carousel .owl-video-tn {
161
+ opacity: 0;
162
+ height: 100%;
163
+ background-position: center center;
164
+ background-repeat: no-repeat;
165
+ background-size: contain;
166
+ transition: opacity 400ms ease; }
167
+
168
+ .owl-carousel .owl-video-frame {
169
+ position: relative;
170
+ z-index: 1;
171
+ height: 100%;
172
+ width: 100%; }
owl-carousel/owl.carousel.min.js CHANGED
@@ -1,47 +1,7 @@
1
- "function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g});
2
- (function(f,g,k){var l={init:function(a,b){this.$elem=f(b);this.options=f.extend({},f.fn.owlCarousel.options,this.$elem.data(),a);this.userOptions=a;this.loadContent()},loadContent:function(){function a(a){var d,e="";if("function"===typeof b.options.jsonSuccess)b.options.jsonSuccess.apply(this,[a]);else{for(d in a.owl)a.owl.hasOwnProperty(d)&&(e+=a.owl[d].item);b.$elem.html(e)}b.logIn()}var b=this,e;"function"===typeof b.options.beforeInit&&b.options.beforeInit.apply(this,[b.$elem]);"string"===typeof b.options.jsonPath?
3
- (e=b.options.jsonPath,f.getJSON(e,a)):b.logIn()},logIn:function(){this.$elem.data("owl-originalStyles",this.$elem.attr("style"));this.$elem.data("owl-originalClasses",this.$elem.attr("class"));this.$elem.css({opacity:0});this.orignalItems=this.options.items;this.checkBrowser();this.wrapperWidth=0;this.checkVisible=null;this.setVars()},setVars:function(){if(0===this.$elem.children().length)return!1;this.baseClass();this.eventTypes();this.$userItems=this.$elem.children();this.itemsAmount=this.$userItems.length;
4
- this.wrapItems();this.$owlItems=this.$elem.find(".owl-item");this.$owlWrapper=this.$elem.find(".owl-wrapper");this.playDirection="next";this.prevItem=0;this.prevArr=[0];this.currentItem=0;this.customEvents();this.onStartup()},onStartup:function(){this.updateItems();this.calculateAll();this.buildControls();this.updateControls();this.response();this.moveEvents();this.stopOnHover();this.owlStatus();!1!==this.options.transitionStyle&&this.transitionTypes(this.options.transitionStyle);!0===this.options.autoPlay&&
5
- (this.options.autoPlay=5E3);this.play();this.$elem.find(".owl-wrapper").css("display","block");this.$elem.is(":visible")?this.$elem.css("opacity",1):this.watchVisibility();this.onstartup=!1;this.eachMoveUpdate();"function"===typeof this.options.afterInit&&this.options.afterInit.apply(this,[this.$elem])},eachMoveUpdate:function(){!0===this.options.lazyLoad&&this.lazyLoad();!0===this.options.autoHeight&&this.autoHeight();this.onVisibleItems();"function"===typeof this.options.afterAction&&this.options.afterAction.apply(this,
6
- [this.$elem])},updateVars:function(){"function"===typeof this.options.beforeUpdate&&this.options.beforeUpdate.apply(this,[this.$elem]);this.watchVisibility();this.updateItems();this.calculateAll();this.updatePosition();this.updateControls();this.eachMoveUpdate();"function"===typeof this.options.afterUpdate&&this.options.afterUpdate.apply(this,[this.$elem])},reload:function(){var a=this;g.setTimeout(function(){a.updateVars()},0)},watchVisibility:function(){var a=this;if(!1===a.$elem.is(":visible"))a.$elem.css({opacity:0}),
7
- g.clearInterval(a.autoPlayInterval),g.clearInterval(a.checkVisible);else return!1;a.checkVisible=g.setInterval(function(){a.$elem.is(":visible")&&(a.reload(),a.$elem.animate({opacity:1},200),g.clearInterval(a.checkVisible))},500)},wrapItems:function(){this.$userItems.wrapAll('<div class="owl-wrapper">').wrap('<div class="owl-item"></div>');this.$elem.find(".owl-wrapper").wrap('<div class="owl-wrapper-outer">');this.wrapperOuter=this.$elem.find(".owl-wrapper-outer");this.$elem.css("display","block")},
8
- baseClass:function(){var a=this.$elem.hasClass(this.options.baseClass),b=this.$elem.hasClass(this.options.theme);a||this.$elem.addClass(this.options.baseClass);b||this.$elem.addClass(this.options.theme)},updateItems:function(){var a,b;if(!1===this.options.responsive)return!1;if(!0===this.options.singleItem)return this.options.items=this.orignalItems=1,this.options.itemsCustom=!1,this.options.itemsDesktop=!1,this.options.itemsDesktopSmall=!1,this.options.itemsTablet=!1,this.options.itemsTabletSmall=
9
- !1,this.options.itemsMobile=!1;a=f(this.options.responsiveBaseWidth).width();a>(this.options.itemsDesktop[0]||this.orignalItems)&&(this.options.items=this.orignalItems);if(!1!==this.options.itemsCustom)for(this.options.itemsCustom.sort(function(a,b){return a[0]-b[0]}),b=0;b<this.options.itemsCustom.length;b+=1)this.options.itemsCustom[b][0]<=a&&(this.options.items=this.options.itemsCustom[b][1]);else a<=this.options.itemsDesktop[0]&&!1!==this.options.itemsDesktop&&(this.options.items=this.options.itemsDesktop[1]),
10
- a<=this.options.itemsDesktopSmall[0]&&!1!==this.options.itemsDesktopSmall&&(this.options.items=this.options.itemsDesktopSmall[1]),a<=this.options.itemsTablet[0]&&!1!==this.options.itemsTablet&&(this.options.items=this.options.itemsTablet[1]),a<=this.options.itemsTabletSmall[0]&&!1!==this.options.itemsTabletSmall&&(this.options.items=this.options.itemsTabletSmall[1]),a<=this.options.itemsMobile[0]&&!1!==this.options.itemsMobile&&(this.options.items=this.options.itemsMobile[1]);this.options.items>this.itemsAmount&&
11
- !0===this.options.itemsScaleUp&&(this.options.items=this.itemsAmount)},response:function(){var a=this,b,e;if(!0!==a.options.responsive)return!1;e=f(g).width();a.resizer=function(){f(g).width()!==e&&(!1!==a.options.autoPlay&&g.clearInterval(a.autoPlayInterval),g.clearTimeout(b),b=g.setTimeout(function(){e=f(g).width();a.updateVars()},a.options.responsiveRefreshRate))};f(g).resize(a.resizer)},updatePosition:function(){this.jumpTo(this.currentItem);!1!==this.options.autoPlay&&this.checkAp()},appendItemsSizes:function(){var a=
12
- this,b=0,e=a.itemsAmount-a.options.items;a.$owlItems.each(function(c){var d=f(this);d.css({width:a.itemWidth}).data("owl-item",Number(c));if(0===c%a.options.items||c===e)c>e||(b+=1);d.data("owl-roundPages",b)})},appendWrapperSizes:function(){this.$owlWrapper.css({width:this.$owlItems.length*this.itemWidth*2,left:0});this.appendItemsSizes()},calculateAll:function(){this.calculateWidth();this.appendWrapperSizes();this.loops();this.max()},calculateWidth:function(){this.itemWidth=Math.round(this.$elem.width()/
13
- this.options.items)},max:function(){var a=-1*(this.itemsAmount*this.itemWidth-this.options.items*this.itemWidth);this.options.items>this.itemsAmount?this.maximumPixels=a=this.maximumItem=0:(this.maximumItem=this.itemsAmount-this.options.items,this.maximumPixels=a);return a},min:function(){return 0},loops:function(){var a=0,b=0,e,c;this.positionsInArray=[0];this.pagesInArray=[];for(e=0;e<this.itemsAmount;e+=1)b+=this.itemWidth,this.positionsInArray.push(-b),!0===this.options.scrollPerPage&&(c=f(this.$owlItems[e]),
14
- c=c.data("owl-roundPages"),c!==a&&(this.pagesInArray[a]=this.positionsInArray[e],a=c))},buildControls:function(){if(!0===this.options.navigation||!0===this.options.pagination)this.owlControls=f('<div class="owl-controls"/>').toggleClass("clickable",!this.browser.isTouch).appendTo(this.$elem);!0===this.options.pagination&&this.buildPagination();!0===this.options.navigation&&this.buildButtons()},buildButtons:function(){var a=this,b=f('<div class="owl-buttons"/>');a.owlControls.append(b);a.buttonPrev=
15
- f("<div/>",{"class":"owl-prev",html:a.options.navigationText[0]||""});a.buttonNext=f("<div/>",{"class":"owl-next",html:a.options.navigationText[1]||""});b.append(a.buttonPrev).append(a.buttonNext);b.on("touchstart.owlControls mousedown.owlControls",'div[class^="owl"]',function(a){a.preventDefault()});b.on("touchend.owlControls mouseup.owlControls",'div[class^="owl"]',function(b){b.preventDefault();f(this).hasClass("owl-next")?a.next():a.prev()})},buildPagination:function(){var a=this;a.paginationWrapper=
16
- f('<div class="owl-pagination"/>');a.owlControls.append(a.paginationWrapper);a.paginationWrapper.on("touchend.owlControls mouseup.owlControls",".owl-page",function(b){b.preventDefault();Number(f(this).data("owl-page"))!==a.currentItem&&a.goTo(Number(f(this).data("owl-page")),!0)})},updatePagination:function(){var a,b,e,c,d,g;if(!1===this.options.pagination)return!1;this.paginationWrapper.html("");a=0;b=this.itemsAmount-this.itemsAmount%this.options.items;for(c=0;c<this.itemsAmount;c+=1)0===c%this.options.items&&
17
- (a+=1,b===c&&(e=this.itemsAmount-this.options.items),d=f("<div/>",{"class":"owl-page"}),g=f("<span></span>",{text:!0===this.options.paginationNumbers?a:"","class":!0===this.options.paginationNumbers?"owl-numbers":""}),d.append(g),d.data("owl-page",b===c?e:c),d.data("owl-roundPages",a),this.paginationWrapper.append(d));this.checkPagination()},checkPagination:function(){var a=this;if(!1===a.options.pagination)return!1;a.paginationWrapper.find(".owl-page").each(function(){f(this).data("owl-roundPages")===
18
- f(a.$owlItems[a.currentItem]).data("owl-roundPages")&&(a.paginationWrapper.find(".owl-page").removeClass("active"),f(this).addClass("active"))})},checkNavigation:function(){if(!1===this.options.navigation)return!1;!1===this.options.rewindNav&&(0===this.currentItem&&0===this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.addClass("disabled")):0===this.currentItem&&0!==this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.removeClass("disabled")):this.currentItem===
19
- this.maximumItem?(this.buttonPrev.removeClass("disabled"),this.buttonNext.addClass("disabled")):0!==this.currentItem&&this.currentItem!==this.maximumItem&&(this.buttonPrev.removeClass("disabled"),this.buttonNext.removeClass("disabled")))},updateControls:function(){this.updatePagination();this.checkNavigation();this.owlControls&&(this.options.items>=this.itemsAmount?this.owlControls.hide():this.owlControls.show())},destroyControls:function(){this.owlControls&&this.owlControls.remove()},next:function(a){if(this.isTransition)return!1;
20
- this.currentItem+=!0===this.options.scrollPerPage?this.options.items:1;if(this.currentItem>this.maximumItem+(!0===this.options.scrollPerPage?this.options.items-1:0))if(!0===this.options.rewindNav)this.currentItem=0,a="rewind";else return this.currentItem=this.maximumItem,!1;this.goTo(this.currentItem,a)},prev:function(a){if(this.isTransition)return!1;this.currentItem=!0===this.options.scrollPerPage&&0<this.currentItem&&this.currentItem<this.options.items?0:this.currentItem-(!0===this.options.scrollPerPage?
21
- this.options.items:1);if(0>this.currentItem)if(!0===this.options.rewindNav)this.currentItem=this.maximumItem,a="rewind";else return this.currentItem=0,!1;this.goTo(this.currentItem,a)},goTo:function(a,b,e){var c=this;if(c.isTransition)return!1;"function"===typeof c.options.beforeMove&&c.options.beforeMove.apply(this,[c.$elem]);a>=c.maximumItem?a=c.maximumItem:0>=a&&(a=0);c.currentItem=c.owl.currentItem=a;if(!1!==c.options.transitionStyle&&"drag"!==e&&1===c.options.items&&!0===c.browser.support3d)return c.swapSpeed(0),
22
- !0===c.browser.support3d?c.transition3d(c.positionsInArray[a]):c.css2slide(c.positionsInArray[a],1),c.afterGo(),c.singleItemTransition(),!1;a=c.positionsInArray[a];!0===c.browser.support3d?(c.isCss3Finish=!1,!0===b?(c.swapSpeed("paginationSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},c.options.paginationSpeed)):"rewind"===b?(c.swapSpeed(c.options.rewindSpeed),g.setTimeout(function(){c.isCss3Finish=!0},c.options.rewindSpeed)):(c.swapSpeed("slideSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},
23
- c.options.slideSpeed)),c.transition3d(a)):!0===b?c.css2slide(a,c.options.paginationSpeed):"rewind"===b?c.css2slide(a,c.options.rewindSpeed):c.css2slide(a,c.options.slideSpeed);c.afterGo()},jumpTo:function(a){"function"===typeof this.options.beforeMove&&this.options.beforeMove.apply(this,[this.$elem]);a>=this.maximumItem||-1===a?a=this.maximumItem:0>=a&&(a=0);this.swapSpeed(0);!0===this.browser.support3d?this.transition3d(this.positionsInArray[a]):this.css2slide(this.positionsInArray[a],1);this.currentItem=
24
- this.owl.currentItem=a;this.afterGo()},afterGo:function(){this.prevArr.push(this.currentItem);this.prevItem=this.owl.prevItem=this.prevArr[this.prevArr.length-2];this.prevArr.shift(0);this.prevItem!==this.currentItem&&(this.checkPagination(),this.checkNavigation(),this.eachMoveUpdate(),!1!==this.options.autoPlay&&this.checkAp());"function"===typeof this.options.afterMove&&this.prevItem!==this.currentItem&&this.options.afterMove.apply(this,[this.$elem])},stop:function(){this.apStatus="stop";g.clearInterval(this.autoPlayInterval)},
25
- checkAp:function(){"stop"!==this.apStatus&&this.play()},play:function(){var a=this;a.apStatus="play";if(!1===a.options.autoPlay)return!1;g.clearInterval(a.autoPlayInterval);a.autoPlayInterval=g.setInterval(function(){a.next(!0)},a.options.autoPlay)},swapSpeed:function(a){"slideSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed)):"paginationSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed)):"string"!==typeof a&&this.$owlWrapper.css(this.addCssSpeed(a))},
26
- addCssSpeed:function(a){return{"-webkit-transition":"all "+a+"ms ease","-moz-transition":"all "+a+"ms ease","-o-transition":"all "+a+"ms ease",transition:"all "+a+"ms ease"}},removeTransition:function(){return{"-webkit-transition":"","-moz-transition":"","-o-transition":"",transition:""}},doTranslate:function(a){return{"-webkit-transform":"translate3d("+a+"px, 0px, 0px)","-moz-transform":"translate3d("+a+"px, 0px, 0px)","-o-transform":"translate3d("+a+"px, 0px, 0px)","-ms-transform":"translate3d("+
27
- a+"px, 0px, 0px)",transform:"translate3d("+a+"px, 0px,0px)"}},transition3d:function(a){this.$owlWrapper.css(this.doTranslate(a))},css2move:function(a){this.$owlWrapper.css({left:a})},css2slide:function(a,b){var e=this;e.isCssFinish=!1;e.$owlWrapper.stop(!0,!0).animate({left:a},{duration:b||e.options.slideSpeed,complete:function(){e.isCssFinish=!0}})},checkBrowser:function(){var a=k.createElement("div");a.style.cssText=" -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)";
28
- a=a.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g);this.browser={support3d:null!==a&&1===a.length,isTouch:"ontouchstart"in g||g.navigator.msMaxTouchPoints}},moveEvents:function(){if(!1!==this.options.mouseDrag||!1!==this.options.touchDrag)this.gestures(),this.disabledEvents()},eventTypes:function(){var a=["s","e","x"];this.ev_types={};!0===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl mousedown.owl","touchmove.owl mousemove.owl","touchend.owl touchcancel.owl mouseup.owl"]:
29
- !1===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl","touchmove.owl","touchend.owl touchcancel.owl"]:!0===this.options.mouseDrag&&!1===this.options.touchDrag&&(a=["mousedown.owl","mousemove.owl","mouseup.owl"]);this.ev_types.start=a[0];this.ev_types.move=a[1];this.ev_types.end=a[2]},disabledEvents:function(){this.$elem.on("dragstart.owl",function(a){a.preventDefault()});this.$elem.on("mousedown.disableTextSelect",function(a){return f(a.target).is("input, textarea, select, option")})},
30
- gestures:function(){function a(a){if(void 0!==a.touches)return{x:a.touches[0].pageX,y:a.touches[0].pageY};if(void 0===a.touches){if(void 0!==a.pageX)return{x:a.pageX,y:a.pageY};if(void 0===a.pageX)return{x:a.clientX,y:a.clientY}}}function b(a){"on"===a?(f(k).on(d.ev_types.move,e),f(k).on(d.ev_types.end,c)):"off"===a&&(f(k).off(d.ev_types.move),f(k).off(d.ev_types.end))}function e(b){b=b.originalEvent||b||g.event;d.newPosX=a(b).x-h.offsetX;d.newPosY=a(b).y-h.offsetY;d.newRelativeX=d.newPosX-h.relativePos;
31
- "function"===typeof d.options.startDragging&&!0!==h.dragging&&0!==d.newRelativeX&&(h.dragging=!0,d.options.startDragging.apply(d,[d.$elem]));(8<d.newRelativeX||-8>d.newRelativeX)&&!0===d.browser.isTouch&&(void 0!==b.preventDefault?b.preventDefault():b.returnValue=!1,h.sliding=!0);(10<d.newPosY||-10>d.newPosY)&&!1===h.sliding&&f(k).off("touchmove.owl");d.newPosX=Math.max(Math.min(d.newPosX,d.newRelativeX/5),d.maximumPixels+d.newRelativeX/5);!0===d.browser.support3d?d.transition3d(d.newPosX):d.css2move(d.newPosX)}
32
- function c(a){a=a.originalEvent||a||g.event;var c;a.target=a.target||a.srcElement;h.dragging=!1;!0!==d.browser.isTouch&&d.$owlWrapper.removeClass("grabbing");d.dragDirection=0>d.newRelativeX?d.owl.dragDirection="left":d.owl.dragDirection="right";0!==d.newRelativeX&&(c=d.getNewPosition(),d.goTo(c,!1,"drag"),h.targetElement===a.target&&!0!==d.browser.isTouch&&(f(a.target).on("click.disable",function(a){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();f(a.target).off("click.disable")}),
33
- a=f._data(a.target,"events").click,c=a.pop(),a.splice(0,0,c)));b("off")}var d=this,h={offsetX:0,offsetY:0,baseElWidth:0,relativePos:0,position:null,minSwipe:null,maxSwipe:null,sliding:null,dargging:null,targetElement:null};d.isCssFinish=!0;d.$elem.on(d.ev_types.start,".owl-wrapper",function(c){c=c.originalEvent||c||g.event;var e;if(3===c.which)return!1;if(!(d.itemsAmount<=d.options.items)){if(!1===d.isCssFinish&&!d.options.dragBeforeAnimFinish||!1===d.isCss3Finish&&!d.options.dragBeforeAnimFinish)return!1;
34
- !1!==d.options.autoPlay&&g.clearInterval(d.autoPlayInterval);!0===d.browser.isTouch||d.$owlWrapper.hasClass("grabbing")||d.$owlWrapper.addClass("grabbing");d.newPosX=0;d.newRelativeX=0;f(this).css(d.removeTransition());e=f(this).position();h.relativePos=e.left;h.offsetX=a(c).x-e.left;h.offsetY=a(c).y-e.top;b("on");h.sliding=!1;h.targetElement=c.target||c.srcElement}})},getNewPosition:function(){var a=this.closestItem();a>this.maximumItem?a=this.currentItem=this.maximumItem:0<=this.newPosX&&(this.currentItem=
35
- a=0);return a},closestItem:function(){var a=this,b=!0===a.options.scrollPerPage?a.pagesInArray:a.positionsInArray,e=a.newPosX,c=null;f.each(b,function(d,g){e-a.itemWidth/20>b[d+1]&&e-a.itemWidth/20<g&&"left"===a.moveDirection()?(c=g,a.currentItem=!0===a.options.scrollPerPage?f.inArray(c,a.positionsInArray):d):e+a.itemWidth/20<g&&e+a.itemWidth/20>(b[d+1]||b[d]-a.itemWidth)&&"right"===a.moveDirection()&&(!0===a.options.scrollPerPage?(c=b[d+1]||b[b.length-1],a.currentItem=f.inArray(c,a.positionsInArray)):
36
- (c=b[d+1],a.currentItem=d+1))});return a.currentItem},moveDirection:function(){var a;0>this.newRelativeX?(a="right",this.playDirection="next"):(a="left",this.playDirection="prev");return a},customEvents:function(){var a=this;a.$elem.on("owl.next",function(){a.next()});a.$elem.on("owl.prev",function(){a.prev()});a.$elem.on("owl.play",function(b,e){a.options.autoPlay=e;a.play();a.hoverStatus="play"});a.$elem.on("owl.stop",function(){a.stop();a.hoverStatus="stop"});a.$elem.on("owl.goTo",function(b,e){a.goTo(e)});
37
- a.$elem.on("owl.jumpTo",function(b,e){a.jumpTo(e)})},stopOnHover:function(){var a=this;!0===a.options.stopOnHover&&!0!==a.browser.isTouch&&!1!==a.options.autoPlay&&(a.$elem.on("mouseover",function(){a.stop()}),a.$elem.on("mouseout",function(){"stop"!==a.hoverStatus&&a.play()}))},lazyLoad:function(){var a,b,e,c,d;if(!1===this.options.lazyLoad)return!1;for(a=0;a<this.itemsAmount;a+=1)b=f(this.$owlItems[a]),"loaded"!==b.data("owl-loaded")&&(e=b.data("owl-item"),c=b.find(".lazyOwl"),"string"!==typeof c.data("src")?
38
- b.data("owl-loaded","loaded"):(void 0===b.data("owl-loaded")&&(c.hide(),b.addClass("loading").data("owl-loaded","checked")),(d=!0===this.options.lazyFollow?e>=this.currentItem:!0)&&e<this.currentItem+this.options.items&&c.length&&this.lazyPreload(b,c)))},lazyPreload:function(a,b){function e(){a.data("owl-loaded","loaded").removeClass("loading");b.removeAttr("data-src");"fade"===d.options.lazyEffect?b.fadeIn(400):b.show();"function"===typeof d.options.afterLazyLoad&&d.options.afterLazyLoad.apply(this,
39
- [d.$elem])}function c(){f+=1;d.completeImg(b.get(0))||!0===k?e():100>=f?g.setTimeout(c,100):e()}var d=this,f=0,k;"DIV"===b.prop("tagName")?(b.css("background-image","url("+b.data("src")+")"),k=!0):b[0].src=b.data("src");c()},autoHeight:function(){function a(){var a=f(e.$owlItems[e.currentItem]).height();e.wrapperOuter.css("height",a+"px");e.wrapperOuter.hasClass("autoHeight")||g.setTimeout(function(){e.wrapperOuter.addClass("autoHeight")},0)}function b(){d+=1;e.completeImg(c.get(0))?a():100>=d?g.setTimeout(b,
40
- 100):e.wrapperOuter.css("height","")}var e=this,c=f(e.$owlItems[e.currentItem]).find("img"),d;void 0!==c.get(0)?(d=0,b()):a()},completeImg:function(a){return!a.complete||"undefined"!==typeof a.naturalWidth&&0===a.naturalWidth?!1:!0},onVisibleItems:function(){var a;!0===this.options.addClassActive&&this.$owlItems.removeClass("active");this.visibleItems=[];for(a=this.currentItem;a<this.currentItem+this.options.items;a+=1)this.visibleItems.push(a),!0===this.options.addClassActive&&f(this.$owlItems[a]).addClass("active");
41
- this.owl.visibleItems=this.visibleItems},transitionTypes:function(a){this.outClass="owl-"+a+"-out";this.inClass="owl-"+a+"-in"},singleItemTransition:function(){var a=this,b=a.outClass,e=a.inClass,c=a.$owlItems.eq(a.currentItem),d=a.$owlItems.eq(a.prevItem),f=Math.abs(a.positionsInArray[a.currentItem])+a.positionsInArray[a.prevItem],g=Math.abs(a.positionsInArray[a.currentItem])+a.itemWidth/2;a.isTransition=!0;a.$owlWrapper.addClass("owl-origin").css({"-webkit-transform-origin":g+"px","-moz-perspective-origin":g+
42
- "px","perspective-origin":g+"px"});d.css({position:"relative",left:f+"px"}).addClass(b).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend",function(){a.endPrev=!0;d.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");a.clearTransStyle(d,b)});c.addClass(e).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend",function(){a.endCurrent=!0;c.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");a.clearTransStyle(c,e)})},clearTransStyle:function(a,
43
- b){a.css({position:"",left:""}).removeClass(b);this.endPrev&&this.endCurrent&&(this.$owlWrapper.removeClass("owl-origin"),this.isTransition=this.endCurrent=this.endPrev=!1)},owlStatus:function(){this.owl={userOptions:this.userOptions,baseElement:this.$elem,userItems:this.$userItems,owlItems:this.$owlItems,currentItem:this.currentItem,prevItem:this.prevItem,visibleItems:this.visibleItems,isTouch:this.browser.isTouch,browser:this.browser,dragDirection:this.dragDirection}},clearEvents:function(){this.$elem.off(".owl owl mousedown.disableTextSelect");
44
- f(k).off(".owl owl");f(g).off("resize",this.resizer)},unWrap:function(){0!==this.$elem.children().length&&(this.$owlWrapper.unwrap(),this.$userItems.unwrap().unwrap(),this.owlControls&&this.owlControls.remove());this.clearEvents();this.$elem.attr("style",this.$elem.data("owl-originalStyles")||"").attr("class",this.$elem.data("owl-originalClasses"))},destroy:function(){this.stop();g.clearInterval(this.checkVisible);this.unWrap();this.$elem.removeData()},reinit:function(a){a=f.extend({},this.userOptions,
45
- a);this.unWrap();this.init(a,this.$elem)},addItem:function(a,b){var e;if(!a)return!1;if(0===this.$elem.children().length)return this.$elem.append(a),this.setVars(),!1;this.unWrap();e=void 0===b||-1===b?-1:b;e>=this.$userItems.length||-1===e?this.$userItems.eq(-1).after(a):this.$userItems.eq(e).before(a);this.setVars()},removeItem:function(a){if(0===this.$elem.children().length)return!1;a=void 0===a||-1===a?-1:a;this.unWrap();this.$userItems.eq(a).remove();this.setVars()}};f.fn.owlCarousel=function(a){return this.each(function(){if(!0===
46
- f(this).data("owl-init"))return!1;f(this).data("owl-init",!0);var b=Object.create(l);b.init(a,this);f.data(this,"owlCarousel",b)})};f.fn.owlCarousel.options={items:5,itemsCustom:!1,itemsDesktop:[1199,4],itemsDesktopSmall:[979,3],itemsTablet:[768,2],itemsTabletSmall:!1,itemsMobile:[479,1],singleItem:!1,itemsScaleUp:!1,slideSpeed:200,paginationSpeed:800,rewindSpeed:1E3,autoPlay:!1,stopOnHover:!1,navigation:!1,navigationText:["prev","next"],rewindNav:!0,scrollPerPage:!1,pagination:!0,paginationNumbers:!1,
47
- responsive:!0,responsiveRefreshRate:200,responsiveBaseWidth:g,baseClass:"owl-carousel",theme:"owl-theme",lazyLoad:!1,lazyFollow:!0,lazyEffect:"fade",autoHeight:!1,jsonPath:!1,jsonSuccess:!1,dragBeforeAnimFinish:!0,mouseDrag:!0,touchDrag:!0,addClassActive:!1,transitionStyle:!1,beforeUpdate:!1,afterUpdate:!1,beforeInit:!1,afterInit:!1,beforeMove:!1,afterMove:!1,afterAction:!1,startDragging:!1,afterLazyLoad:!1}})(jQuery,window,document);
1
+ /**
2
+ * Owl Carousel v2.2.1
3
+ * Copyright 2013-2017 David Deutsch
4
+ * Licensed under ()
5
+ */
6
+ !function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g--;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;c<d;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.settings.center&&(this.$stage.children(".center").removeClass("center"),this.$stage.children().eq(this.current()).addClass("center"))}}],e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var b,c,e;b=this.$element.find("img"),c=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,e=this.$element.children(c).width(),b.length&&e<=0&&this.preloadAutoWidthImages(b)}this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+' class="'+this.settings.stageClass+'"/>').wrap('<div class="'+this.settings.stageOuterClass+'"/>'),this.$element.append(this.$stage.parent()),this.replace(this.$element.children().not(this.$stage.parent())),this.$element.is(":visible")?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b<c;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.$element.is(":visible")&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),this.settings.responsive!==!1&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),c=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var d=-1,e=30,f=this.width(),g=this.coordinates();return this.settings.freeDrag||a.each(g,a.proxy(function(a,h){return"left"===c&&b>h-e&&b<h+e?d=a:"right"===c&&b>h-f-e&&b<h-f+e?d=a+1:this.op(b,"<",h)&&this.op(b,">",g[a+1]||h-f)&&(d="left"===c?a+1:a),d===-1},this)),this.settings.loop||(this.op(b,">",g[this.minimum()])?d=b=this.minimum():this.op(b,"<",g[this.maximum()])&&(d=b=this.maximum())),d},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){a=this.normalize(a),a!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){for(b=this._items.length,c=this._items[--b].width(),d=this.$element.width();b--&&(c+=this._items[b].width()+this.settings.margin,!(c>d)););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2===0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=f*-1*g),a=c+e,d=((a-h)%g+g)%g+h,d!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.$element.is(":visible")&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){a=this.normalize(a,!0),a!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),this.settings.responsive!==!1&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a<c;case">":return d?a<c:a>c;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&a.namespace.indexOf("owl")!==-1?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.$element.is(":visible"),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.$element.is(":visible")!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type))for(var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&e*-1||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);f++<e;)this.load(h/2+this._core.relative(g)),h&&a.each(this._core.clones(this._core.relative(g)),i),g++},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"==a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.$stage.children().toArray().slice(b,c),e=[],f=0;a.each(d,function(b,c){e.push(a(c).height())}),f=Math.max.apply(null,e),this._core.$stage.parent().height(f).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?'style="width:'+c.width+"px;height:"+c.height+'px;"':"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(a){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?'<div class="owl-video-tn '+j+'" '+i+'="'+a+'"></div>':'<div class="owl-video-tn" style="opacity:1;background-image:url('+a+')"></div>',b.after(d),b.after(e)};if(b.wrap('<div class="owl-video-wrapper"'+g+"></div>"),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),"youtube"===f.type?c='<iframe width="'+g+'" height="'+h+'" src="//www.youtube.com/embed/'+f.id+"?autoplay=1&rel=0&v="+f.id+'" frameborder="0" allowfullscreen></iframe>':"vimeo"===f.type?c='<iframe src="//player.vimeo.com/video/'+f.id+'?autoplay=1" width="'+g+'" height="'+h+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>':"vzaar"===f.type&&(c='<iframe frameborder="0"height="'+h+'"width="'+g+'" allowfullscreen mozallowfullscreen webkitAllowFullScreen src="//view.vzaar.com/'+f.id+'/player?autoplay=true"></iframe>'),a('<div class="owl-video-frame">'+c+"</div>").insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},
7
+ a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._timeout=null,this._paused=!1,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._core.settings.autoplay&&this._setAutoPlayInterval()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype.play=function(a,b){this._paused=!1,this._core.is("rotating")||(this._core.enter("rotating"),this._setAutoPlayInterval())},e.prototype._getNextTimeout=function(d,e){return this._timeout&&b.clearTimeout(this._timeout),b.setTimeout(a.proxy(function(){this._paused||this._core.is("busy")||this._core.is("interacting")||c.hidden||this._core.next(e||this._core.settings.autoplaySpeed)},this),d||this._core.settings.autoplayTimeout)},e.prototype._setAutoPlayInterval=function(){this._timeout=this._getNextTimeout()},e.prototype.stop=function(){this._core.is("rotating")&&(b.clearTimeout(this._timeout),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&(this._paused=!0)},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:["prev","next"],navSpeed:!1,navElement:"div",navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a("<div>").addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a<e;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
owl-carousel/owl.transitions.css DELETED
@@ -1,163 +0,0 @@
1
- /*
2
- * Owl Carousel CSS3 Transitions
3
- * v1.3.2
4
- */
5
-
6
- .owl-origin {
7
- -webkit-perspective: 1200px;
8
- -webkit-perspective-origin-x : 50%;
9
- -webkit-perspective-origin-y : 50%;
10
- -moz-perspective : 1200px;
11
- -moz-perspective-origin-x : 50%;
12
- -moz-perspective-origin-y : 50%;
13
- perspective : 1200px;
14
- }
15
- /* fade */
16
- .owl-fade-out {
17
- z-index: 10;
18
- -webkit-animation: fadeOut .7s both ease;
19
- -moz-animation: fadeOut .7s both ease;
20
- animation: fadeOut .7s both ease;
21
- }
22
- .owl-fade-in {
23
- -webkit-animation: fadeIn .7s both ease;
24
- -moz-animation: fadeIn .7s both ease;
25
- animation: fadeIn .7s both ease;
26
- }
27
- /* backSlide */
28
- .owl-backSlide-out {
29
- -webkit-animation: backSlideOut 1s both ease;
30
- -moz-animation: backSlideOut 1s both ease;
31
- animation: backSlideOut 1s both ease;
32
- }
33
- .owl-backSlide-in {
34
- -webkit-animation: backSlideIn 1s both ease;
35
- -moz-animation: backSlideIn 1s both ease;
36
- animation: backSlideIn 1s both ease;
37
- }
38
- /* goDown */
39
- .owl-goDown-out {
40
- -webkit-animation: scaleToFade .7s ease both;
41
- -moz-animation: scaleToFade .7s ease both;
42
- animation: scaleToFade .7s ease both;
43
- }
44
- .owl-goDown-in {
45
- -webkit-animation: goDown .6s ease both;
46
- -moz-animation: goDown .6s ease both;
47
- animation: goDown .6s ease both;
48
- }
49
- /* scaleUp */
50
- .owl-fadeUp-in {
51
- -webkit-animation: scaleUpFrom .5s ease both;
52
- -moz-animation: scaleUpFrom .5s ease both;
53
- animation: scaleUpFrom .5s ease both;
54
- }
55
-
56
- .owl-fadeUp-out {
57
- -webkit-animation: scaleUpTo .5s ease both;
58
- -moz-animation: scaleUpTo .5s ease both;
59
- animation: scaleUpTo .5s ease both;
60
- }
61
- /* Keyframes */
62
- /*empty*/
63
- @-webkit-keyframes empty {
64
- 0% {opacity: 1}
65
- }
66
- @-moz-keyframes empty {
67
- 0% {opacity: 1}
68
- }
69
- @keyframes empty {
70
- 0% {opacity: 1}
71
- }
72
- @-webkit-keyframes fadeIn {
73
- 0% { opacity:0; }
74
- 100% { opacity:1; }
75
- }
76
- @-moz-keyframes fadeIn {
77
- 0% { opacity:0; }
78
- 100% { opacity:1; }
79
- }
80
- @keyframes fadeIn {
81
- 0% { opacity:0; }
82
- 100% { opacity:1; }
83
- }
84
- @-webkit-keyframes fadeOut {
85
- 0% { opacity:1; }
86
- 100% { opacity:0; }
87
- }
88
- @-moz-keyframes fadeOut {
89
- 0% { opacity:1; }
90
- 100% { opacity:0; }
91
- }
92
- @keyframes fadeOut {
93
- 0% { opacity:1; }
94
- 100% { opacity:0; }
95
- }
96
- @-webkit-keyframes backSlideOut {
97
- 25% { opacity: .5; -webkit-transform: translateZ(-500px); }
98
- 75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
99
- 100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
100
- }
101
- @-moz-keyframes backSlideOut {
102
- 25% { opacity: .5; -moz-transform: translateZ(-500px); }
103
- 75% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
104
- 100% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
105
- }
106
- @keyframes backSlideOut {
107
- 25% { opacity: .5; transform: translateZ(-500px); }
108
- 75% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
109
- 100% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
110
- }
111
- @-webkit-keyframes backSlideIn {
112
- 0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); }
113
- 75% { opacity: .5; -webkit-transform: translateZ(-500px); }
114
- 100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); }
115
- }
116
- @-moz-keyframes backSlideIn {
117
- 0%, 25% { opacity: .5; -moz-transform: translateZ(-500px) translateX(200%); }
118
- 75% { opacity: .5; -moz-transform: translateZ(-500px); }
119
- 100% { opacity: 1; -moz-transform: translateZ(0) translateX(0); }
120
- }
121
- @keyframes backSlideIn {
122
- 0%, 25% { opacity: .5; transform: translateZ(-500px) translateX(200%); }
123
- 75% { opacity: .5; transform: translateZ(-500px); }
124
- 100% { opacity: 1; transform: translateZ(0) translateX(0); }
125
- }
126
- @-webkit-keyframes scaleToFade {
127
- to { opacity: 0; -webkit-transform: scale(.8); }
128
- }
129
- @-moz-keyframes scaleToFade {
130
- to { opacity: 0; -moz-transform: scale(.8); }
131
- }
132
- @keyframes scaleToFade {
133
- to { opacity: 0; transform: scale(.8); }
134
- }
135
- @-webkit-keyframes goDown {
136
- from { -webkit-transform: translateY(-100%); }
137
- }
138
- @-moz-keyframes goDown {
139
- from { -moz-transform: translateY(-100%); }
140
- }
141
- @keyframes goDown {
142
- from { transform: translateY(-100%); }
143
- }
144
-
145
- @-webkit-keyframes scaleUpFrom {
146
- from { opacity: 0; -webkit-transform: scale(1.5); }
147
- }
148
- @-moz-keyframes scaleUpFrom {
149
- from { opacity: 0; -moz-transform: scale(1.5); }
150
- }
151
- @keyframes scaleUpFrom {
152
- from { opacity: 0; transform: scale(1.5); }
153
- }
154
-
155
- @-webkit-keyframes scaleUpTo {
156
- to { opacity: 0; -webkit-transform: scale(1.5); }
157
- }
158
- @-moz-keyframes scaleUpTo {
159
- to { opacity: 0; -moz-transform: scale(1.5); }
160
- }
161
- @keyframes scaleUpTo {
162
- to { opacity: 0; transform: scale(1.5); }
163
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
owl-carousel/sa-owl-theme.css ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ ##############################################################
3
+ ### OWL CAROUSEL THEME (CSS) FOR THE SLIDE ANYTHING PLUGIN ###
4
+ ##############################################################
5
+ */
6
+
7
+ .owl-carousel .owl-stage-outer {
8
+ width:100% !important;
9
+ }
10
+ /* ### ERROR MESSAGES ### */
11
+ #sa_invalid_postid {
12
+ width:100% !important;
13
+ padding:20px 0px !important;
14
+ font-size:16px !important;
15
+ line-height:22px !important;
16
+ color:crimson !important;
17
+ }
18
+ /* ### PAGINATION BUTTONS ### */
19
+ .sa_owl_theme .owl-dots {
20
+ position:absolute;
21
+ width:100%;
22
+ padding:10px 0px 0px !important;
23
+ bottom:-22px !important;
24
+ text-align:center !important;
25
+ font-size:12px !important;
26
+ line-height:12px !important;
27
+ }
28
+ .sa_owl_theme .owl-dots .owl-dot {
29
+ display: inline-block !important;
30
+ }
31
+ .sa_owl_theme .owl-dots .owl-dot span {
32
+ display:inline-block !important;
33
+ border-style:none !important;
34
+ background-color:rgba(0,0,0,0.2) !important;
35
+ width:10px !important;
36
+ height:10px !important;
37
+ border-radius:50% !important;
38
+ margin:0px 3px !important;
39
+ transition:all .3s ease-in-out !important;
40
+ -webkit-transition:all .3s ease-in-out !important;
41
+ -moz-transition:all .3s ease-in-out !important;
42
+ -o-transition:all .3s ease-in-out !important;
43
+ }
44
+ .sa_owl_theme .owl-dots .active span {
45
+ background-color:rgba(0,0,0,0.5) !important;
46
+ }
47
+ .sa_owl_theme .owl-dots .owl-dot span:hover {
48
+ background-color:rgba(0,0,0,0.5) !important;
49
+ }
50
+ .owl-pagination-true {
51
+ margin-bottom:22px !important;
52
+ }
53
+
54
+ /* ### PREVIOUS AND NEXT ARROW BUTTONS ### */
55
+ .sa_owl_theme .owl-nav {
56
+ display:block !important;
57
+ }
58
+ .autohide-arrows .owl-nav {
59
+ display:none !important;
60
+ }
61
+ .autohide-arrows:hover .owl-nav {
62
+ display:block !important;
63
+ }
64
+ .sa_owl_theme .owl-nav div {
65
+ position:absolute;
66
+ top:50%;
67
+ padding:2px 0px !important;
68
+ display:inline-block;
69
+ margin-top:-20px !important;
70
+ line-height:30px !important;
71
+ height:40px !important;
72
+ width:30px !important;
73
+ transition:all .3s ease-in-out !important;
74
+ -webkit-transition:all .3s ease-in-out !important;
75
+ -moz-transition:all .3s ease-in-out !important;
76
+ -o-transition:all .3s ease-in-out !important;
77
+ }
78
+ .sa_owl_theme .owl-nav .owl-prev {
79
+ left:10px;
80
+ }
81
+ .sa_owl_theme .owl-nav .owl-next {
82
+ right:10px;
83
+ }
84
+ .sa_owl_theme .disabled .owl-prev,
85
+ .sa_owl_theme .disabled .owl-next {
86
+ display:none !important;
87
+ }
88
+ /* WHITE COLOR SCHEME */
89
+ .white .sa_owl_theme .owl-nav .owl-prev {
90
+ background:rgba(0,0,0,0.3) url('../images/icon_prev.png') no-repeat center center !important;
91
+ }
92
+ .white .sa_owl_theme .owl-nav .owl-next {
93
+ background:rgba(0,0,0,0.3) url('../images/icon_next.png') no-repeat center center !important;
94
+ }
95
+ .white .sa_owl_theme .owl-nav .owl-prev:hover,
96
+ .white .sa_owl_theme .owl-nav .owl-next:hover {
97
+ background-color:rgba(0,0,0,0.8) !important;
98
+ }
99
+ /* BLACK COLOR SCHEME */
100
+ .black .sa_owl_theme .owl-nav .owl-prev {
101
+ background:rgba(255,255,255,0.3) url('../images/black_icon_prev.png') no-repeat center center !important;
102
+ }
103
+ .black .sa_owl_theme .owl-nav .owl-next {
104
+ background:rgba(255,255,255,0.3) url('../images/black_icon_next.png') no-repeat center center !important;
105
+ }
106
+ .black .sa_owl_theme .owl-nav .owl-prev:hover,
107
+ .black .sa_owl_theme .owl-nav .owl-next:hover {
108
+ background-color:rgba(255,255,255,0.8) !important;
109
+ }
110
+
111
+ /* ### LINK, ZOOM AND VIDEO POPUP ICONS ### */
112
+ .sa_owl_theme .owl-item .sa_hover_container .sa_hover_buttons {
113
+ width:auto;
114
+ height:auto;
115
+ position:absolute;
116
+ border-radius:0px !important;
117
+ z-index:2;
118
+ cursor:pointer;
119
+ background:transparent !important;
120
+ }
121
+ .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_slide_link_icon,
122
+ .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_popup_zoom_icon,
123
+ .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_popup_video_icon,
124
+ .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_slide_link_icon,
125
+ .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_zoom_icon,
126
+ .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_video_icon {
127
+ display:block;
128
+ float:left;
129
+ width:40px;
130
+ height:40px;
131
+ }
132
+ .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_slide_link_icon:hover,
133
+ .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_zoom_icon:hover,
134
+ .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_video_icon:hover {
135
+ transition:background-color .3s ease-in-out, background-image .3s ease-in-out !important;
136
+ -webkit-transition:background-color .3s ease-in-out, background-image .3s ease-in-out !important;
137
+ -moz-transition:background-color .3s ease-in-out, background-image .3s ease-in-out !important;
138
+ -o-transition:background-color .3s ease-in-out, background-image .3s ease-in-out !important;
139
+ }
140
+ /* WHITE COLOR SCHEME */
141
+ .white .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_slide_link_icon,
142
+ .white .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_slide_link_icon {
143
+ background:rgba(0,0,0,0.3) url('../images/slide_link.png') no-repeat center center !important;
144
+ }
145
+ .white .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_popup_zoom_icon,
146
+ .white .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_zoom_icon {
147
+ background:rgba(0,0,0,0.3) url('../images/lightbox_zoom.png') no-repeat center center !important;
148
+ }
149
+ .white .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_popup_video_icon,
150
+ .white .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_video_icon {
151
+ background:rgba(0,0,0,0.3) url('../images/lightbox_video.png') no-repeat center center !important;
152
+ }
153
+ .white .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_slide_link_icon:hover,
154
+ .white .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_zoom_icon:hover,
155
+ .white .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_video_icon:hover {
156
+ background-color:rgba(0,0,0,0.8) !important;
157
+ }
158
+ /* BLACK COLOR SCHEME */
159
+ .black .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_slide_link_icon,
160
+ .black .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_slide_link_icon {
161
+ background:rgba(255,255,255,0.3) url('../images/black_slide_link.png') no-repeat center center !important;
162
+ }
163
+ .black .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_popup_zoom_icon,
164
+ .black .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_zoom_icon {
165
+ background:rgba(255,255,255,0.3) url('../images/black_lightbox_zoom.png') no-repeat center center !important;
166
+ }
167
+ .black .sa_owl_theme .owl-item .sa_hover_container .always_visible .sa_popup_video_icon,
168
+ .black .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_video_icon {
169
+ background:rgba(255,255,255,0.3) url('../images/black_lightbox_video.png') no-repeat center center !important;
170
+ }
171
+ .black .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_slide_link_icon:hover,
172
+ .black .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_zoom_icon:hover,
173
+ .black .sa_owl_theme .owl-item .sa_hover_container:hover .sa_hover_buttons .sa_popup_video_icon:hover {
174
+ background-color:rgba(255,255,255,0.8) !important;
175
+ }
176
+
177
+
178
+ .sa_custom_popup {
179
+ position:relative;
180
+ padding:20px;
181
+ width:auto;
182
+ margin:20px auto;
183
+ }
php/slide-anything-admin.php CHANGED
@@ -5,12 +5,14 @@
5
 
6
  // ##### PLUGIN REGISTRATION HOOK - RUN WHEN THE PLUGIN IS ACTIVATED #####
7
  function cpt_slider_plugin_activation() {
 
 
8
  // INSERT A 'SAMPLE SLIDER' CUSTOM POST INTO THE DATABASE
9
  $sample_post_title = 'Sample Slider';
10
-
11
  // check if the 'sample slider' already exists (plugin has been activated before)
12
  $cpt_post = get_page_by_title($sample_post_title, 'OBJECT', 'sa_slider');
13
-
14
  if (is_null($cpt_post)) {
15
  // create the post object
16
  $sample_post = array(
@@ -21,7 +23,7 @@ function cpt_slider_plugin_activation() {
21
  );
22
  // insert the post into the database
23
  $cpt_id = wp_insert_post($sample_post);
24
-
25
  // insert meta data for the 'sample slider' slides
26
  for ($i = 1; $i <= 8; $i++) {
27
  if ($i == 1) {
@@ -52,19 +54,32 @@ function cpt_slider_plugin_activation() {
52
  update_post_meta($cpt_id, "sa_slide".$i."_image_size", "contain");
53
  update_post_meta($cpt_id, "sa_slide".$i."_image_repeat", "no-repeat");
54
  update_post_meta($cpt_id, "sa_slide".$i."_image_color", $color);
55
-
 
 
 
 
 
 
 
 
 
 
 
56
  }
57
  // insert meta data for the 'sample slider' configuration
58
  update_post_meta($cpt_id, 'sa_disable_visual_editor', '0');
59
  update_post_meta($cpt_id, 'sa_num_slides', 8);
60
  update_post_meta($cpt_id, 'sa_slide_duration', 4);
61
  update_post_meta($cpt_id, 'sa_slide_transition', 0.3);
 
62
  update_post_meta($cpt_id, 'sa_loop_slider', '1');
63
  update_post_meta($cpt_id, 'sa_stop_hover', '1');
64
  update_post_meta($cpt_id, 'sa_nav_arrows', '1');
65
  update_post_meta($cpt_id, 'sa_pagination', '1');
66
- update_post_meta($cpt_id, 'sa_shortcodes', '1');
67
  update_post_meta($cpt_id, 'sa_random_order', '1');
 
68
  update_post_meta($cpt_id, 'sa_mouse_drag', '1');
69
  update_post_meta($cpt_id, 'sa_touch_drag', '1');
70
  update_post_meta($cpt_id, 'sa_items_width1', 1);
@@ -83,21 +98,70 @@ function cpt_slider_plugin_activation() {
83
  update_post_meta($cpt_id, 'sa_wrapper_padd_right', 8);
84
  update_post_meta($cpt_id, 'sa_wrapper_padd_bottom', 8);
85
  update_post_meta($cpt_id, 'sa_wrapper_padd_left', 8);
86
- update_post_meta($cpt_id, 'sa_slide_min_height', 100);
87
  update_post_meta($cpt_id, 'sa_slide_padding_tb', 5);
88
  update_post_meta($cpt_id, 'sa_slide_padding_lr', 5);
 
89
  update_post_meta($cpt_id, 'sa_autohide_arrows', '1');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  }
91
  }
92
 
93
  /* ##### ACTION HOOK - REGISTER SCRIPTS (JS AND CSS) FOR WORDPRESS DASHBOARD ONLY ##### */
94
  function cpt_register_admin_scripts() {
 
95
  $screen = get_current_screen();
96
  if ($screen->post_type == 'sa_slider') {
97
  // ONLY LOAD SCRIPTS (JS & CSS) WITHIN 'Slide Anything' SCREENS IN WORDPRESS DASHBOARD
98
  // load 'wordpress jquery-ui' scripts
99
  wp_enqueue_script( 'jquery-ui-core' );
100
  wp_enqueue_script( 'jquery-ui-accordion' );
 
101
  wp_enqueue_script( 'jquery-ui-slider' );
102
  wp_enqueue_script( 'jquery-ui-sortable' );
103
  wp_enqueue_script( 'jquery-ui-draggable' );
@@ -118,16 +182,30 @@ function cpt_register_admin_scripts() {
118
  // load 'slide-anything' custom javasript and css for wordpress admin
119
  wp_register_script('sa-slider-admin-script', SA_PLUGIN_PATH.'js/slide-anything-admin.js', array( 'jquery' ));
120
  wp_enqueue_script('sa-slider-admin-script');
121
- wp_register_style('sa-slider-admin-css', SA_PLUGIN_PATH.'css/slide-anything-admin.css');
122
  wp_enqueue_style('sa-slider-admin-css');
 
 
 
 
 
 
 
123
  // DISABLE AUTOSAVE FOR THIS CUSTOM POST TYPE (causes issues with preview modal popup)
124
  wp_dequeue_script('autosave');
125
  }
 
 
 
 
 
126
  // style for TINYMCE editor 'Slide Anything sliders' button
127
  wp_register_style('tinymce-css', SA_PLUGIN_PATH.'css/tinymce_style.css');
128
  wp_enqueue_style('tinymce-css');
129
  }
130
 
 
 
131
  // ##### ACTION HOOK - REGISTER THE 'Slide Anything' CUSTOM POST TYPE #####
132
  function cpt_slider_register() {
133
  $labels = array(
@@ -182,7 +260,7 @@ function cpt_slider_modify_columns($columns) {
182
  'slides' => 'Slides',
183
  'shortcode' => 'Shortcode',
184
  'css-id' => 'CSS ID'
185
- );
186
  $columns = array_slice($columns, 0, 2, true) + $new_columns + array_slice($columns, 2, NULL, true);
187
  return $columns;
188
  }
@@ -190,7 +268,7 @@ function cpt_slider_modify_columns($columns) {
190
  function cpt_slider_custom_column_content($column) {
191
  // get post object for this row
192
  global $post;
193
-
194
  // output for the 'Slides' column
195
  if ($column == 'slides') {
196
  $num_slides = get_post_meta($post->ID, 'sa_num_slides', true);
@@ -199,13 +277,13 @@ function cpt_slider_custom_column_content($column) {
199
  }
200
  echo esc_html($num_slides);
201
  }
202
-
203
  // output for the 'Shortcode' column
204
  if ($column == 'shortcode') {
205
  $shortcode = "[slide-anything id='".$post->ID."']";
206
  echo esc_html($shortcode);
207
  }
208
-
209
  // output for the 'CSS ID' column
210
  if ($column == 'css-id') {
211
  $css_id = get_post_meta($post->ID, 'sa_css_id', true);
@@ -246,22 +324,25 @@ function register_tinymce_button($buttons) {
246
  return $buttons;
247
  }
248
  function get_tinymce_shortcode_array() {
249
- // display 2 javascript arrays (in footer) containing all the slide anything post titles and post ids
250
- // these 2 arrays are used to display the shortcode options by the TinyMCE button
251
- echo "<script type='text/javascript'>\n";
252
- echo "var sa_title_arr = new Array();\n";
253
- echo "var sa_id_arr = new Array();\n";
254
-
255
- $args = array('post_type' => 'sa_slider', 'post_status' => 'publish', 'posts_per_page' => -1);
256
- $sa_slider_query = new WP_Query($args);
257
- $count = 0;
258
- while ($sa_slider_query->have_posts()) : $sa_slider_query->the_post();
259
- $title = get_the_title();
260
- echo "sa_title_arr[".$count."] = '".$title."';\n";
261
- echo "sa_id_arr[".$count."] = '".get_the_ID()."';\n";
262
- $count++;
263
- endwhile;
264
- echo "</script>\n";
 
 
 
265
  }
266
 
267
 
@@ -269,7 +350,7 @@ function get_tinymce_shortcode_array() {
269
  // ##### ACTION HOOK - ADD META BOXES TO THE 'Slide Anything' CUSTOM POST TYPE #####
270
  function cpt_slider_add_meta_boxes() {
271
  global $post;
272
-
273
  $info_added = get_post_meta($post->ID, 'sa_info_added', true);
274
  $info_deleted = get_post_meta($post->ID, 'sa_info_deleted', true);
275
  $info_duplicated = get_post_meta($post->ID, 'sa_info_duplicated', true);
@@ -331,11 +412,12 @@ function cpt_slide_moved_content() {
331
  // ##### META BOX CONTENT - 'Slider Settings' BOX #####
332
  function cpt_slider_settings_content($post) {
333
  $num_slides = get_post_meta($post->ID, 'sa_num_slides', true);
334
-
 
335
  echo "<div id='sa_slider_settings'>\n";
336
  // NONCE TO PREVENT CSRF SECURITY ATTACKS
337
  wp_nonce_field(basename(__FILE__), 'nonce_save_slider');
338
-
339
  // HIDDEN FIELD - NUMBER OF SLIDES
340
  if ($num_slides == '') {
341
  // new slider is being created
@@ -357,6 +439,12 @@ function cpt_slider_settings_content($post) {
357
  echo "<input type='hidden' id='sa_duplicate_slide' name='sa_duplicate_slide' value='0'/>\n";
358
  // HIDDEN FIELD - MOVE SLIDE UP (SLIDE NUMBER)
359
  echo "<input type='hidden' id='sa_move_slide_up' name='sa_move_slide_up' value='0'/>\n";
 
 
 
 
 
 
360
  // SLIDE DURATION
361
  $slide_duration = get_post_meta($post->ID, 'sa_slide_duration', true);
362
  if ($slide_duration == '') {
@@ -375,6 +463,15 @@ function cpt_slider_settings_content($post) {
375
  echo "<input type='text' id='sa_slide_transition' name='sa_slide_transition' readonly value='".esc_attr($slide_transition)."'><em>seconds</em>\n";
376
  echo "<em class='sa_tooltip' href='' title='The time it takes to change from one slide to the next slide'></em></div>\n";
377
  echo "<div class='jquery_ui_slider' id='jq_slider_transition'></div><hr/>\n";
 
 
 
 
 
 
 
 
 
378
  echo "<div class='half_width_column'>\n";
379
  // LOOP SLIDER
380
  $loop_slider = get_post_meta($post->ID, 'sa_loop_slider', true);
@@ -415,10 +512,23 @@ function cpt_slider_settings_content($post) {
415
  }
416
  echo "<em class='sa_tooltip' title='When checked slides will be randomly re-ordered whenever the slider is displayed'></em>";
417
  echo "</div>\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
418
  // ALLOW SHORTCODES
419
  $shortcodes = get_post_meta($post->ID, 'sa_shortcodes', true);
420
  if ($shortcodes == '') {
421
- $shortcodes = '1';
422
  }
423
  echo "<div class='sa_setting_checkbox'><span>Allow Shortcodes:</span>";
424
  if ($shortcodes == '1') {
@@ -426,7 +536,7 @@ function cpt_slider_settings_content($post) {
426
  } else {
427
  echo "<input type='checkbox' id='sa_shortcodes' name='sa_shortcodes' value='1'/>";
428
  }
429
- echo "<em class='sa_tooltip' href='' title='NOTE: Running shortcodes in Slide Anything may cause issues with some Wordpress Page Builders'></em>\n";
430
  echo "</div>\n";
431
  echo "</div>\n";
432
  echo "<div class='half_width_column'>\n";
@@ -456,7 +566,7 @@ function cpt_slider_settings_content($post) {
456
  }
457
  echo "<em class='sa_tooltip' href='' title='Display slider pagination below the slider'></em>\n";
458
  echo "</div>\n";
459
-
460
  // MOUSE DRAG
461
  $mouse_drag = get_post_meta($post->ID, 'sa_mouse_drag', true);
462
  if ($mouse_drag == '') {
@@ -493,6 +603,7 @@ function cpt_slider_settings_content($post) {
493
  // ##### META BOX CONTENT - 'Slides' BOX #####
494
  function cpt_slider_slides_content($post) {
495
  $num_slides = get_post_meta($post->ID, 'sa_num_slides', true);
 
496
  // DISABLE VISUAL EDITOR CHECKBOX
497
  $disable_visual_editor = get_post_meta($post->ID, 'sa_disable_visual_editor', true);
498
  if ($disable_visual_editor == '') {
@@ -523,6 +634,8 @@ function cpt_slider_slides_content($post) {
523
  $slide_data[0]['image_size'] = "sa_slide1_image_size";
524
  $slide_data[0]['image_repeat'] = "sa_slide1_image_repeat";
525
  $slide_data[0]['image_color'] = "sa_slide1_image_color";
 
 
526
  $slide_data[0]['slide_no'] = 1;
527
  $slide_data[1]['edit_id'] = "sa_slide2_content";
528
  $slide_data[1]['content'] = "Slide content";
@@ -534,6 +647,8 @@ function cpt_slider_slides_content($post) {
534
  $slide_data[1]['image_size'] = "sa_slide2_image_size";
535
  $slide_data[1]['image_repeat'] = "sa_slide2_image_repeat";
536
  $slide_data[1]['image_color'] = "sa_slide2_image_color";
 
 
537
  $slide_data[1]['slide_no'] = 2;
538
  $slide_data[2]['edit_id'] = "sa_slide3_content";
539
  $slide_data[2]['content'] = "Slide content";
@@ -545,7 +660,41 @@ function cpt_slider_slides_content($post) {
545
  $slide_data[2]['image_size'] = "sa_slide3_image_size";
546
  $slide_data[2]['image_repeat'] = "sa_slide3_image_repeat";
547
  $slide_data[2]['image_color'] = "sa_slide3_image_color";
548
- $slide_data[2]['slide_no'] = 3;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
549
  } else {
550
  // AN EXISTING SLIDER - GET SLIDE DATA FROM THE DATABASE AND SAVE WITHIN AN ARRAY
551
  $num_slides = intval($num_slides);
@@ -565,23 +714,73 @@ function cpt_slider_slides_content($post) {
565
  $slide_data[$count]['image_size'] = "sa_slide".$i."_image_size";
566
  $slide_data[$count]['image_repeat'] = "sa_slide".$i."_image_repeat";
567
  $slide_data[$count]['image_color'] = "sa_slide".$i."_image_color";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
568
  $slide_data[$count]['slide_no'] = $i;
569
  $count++;
570
  }
571
  }
572
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
573
  // ###### LOOP TO DISPLAY INPUT ELEMENTS FOR EACH SLIDE ######
574
  echo "<div id='slider_accordion'>\n";
575
  for ($i = 0; $i < count($slide_data); $i++) {
576
  echo "<h3>Slide ".$slide_data[$i]['slide_no']."</h3>\n";
577
  echo "<div>\n";
578
-
579
  // ### DISPLAY THE SLIDE CONTENT EDITOR (textarea field) ###
580
  //wp_editor($slide_data[$i]['content'], wp_kses_post($slide_data[$i]['edit_id']), $editor_args);
581
  wp_editor($slide_data[$i]['content'], $slide_data[$i]['edit_id'], $editor_args);
582
-
583
- // ### BACKGROUND COLOR/IMAGE FIELDS ###
584
- // GET BACKGROUND IMAGE DATA FOR THIS SLIDE (image id, position, size, repeat and color)
 
 
 
 
 
 
 
 
 
 
 
 
 
585
  $slide_image_id = get_post_meta($post->ID, $slide_data[$i]['image_id'], true);
586
  $slide_image_pos = get_post_meta($post->ID, $slide_data[$i]['image_pos'], true);
587
  if ($slide_image_pos == '') {
@@ -599,17 +798,43 @@ function cpt_slider_slides_content($post) {
599
  if ($slide_image_color == '') {
600
  $slide_image_color = "rgba(0,0,0,0)";
601
  }
602
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
603
  // SLIDE BACKGROUND IMAGE - THUMBNAIL AND 'SET IMAGE' BUTTON
604
  // get wordpress media upload frame url
605
  $upload_frame_url = esc_url(get_upload_iframe_src('image', $post->ID)."&slide=".$slide_data[$i]['slide_no']);
606
  // Get image src for slide background image
607
- $slide_image_src = wp_get_attachment_image_src($slide_image_id, 'full');
608
  // check if the slide background image id already exists
609
  $image_exists = is_array($slide_image_src);
610
  // slide backround image - thumbnail (and delete button)
611
- echo "<div class='sa_slide_bg_wrapper'>\n";
612
- echo "<h4>Slide Background</h4>\n";
613
  echo "<div id='".$slide_data[$i]['thumb']."' class='sa_slide_thumb'>\n";
614
  if ($image_exists) {
615
  echo "<div style='background-image:url(\"".esc_attr($slide_image_src[0])."\"); background-size:".esc_attr($slide_image_size)."; ";
@@ -625,10 +850,11 @@ function cpt_slider_slides_content($post) {
625
  echo "</div>\n";
626
  }
627
  // slide background image - 'set image' button
628
- echo "<a class='button button-secondary slide_image_add' href='".esc_attr($upload_frame_url)."' title='Set the background image for this slide'>Set Image</a>\n";
 
629
  // slide background image - image id text field
630
  echo "<input type='hidden' id='".esc_attr($slide_data[$i]['image_id'])."' name='".esc_attr($slide_data[$i]['image_id'])."' value='".esc_attr($slide_image_id)."'/>\n";
631
-
632
  // SLIDE BACKGROUND IMAGE - BACKGROUND POSITION (dropdown box)
633
  echo "<div class='slide_image_settings_line'>";
634
  echo "<span>Background Position:</span>";
@@ -652,7 +878,7 @@ function cpt_slider_slides_content($post) {
652
  }
653
  echo "</select>";
654
  echo "</div>\n";
655
-
656
  // SLIDE BACKGROUND IMAGE - BACKGROUND SIZE (dropdown box)
657
  echo "<div class='slide_image_settings_line'>";
658
  echo "<span>Background Size:</span>";
@@ -691,41 +917,367 @@ function cpt_slider_slides_content($post) {
691
  echo "<option value='".esc_attr($option_arr[$j])."'>".esc_html($option_arr[$j])."</option>";
692
  }
693
  }
694
- echo "</select>";
695
  echo "</div>\n";
696
-
697
  // SLIDER BACKGROUND IMAGE - BACKGROUND COLOR (color picker)
698
  echo "<div class='slide_image_settings_line'>";
699
  echo "<span>Background Color:</span>";
700
  echo "<input type='text' id='".esc_attr($slide_data[$i]['image_color'])."' name='".esc_attr($slide_data[$i]['image_color'])."' value='".esc_attr($slide_image_color)."' ";
701
  echo "onChange='change_slide_image_color(".esc_attr($slide_data[$i]['slide_no']).");'>";
702
  echo "</div>\n";
703
-
704
  echo "<div style='clear:both; float:none; width:100%; height:1px;'></div>\n";
705
  echo "</div>\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
706
 
707
  // 3. DELETE STATUS FIELD (hidden) AND DELETE SLIDE BUTTON
708
  echo "<input type='hidden' id='".esc_attr($slide_data[$i]['del_id'])."' name='".esc_attr($slide_data[$i]['del_id'])."' value='1'/>\n";
709
  echo "<div class='button button-secondary' onClick='delete_sa_slide(\"".esc_attr($slide_data[$i]['del_id'])."\");' title='Delete this slide'>Delete Slide</div>\n";
710
-
711
  // 4. DUPLICATE SLIDE BUTTON
712
  echo "<div class='button button-secondary' onClick='duplicate_slide(\"".esc_attr($slide_data[$i]['slide_no'])."\");' title='Duplicate this slide'>Duplicate Slide</div>\n";
713
-
714
  // 5. MOVE SLIDE UP BUTTON
715
  if ($slide_data[$i]['slide_no'] != 1) {
716
  echo "<div class='button button-secondary' onClick='move_slide_up(\"".esc_attr($slide_data[$i]['slide_no'])."\");' title='Move this slide up within the slide order'>Move Slide Up</div>\n";
717
  }
718
-
719
  echo "</div>\n";
720
  }
721
  echo "</div>\n";
722
-
723
  // ADD SLIDE BUTTON
724
- if ($num_slides < 50) {
725
- // a maximum of 50 slides allowed
726
  echo "<div id='sa_add_slide' class='button button-primary button-large' title='Add a new slide'>Add Slide</div>\n";
727
  }
728
-
729
  // JQUERY-UI DIALOG BOX DIV - FOR CONFIRMATION DIALOG BOXES
730
  echo "<div id='sa_dialog_box'></div>\n";
731
  }
@@ -734,23 +1286,25 @@ function cpt_slider_slides_content($post) {
734
 
735
  // ##### META BOX CONTENT - 'Slider Preview/Shortcode' BOX #####
736
  function cpt_slider_shortcode_content($post) {
737
- $shortcode = "[slide-anything id='".$post->ID."']";
 
738
  echo "<div id='sa_slider_shortcode'>".esc_html($shortcode)."</div>\n";
739
-
740
- $metadata = get_metadata('post', $post->ID);
741
- if (count($metadata) != 0) {
742
- // PREVIEW SLIDER BUTTON
743
- echo "<div id='sa_preview_slider' class='button button-secondary button-large' title='Preview the current saved version of this slider' ";
744
- echo "onClick='preview_slider();'>Preview</div>\n";
745
-
746
- // JQUERY-UI DIALOG BOX DIV - FOR PREVIEW POPUP BOX
747
- $shortcode = "[slide-anything id='".$post->ID."']";
748
- echo "<div id='sa_preview_box'>".do_shortcode($shortcode);
749
- echo "<div id='sa_preview_note'><strong>NOTE:</strong> The typography and fonts of this preview may differ from what you see on the front-end website.";
750
- echo "<br/>Each WordPress Theme defines its own style for fonts and typography which may differ from what you see within the WordPress Dashboard.</div></div>\n";
751
- }
752
  echo "<div id='sa_shortcode_copy' class='button button-secondary'>Copy to Clipboard</div>\n";
753
- echo "<div style='clear:both; width:100%; height:1px;'></div>\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
754
  }
755
 
756
 
@@ -769,7 +1323,7 @@ function cpt_slider_items_content($post) {
769
  if ($items_width4 == 0) { $items_width4 = 1; }
770
  if ($items_width5 == 0) { $items_width5 = 1; }
771
  if ($items_width6 == 0) { $items_width6 = $items_width5; }
772
-
773
  echo "<div id='items_displayed_metabox'>\n";
774
  echo "<h4>Browser/Device Width:</h4>\n";
775
  // items for browser width category 1
@@ -813,7 +1367,7 @@ function cpt_slider_items_content($post) {
813
  }
814
  echo "</select></div>\n";
815
  // items for browser width category 5
816
- echo "<div><em class='sa_tooltip' href='' title='1200 to 1399 pixels'></em><span>Desktop Large</span><select name='sa_items_width5'>";
817
  for ($i = 1; $i <= 12; $i++) {
818
  if ($i == $items_width5) {
819
  echo "<option value='".esc_attr($i)."' selected>".esc_html($i)."</option>";
@@ -823,7 +1377,7 @@ function cpt_slider_items_content($post) {
823
  }
824
  echo "</select></div>\n";
825
  // items for browser width category 6
826
- echo "<div><em class='sa_tooltip' href='' title='Over 1400 pixels'></em><span>Desktop X-Large</span><select name='sa_items_width6'>";
827
  for ($i = 1; $i <= 12; $i++) {
828
  if ($i == $items_width6) {
829
  echo "<option value='".esc_attr($i)."' selected>".esc_html($i)."</option>";
@@ -838,10 +1392,17 @@ function cpt_slider_items_content($post) {
838
  $transition = 'fade';
839
  }
840
  $option_arr = array();
841
- $option_arr[0] = 'fade';
842
- $option_arr[1] = 'backSlide';
843
- $option_arr[2] = 'goDown';
844
- $option_arr[3] = 'fadeUp';
 
 
 
 
 
 
 
845
  echo "<div><em class='sa_tooltip' href='' title='NOTE: Slide transitions only work when the above items displayed are ALL SET TO 1'></em>";
846
  echo "<span style='color:firebrick !important;'>Slide Transition</span><select style='max-width:100px !important;' name='sa_transition'>";
847
  for ($i = 0; $i < count($option_arr); $i++) {
@@ -852,7 +1413,7 @@ function cpt_slider_items_content($post) {
852
  }
853
  }
854
  echo "</select></div>\n";
855
-
856
  echo "</div>\n";
857
  }
858
 
@@ -867,11 +1428,12 @@ function cpt_slider_style_content($post) {
867
  }
868
  echo "<div id='slider_style_metabox'>\n";
869
  echo "<h4>CSS <span>#id</span> for Slider:</h4>\n";
 
870
  echo "<input type='text' id='sa_css_id' name='sa_css_id' value='".esc_attr($css_id)."'/>\n";
871
  echo "<div id='css_note_text'>To style slides use CSS selector:</div>";
872
  echo "<div id='css_note_value'>#".esc_html($css_id)." .owl-item</div>";
873
  echo "<div class='ca_style_hr'></div>\n";
874
-
875
  // SLIDER PADDING (TOP, RIGHT, BOTTOM, LEFT)
876
  $wrapper_padd_top = get_post_meta($post->ID, 'sa_wrapper_padd_top', true);
877
  if ($wrapper_padd_top == '') { $wrapper_padd_top = '0'; }
@@ -894,10 +1456,10 @@ function cpt_slider_style_content($post) {
894
  echo "<input type='text' id='sa_wrapper_padd_left' name='sa_wrapper_padd_left' value='".esc_attr($wrapper_padd_left)."'></div>";
895
  echo "</div>\n";
896
  echo "<div style='clear:both; float:none; width:100%; height:10px;'></div>";
897
-
898
  $tooltip = "Style settings for the slider navigation arrows and slider pagination";
899
  echo "<h4>Slider Navigation:<em class='sa_tooltip' title='".esc_attr($tooltip)."'></em></h4>";
900
-
901
  // AUTOHIDE ARROWS
902
  $autohide_arrows = get_post_meta($post->ID, 'sa_autohide_arrows', true);
903
  if ($autohide_arrows == '') {
@@ -913,7 +1475,7 @@ function cpt_slider_style_content($post) {
913
 
914
  $tooltip = "The background color and border around the entire carousel/slider";
915
  echo "<h4>Background/Border:<em class='sa_tooltip' title='".esc_attr($tooltip)."'></em></h4>";
916
-
917
  // SLIDER BACKGROUND COLOR
918
  $background_color = get_post_meta($post->ID, 'sa_background_color', true);
919
  if ($background_color == '') {
@@ -921,7 +1483,7 @@ function cpt_slider_style_content($post) {
921
  }
922
  echo "<div class='ca_style_setting_line'><span>Background:</span>";
923
  echo "<input type='text' id='sa_background_color' name='sa_background_color' value='".esc_attr($background_color)."'></div>\n";
924
-
925
  // SLIDER BORDER (WIDTH & COLOR)
926
  $border_width = get_post_meta($post->ID, 'sa_border_width', true);
927
  if ($border_width == '') {
@@ -934,7 +1496,7 @@ function cpt_slider_style_content($post) {
934
  echo "<div class='ca_style_setting_line'><span>Border Style:</span>";
935
  echo "<input type='text' id='sa_border_width' name='sa_border_width' value='".esc_attr($border_width)."'><em>px</em>";
936
  echo "<input type='text' id='sa_border_color' name='sa_border_color' value='".esc_attr($border_color)."'></div>\n";
937
-
938
  // SLIDER BORDER RADIUS
939
  $border_radius = get_post_meta($post->ID, 'sa_border_radius', true);
940
  if ($border_radius == '') {
@@ -942,20 +1504,45 @@ function cpt_slider_style_content($post) {
942
  }
943
  echo "<div class='ca_style_setting_line'><span>Border Radius:</span>";
944
  echo "<input type='text' id='sa_border_radius' name='sa_border_radius' value='".esc_attr($border_radius)."'></div>\n";
945
-
946
  echo "<div class='ca_style_hr' style='margin-top:10px;'></div>\n";
947
-
948
- $tooltip = "The style settings for each individual slide (within the slider/carousel)";
949
- echo "<h4>SLIDE STYLE:<em class='sa_tooltip' title='".esc_attr($tooltip)."'></em></h4>";
950
-
951
  // SLIDE - MINIMUM HEIGHT
952
- $slide_min_height = get_post_meta($post->ID, 'sa_slide_min_height', true);
953
  if ($slide_min_height == '') {
954
- $slide_min_height = '100';
955
  }
956
- echo "<div class='ca_style_setting_line'><span>Min Height:</span>";
957
- echo "<input type='text' id='sa_slide_min_height' name='sa_slide_min_height' value='".esc_attr($slide_min_height)."'><em>px</em></div>\n";
958
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
959
  // SLIDE - PADDING TOP/BOTTOM
960
  $slide_padding_tb = get_post_meta($post->ID, 'sa_slide_padding_tb', true);
961
  if ($slide_padding_tb == '') {
@@ -964,7 +1551,7 @@ function cpt_slider_style_content($post) {
964
  $tooltip = "Padding space top/bottom for each individual slide";
965
  echo "<div class='ca_style_setting_line' id='ca_style_padding_top_bottom'><span class='sa_tooltip' title='".esc_attr($tooltip)."'>Padding:</span>";
966
  echo "<input type='text' id='sa_slide_padding_tb' name='sa_slide_padding_tb' value='".esc_attr($slide_padding_tb)."'><em>%</em></div>\n";
967
-
968
  // SLIDE - PADDING LEFT/RIGHT
969
  $slide_padding_lr = get_post_meta($post->ID, 'sa_slide_padding_lr', true);
970
  if ($slide_padding_lr == '') {
@@ -973,7 +1560,7 @@ function cpt_slider_style_content($post) {
973
  $tooltip = "Padding space left/right for each individual slide";
974
  echo "<div class='ca_style_setting_line' id='ca_style_padding_left_right'><span class='sa_tooltip' title='".esc_attr($tooltip)."'>Padding:</span>";
975
  echo "<input type='text' id='sa_slide_padding_lr' name='sa_slide_padding_lr' value='".esc_attr($slide_padding_lr)."'><em>%</em></div>\n";
976
-
977
  // SLIDE - MARGIN LEFT/RIGHT
978
  $slide_margin_lr = get_post_meta($post->ID, 'sa_slide_margin_lr', true);
979
  if ($slide_margin_lr == '') {
@@ -982,7 +1569,63 @@ function cpt_slider_style_content($post) {
982
  $tooltip = "Margin space left and right of each slide";
983
  echo "<div class='ca_style_setting_line' id='ca_style_margin_left_right'><span class='sa_tooltip' title='".esc_attr($tooltip)."'>Margin:</span>";
984
  echo "<input type='text' id='sa_slide_margin_lr' name='sa_slide_margin_lr' value='".esc_attr($slide_margin_lr)."'><em>%</em></div>\n";
985
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
986
  echo "</div>\n";
987
  }
988
 
@@ -991,9 +1634,10 @@ function cpt_slider_style_content($post) {
991
  // ##### ACTION HOOK - SAVE CUSTOM POST TYPE ('Slide Anything') DATA #####
992
  function cpt_slider_save_postdata() {
993
  global $post;
994
-
 
995
  // ### VERIFY 1) LOGGED-IN USER IS ADMINISTRATOR AND 2) VALID NONCE TO PREVENT CSRF HACKER ATTACKS ###
996
- if (current_user_can('manage_options') &&
997
  isset($_POST['nonce_save_slider']) && wp_verify_nonce($_POST['nonce_save_slider'], basename(__FILE__))) {
998
  $total_slides = intval($_POST['sa_num_slides']);
999
  if (($_POST['sa_duplicate_slide'] == '') || ($_POST['sa_duplicate_slide'] == '0')) {
@@ -1008,7 +1652,7 @@ function cpt_slider_save_postdata() {
1008
  // A SLIDE NEEDS TO BE MOVED
1009
  $move_slide_up = intval($_POST['sa_move_slide_up']);
1010
  }
1011
-
1012
  // UPDATE CONTENT FOR EACH SLIDE
1013
  $slides_saved = 0;
1014
  for ($i = 1; $i <= $total_slides; $i++) {
@@ -1018,13 +1662,41 @@ function cpt_slider_save_postdata() {
1018
  $slide_image_size = "sa_slide".$i."_image_size";
1019
  $slide_image_repeat = "sa_slide".$i."_image_repeat";
1020
  $slide_image_color = "sa_slide".$i."_image_color";
1021
- //$slide_content = wp_kses_post($_POST[$slide_edit_id]); // SANATIZE (slide 'wp_editor' content to contain valid HTML tags)
1022
- $slide_content = $_POST[$slide_edit_id];
1023
- $slide_image_id_val = abs(intval($_POST[$slide_image_id])); // SANATIZE (slide BG image ID is a valid integer)
1024
- $slide_image_pos_val = sanitize_text_field($_POST[$slide_image_pos]); // SANATIZE (BG image position is a valid text-input string)
1025
- $slide_image_size_val = sanitize_text_field($_POST[$slide_image_size]); // SANATIZE (BG image size is a valid text-input string)
1026
- $slide_image_repeat_val = sanitize_text_field($_POST[$slide_image_repeat]); // SANATIZE (BG image repeat is a valid text-input string)
1027
- $slide_image_color_val = sanitize_text_field($_POST[$slide_image_color]); // SANATIZE (BG color is a valid text-input string)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1028
  // check delete status for slide
1029
  $del_status_id = "sa_slide".$i."_delete";
1030
  if (isset($_POST[$del_status_id]) && ($_POST[$del_status_id] != '')) {
@@ -1043,12 +1715,40 @@ function cpt_slider_save_postdata() {
1043
  $slide_image_size_saved = "sa_slide".$slides_saved."_image_size";
1044
  $slide_image_repeat_saved = "sa_slide".$slides_saved."_image_repeat";
1045
  $slide_image_color_saved = "sa_slide".$slides_saved."_image_color";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1046
  update_post_meta($post->ID, $slide_edit_id_save, $slide_content);
1047
  update_post_meta($post->ID, $slide_image_id_saved, $slide_image_id_val);
1048
  update_post_meta($post->ID, $slide_image_pos_saved, $slide_image_pos_val);
1049
  update_post_meta($post->ID, $slide_image_size_saved, $slide_image_size_val);
1050
  update_post_meta($post->ID, $slide_image_repeat_saved, $slide_image_repeat_val);
1051
  update_post_meta($post->ID, $slide_image_color_saved, $slide_image_color_val);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1052
  if ($i == $duplicate_slide) {
1053
  // the 'duplicate slide' button has been click for this slide - create a new slide that is an exact copy of previous slide
1054
  // (REPEAT THE CODE ABOVE HERE!!!)
@@ -1059,71 +1759,156 @@ function cpt_slider_save_postdata() {
1059
  $slide_image_size_saved = "sa_slide".$slides_saved."_image_size";
1060
  $slide_image_repeat_saved = "sa_slide".$slides_saved."_image_repeat";
1061
  $slide_image_color_saved = "sa_slide".$slides_saved."_image_color";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1062
  update_post_meta($post->ID, $slide_edit_id_save, $slide_content);
1063
  update_post_meta($post->ID, $slide_image_id_saved, $slide_image_id_val);
1064
  update_post_meta($post->ID, $slide_image_pos_saved, $slide_image_pos_val);
1065
  update_post_meta($post->ID, $slide_image_size_saved, $slide_image_size_val);
1066
  update_post_meta($post->ID, $slide_image_repeat_saved, $slide_image_repeat_val);
1067
  update_post_meta($post->ID, $slide_image_color_saved, $slide_image_color_val);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1068
  }
1069
  }
1070
  }
1071
-
1072
  if ($move_slide_up != 0) {
1073
  // A SLIDE NEEDS TO BE MOVED (TWO SLIDES ARE SWAPPED)
1074
  $slide2 = $move_slide_up;
1075
  $slide1 = intval($move_slide_up) - 1;
1076
- //$slide1_content = wp_kses_post($_POST["sa_slide".$slide1."_content"]); // SANATIZE (slide 'wp_editor' content to contain valid HTML tags)
1077
- $slide1_content = $_POST["sa_slide".$slide1."_content"];
1078
- $slide1_image_id = abs(intval($_POST["sa_slide".$slide1."_image_id"])); // SANATIZE (slide BG image ID is a valid integer)
1079
- $slide1_image_pos = sanitize_text_field($_POST["sa_slide".$slide1."_image_pos"]); // SANATIZE (BG image position is a valid text-input string)
1080
- $slide1_image_size = sanitize_text_field($_POST["sa_slide".$slide1."_image_size"]); // SANATIZE (BG image size is a valid text-input string)
1081
- $slide1_image_repeat = sanitize_text_field($_POST["sa_slide".$slide1."_image_repeat"]); // SANATIZE (BG image repeat is a valid text-input string)
1082
- $slide1_image_color = sanitize_text_field($_POST["sa_slide".$slide1."_image_color"]); // SANATIZE (BG color is a valid text-input string)
1083
- //$slide2_content = wp_kses_post($_POST["sa_slide".$slide2."_content"]); // SANATIZE (slide 'wp_editor' content to contain valid HTML tags)
1084
- $slide2_content = $_POST["sa_slide".$slide2."_content"];
1085
- $slide2_image_id = abs(intval($_POST["sa_slide".$slide2."_image_id"])); // SANATIZE (slide BG image ID is a valid integer)
1086
- $slide2_image_pos = sanitize_text_field($_POST["sa_slide".$slide2."_image_pos"]); // SANATIZE (BG image position is a valid text-input string)
1087
- $slide2_image_size = sanitize_text_field($_POST["sa_slide".$slide2."_image_size"]); // SANATIZE (BG image size is a valid text-input string)
1088
- $slide2_image_repeat = sanitize_text_field($_POST["sa_slide".$slide2."_image_repeat"]); // SANATIZE (BG image repeat is a valid text-input string)
1089
- $slide2_image_color = sanitize_text_field($_POST["sa_slide".$slide2."_image_color"]); // SANATIZE (BG color is a valid text-input string)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1090
  update_post_meta($post->ID, "sa_slide".$slide2."_content", $slide1_content);
1091
  update_post_meta($post->ID, "sa_slide".$slide2."_image_id", $slide1_image_id);
1092
  update_post_meta($post->ID, "sa_slide".$slide2."_image_pos", $slide1_image_pos);
1093
  update_post_meta($post->ID, "sa_slide".$slide2."_image_size", $slide1_image_size);
1094
  update_post_meta($post->ID, "sa_slide".$slide2."_image_repeat", $slide1_image_repeat);
1095
  update_post_meta($post->ID, "sa_slide".$slide2."_image_color", $slide1_image_color);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1096
  update_post_meta($post->ID, "sa_slide".$slide1."_content", $slide2_content);
1097
  update_post_meta($post->ID, "sa_slide".$slide1."_image_id", $slide2_image_id);
1098
  update_post_meta($post->ID, "sa_slide".$slide1."_image_pos", $slide2_image_pos);
1099
  update_post_meta($post->ID, "sa_slide".$slide1."_image_size", $slide2_image_size);
1100
  update_post_meta($post->ID, "sa_slide".$slide1."_image_repeat", $slide2_image_repeat);
1101
  update_post_meta($post->ID, "sa_slide".$slide1."_image_color", $slide2_image_color);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1102
  }
1103
-
1104
  // UPDATE SLIDE CONTENT CHARACTER COUNT
1105
  $total_slides = get_post_meta($post->ID, 'sa_num_slides', true);
1106
  for ($i = 1; $i <= $total_slides; $i++) {
1107
  $slide_content = get_post_meta($post->ID, "sa_slide".$i."_content", true);
1108
  $char_count = strlen($slide_content);
1109
  update_post_meta($post->ID, "sa_slide".$i."_char_count", $char_count);
1110
- }
1111
-
1112
  // UPDATE SLIDER SETTINGS
1113
- update_post_meta($post->ID, 'sa_num_slides', abs(intval($slides_saved))); // SANATIZE (valid integer value)
1114
  if (isset($_POST['sa_disable_visual_editor']) && ($_POST['sa_disable_visual_editor'] == '1')) {
1115
  update_post_meta($post->ID, 'sa_disable_visual_editor', '1');
1116
  } else {
1117
  update_post_meta($post->ID, 'sa_disable_visual_editor', '0');
1118
  }
1119
- update_post_meta($post->ID, 'sa_info_added', abs(intval($_POST['sa_info_added']))); // SANATIZE (valid integer value)
1120
- update_post_meta($post->ID, 'sa_info_deleted', abs(intval($_POST['sa_info_deleted']))); // SANATIZE (valid integer value)
1121
- update_post_meta($post->ID, 'sa_duplicate_slide', abs(intval($_POST['sa_duplicate_slide']))); // SANATIZE (valid integer value)
1122
- update_post_meta($post->ID, 'sa_info_duplicated', abs(intval($_POST['sa_info_duplicated']))); // SANATIZE (valid integer value)
1123
- update_post_meta($post->ID, 'sa_move_slide_up', abs(intval($_POST['sa_move_slide_up']))); // SANATIZE (valid integer value)
1124
- update_post_meta($post->ID, 'sa_info_moved', abs(intval($_POST['sa_info_moved']))); // SANATIZE (valid integer value)
1125
- update_post_meta($post->ID, 'sa_slide_duration', abs(floatval($_POST['sa_slide_duration']))); // SANATIZE (valid float value)
1126
- update_post_meta($post->ID, 'sa_slide_transition', abs(floatval($_POST['sa_slide_transition']))); // SANATIZE (valid float value)
 
1127
  if (isset($_POST['sa_loop_slider']) && ($_POST['sa_loop_slider'] == '1')) {
1128
  update_post_meta($post->ID, 'sa_loop_slider', '1');
1129
  } else {
@@ -1149,6 +1934,11 @@ function cpt_slider_save_postdata() {
1149
  } else {
1150
  update_post_meta($post->ID, 'sa_random_order', '0');
1151
  }
 
 
 
 
 
1152
  if (isset($_POST['sa_shortcodes']) && ($_POST['sa_shortcodes'] == '1')) {
1153
  update_post_meta($post->ID, 'sa_shortcodes', '1');
1154
  } else {
@@ -1164,35 +1954,52 @@ function cpt_slider_save_postdata() {
1164
  } else {
1165
  update_post_meta($post->ID, 'sa_touch_drag', '0');
1166
  }
1167
-
1168
  // UPDATE SLIDER ITEMS DISPLAYED
1169
- update_post_meta($post->ID, 'sa_items_width1', abs(intval($_POST['sa_items_width1']))); // SANATIZE (valid integer value)
1170
- update_post_meta($post->ID, 'sa_items_width2', abs(intval($_POST['sa_items_width2']))); // SANATIZE (valid integer value)
1171
- update_post_meta($post->ID, 'sa_items_width3', abs(intval($_POST['sa_items_width3']))); // SANATIZE (valid integer value)
1172
- update_post_meta($post->ID, 'sa_items_width4', abs(intval($_POST['sa_items_width4']))); // SANATIZE (valid integer value)
1173
- update_post_meta($post->ID, 'sa_items_width5', abs(intval($_POST['sa_items_width5']))); // SANATIZE (valid integer value)
1174
- update_post_meta($post->ID, 'sa_items_width6', abs(intval($_POST['sa_items_width6']))); // SANATIZE (valid integer value)
1175
- update_post_meta($post->ID, 'sa_transition', sanitize_text_field($_POST['sa_transition'])); // SANATIZE (valid text-input string)
1176
-
1177
  // UPDATE SLIDER STYLE
1178
- update_post_meta($post->ID, 'sa_css_id', sanitize_text_field($_POST['sa_css_id'])); // SANATIZE (valid text-input string)
1179
- update_post_meta($post->ID, 'sa_background_color', sanitize_text_field($_POST['sa_background_color'])); // SANATIZE (valid text-input string)
1180
- update_post_meta($post->ID, 'sa_border_width', abs(intval($_POST['sa_border_width']))); // SANATIZE (valid integer value)
1181
- update_post_meta($post->ID, 'sa_border_color', sanitize_text_field($_POST['sa_border_color'])); // SANATIZE (valid text-input string)
1182
- update_post_meta($post->ID, 'sa_border_radius', abs(intval($_POST['sa_border_radius']))); // SANATIZE (valid integer value)
1183
- update_post_meta($post->ID, 'sa_wrapper_padd_top', abs(intval($_POST['sa_wrapper_padd_top']))); // SANATIZE (valid integer value)
1184
- update_post_meta($post->ID, 'sa_wrapper_padd_right', abs(intval($_POST['sa_wrapper_padd_right']))); // SANATIZE (valid integer value)
1185
- update_post_meta($post->ID, 'sa_wrapper_padd_bottom', abs(intval($_POST['sa_wrapper_padd_bottom']))); // SANATIZE (valid integer value)
1186
- update_post_meta($post->ID, 'sa_wrapper_padd_left', abs(intval($_POST['sa_wrapper_padd_left']))); // SANATIZE (valid integer value)
1187
- update_post_meta($post->ID, 'sa_slide_min_height', abs(intval($_POST['sa_slide_min_height']))); // SANATIZE (valid integer value)
1188
- update_post_meta($post->ID, 'sa_slide_padding_tb', abs(floatval($_POST['sa_slide_padding_tb']))); // SANATIZE (valid float value)
1189
- update_post_meta($post->ID, 'sa_slide_padding_lr', abs(floatval($_POST['sa_slide_padding_lr']))); // SANATIZE (valid float value)
1190
- update_post_meta($post->ID, 'sa_slide_margin_lr', abs(floatval($_POST['sa_slide_margin_lr']))); // SANATIZE (valid float value)
 
 
 
1191
  if (isset($_POST['sa_autohide_arrows']) && ($_POST['sa_autohide_arrows'] == '1')) {
1192
  update_post_meta($post->ID, 'sa_autohide_arrows', '1');
1193
  } else {
1194
  update_post_meta($post->ID, 'sa_autohide_arrows', '0');
1195
  }
 
 
 
 
 
 
 
 
 
 
 
 
1196
  }
 
 
1197
  }
1198
  ?>
5
 
6
  // ##### PLUGIN REGISTRATION HOOK - RUN WHEN THE PLUGIN IS ACTIVATED #####
7
  function cpt_slider_plugin_activation() {
8
+ $sa_pro_version = validate_slide_anything_pro_registration();
9
+
10
  // INSERT A 'SAMPLE SLIDER' CUSTOM POST INTO THE DATABASE
11
  $sample_post_title = 'Sample Slider';
12
+
13
  // check if the 'sample slider' already exists (plugin has been activated before)
14
  $cpt_post = get_page_by_title($sample_post_title, 'OBJECT', 'sa_slider');
15
+
16
  if (is_null($cpt_post)) {
17
  // create the post object
18
  $sample_post = array(
23
  );
24
  // insert the post into the database
25
  $cpt_id = wp_insert_post($sample_post);
26
+
27
  // insert meta data for the 'sample slider' slides
28
  for ($i = 1; $i <= 8; $i++) {
29
  if ($i == 1) {
54
  update_post_meta($cpt_id, "sa_slide".$i."_image_size", "contain");
55
  update_post_meta($cpt_id, "sa_slide".$i."_image_repeat", "no-repeat");
56
  update_post_meta($cpt_id, "sa_slide".$i."_image_color", $color);
57
+ update_post_meta($cpt_id, "sa_slide".$i."_link_url", "");
58
+ update_post_meta($cpt_id, "sa_slide".$i."_link_target", "_self");
59
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_type", "NONE");
60
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_imageid", "");
61
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_imagetitle", "");
62
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_video_id", "");
63
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_video_type", "");
64
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_background", "no");
65
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_html", "");
66
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_shortcode", "0");
67
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_bgcol", "#ffffff");
68
+ update_post_meta($cpt_id, "sa_slide".$i."_popup_width", "600");
69
  }
70
  // insert meta data for the 'sample slider' configuration
71
  update_post_meta($cpt_id, 'sa_disable_visual_editor', '0');
72
  update_post_meta($cpt_id, 'sa_num_slides', 8);
73
  update_post_meta($cpt_id, 'sa_slide_duration', 4);
74
  update_post_meta($cpt_id, 'sa_slide_transition', 0.3);
75
+ update_post_meta($cpt_id, 'sa_slide_by', 1);
76
  update_post_meta($cpt_id, 'sa_loop_slider', '1');
77
  update_post_meta($cpt_id, 'sa_stop_hover', '1');
78
  update_post_meta($cpt_id, 'sa_nav_arrows', '1');
79
  update_post_meta($cpt_id, 'sa_pagination', '1');
80
+ update_post_meta($cpt_id, 'sa_shortcodes', '0');
81
  update_post_meta($cpt_id, 'sa_random_order', '1');
82
+ update_post_meta($cpt_id, 'sa_reverse_order', '0');
83
  update_post_meta($cpt_id, 'sa_mouse_drag', '1');
84
  update_post_meta($cpt_id, 'sa_touch_drag', '1');
85
  update_post_meta($cpt_id, 'sa_items_width1', 1);
98
  update_post_meta($cpt_id, 'sa_wrapper_padd_right', 8);
99
  update_post_meta($cpt_id, 'sa_wrapper_padd_bottom', 8);
100
  update_post_meta($cpt_id, 'sa_wrapper_padd_left', 8);
101
+ update_post_meta($cpt_id, 'sa_slide_min_height_perc', 50);
102
  update_post_meta($cpt_id, 'sa_slide_padding_tb', 5);
103
  update_post_meta($cpt_id, 'sa_slide_padding_lr', 5);
104
+ update_post_meta($cpt_id, 'sa_slide_margin_lr', 0);
105
  update_post_meta($cpt_id, 'sa_autohide_arrows', '1');
106
+ update_post_meta($cpt_id, 'sa_slide_icons_location', 'Center Center');
107
+ update_post_meta($cpt_id, 'sa_slide_icons_visible', '0');
108
+ update_post_meta($cpt_id, 'sa_slide_icons_color', 'white');
109
+ }
110
+ }
111
+
112
+ // SLIDE ANYTHING 2.0 UPGRADE NOTICE
113
+ function version_20_upgrade_notice() {
114
+ global $current_user ;
115
+ $user_id = $current_user->ID;
116
+ /* Check that the user hasn't already clicked to ignore the message */
117
+ if (!get_user_meta($user_id, 'sa_ignore_notice')) {
118
+ echo "<div class='notice notice-info'>";
119
+
120
+ echo "<h3 style='margin:0px !important; padding:15px 0px 10px !important; color:crimson;'>SLIDE ANYTHING - UPGRADING TO VERSION 2.0</h3>";
121
+ echo "<p style='margin:0px 0px 30px !important;'>If you are upgrading to version 2.0 from a previous version, and are experiencing ";
122
+ echo "issues with your existing sliders, please <strong>RE-SAVE</strong> all your existing sliders to resolve these issues. ";
123
+ echo "You do this simply by editing each existing Slide Anything slider and then clicking the UPDATE button.";
124
+ echo "<br/>ALSO, if you site is running a CDN CACHE, please ensure you reset/clear this cache.</p>";
125
+
126
+ echo "<div style='float:left; width:170px; margin-right:15px;'><a href='http://edgewebpages.com/' target='_blank'>";
127
+ echo "<img style='width:100%;' src='http://edgewebpages.com/wp-content/uploads/2017/06/slide_anything_pro_product_image.png' /></a></div>";
128
+ echo "<h3 style='margin:0px !important; padding:10px 0px !important;'>SLIDE ANYTHING PRO</h3>";
129
+ echo "<p style='margin:0px 0px 10px !important;'><a href='http://edgewebpages.com/' target='_blank'>SLIDE ANYTHING PRO</a> ";
130
+ echo "adds POPUPS into the mix!!</p>";
131
+ echo "<p style='margin:0px 0px 10px !important;'>With <a href='http://edgewebpages.com/' target='_blank'>SLIDE ANYTHING PRO</a> ";
132
+ echo "each slide can now open a MODAL POPUP, which can be an IMAGE popup, a VIDEO EMBED popup (YouTube/Vimeo), a popup containing ";
133
+ echo "HTML CODE or a popup displaying a WordPress SHORTCODE. This can be a very useful addition to Slide Anything, if you are ";
134
+ echo "wanting to create Image or Video galleries for your websites.</p>";
135
+ echo "<p style='margin:0px 0px 10px !important;'>For more information about Slide Anything PRO, ";
136
+ echo "<a href='http://edgewebpages.com/' target='_blank'>CLICK HERE.</a></p>";
137
+
138
+ echo "<div style='clear:both; float:none; width:100%; height:10px;'></div>";
139
+ echo "<a style='display:inline-block; float:right; padding:7px 10px; background:crimson; color:white; text-decoration:none; ";
140
+ echo "border-radius:5px; font-size:16px;' href='?sa_nag_ignore=0'>Hide this notice</a>";
141
+ echo "<div style='clear:both; float:none; width:100%; height:10px;'></div>";
142
+
143
+ echo "</div>";
144
+ }
145
+ }
146
+ function slide_anything_notice_ignore() {
147
+ global $current_user;
148
+ $user_id = $current_user->ID;
149
+ // If user clicks to ignore the notice, add that to their user meta
150
+ if (isset($_GET['sa_nag_ignore']) && ($_GET['sa_nag_ignore'] == '0')) {
151
+ add_user_meta($user_id, 'sa_ignore_notice', 'true', true);
152
  }
153
  }
154
 
155
  /* ##### ACTION HOOK - REGISTER SCRIPTS (JS AND CSS) FOR WORDPRESS DASHBOARD ONLY ##### */
156
  function cpt_register_admin_scripts() {
157
+ $sa_pro_version = validate_slide_anything_pro_registration();
158
  $screen = get_current_screen();
159
  if ($screen->post_type == 'sa_slider') {
160
  // ONLY LOAD SCRIPTS (JS & CSS) WITHIN 'Slide Anything' SCREENS IN WORDPRESS DASHBOARD
161
  // load 'wordpress jquery-ui' scripts
162
  wp_enqueue_script( 'jquery-ui-core' );
163
  wp_enqueue_script( 'jquery-ui-accordion' );
164
+ wp_enqueue_script( 'jquery-ui-tabs' );
165
  wp_enqueue_script( 'jquery-ui-slider' );
166
  wp_enqueue_script( 'jquery-ui-sortable' );
167
  wp_enqueue_script( 'jquery-ui-draggable' );
182
  // load 'slide-anything' custom javasript and css for wordpress admin
183
  wp_register_script('sa-slider-admin-script', SA_PLUGIN_PATH.'js/slide-anything-admin.js', array( 'jquery' ));
184
  wp_enqueue_script('sa-slider-admin-script');
185
+ wp_register_style('sa-slider-admin-css', SA_PLUGIN_PATH.'css/slide-anything-admin.css', array(), '2.0', 'all');
186
  wp_enqueue_style('sa-slider-admin-css');
187
+ if ($sa_pro_version) {
188
+ // load 'magnific popup' script and css
189
+ wp_register_script('magnific-popup_js', SA_PLUGIN_PATH.'magnific-popup/jquery.magnific-popup.min.js', array('jquery'));
190
+ wp_enqueue_script('magnific-popup_js');
191
+ wp_register_style('magnific-popup_css', SA_PLUGIN_PATH.'magnific-popup/magnific-popup.css');
192
+ wp_enqueue_style('magnific-popup_css');
193
+ }
194
  // DISABLE AUTOSAVE FOR THIS CUSTOM POST TYPE (causes issues with preview modal popup)
195
  wp_dequeue_script('autosave');
196
  }
197
+ if ($screen->id == 'settings_page_sa-settings-page') {
198
+ // SLIDE ANYTHING SETTINGS PAGE - load custom css script
199
+ wp_register_style('sa-slider-admin-css', SA_PLUGIN_PATH.'css/slide-anything-admin.css');
200
+ wp_enqueue_style('sa-slider-admin-css');
201
+ }
202
  // style for TINYMCE editor 'Slide Anything sliders' button
203
  wp_register_style('tinymce-css', SA_PLUGIN_PATH.'css/tinymce_style.css');
204
  wp_enqueue_style('tinymce-css');
205
  }
206
 
207
+
208
+
209
  // ##### ACTION HOOK - REGISTER THE 'Slide Anything' CUSTOM POST TYPE #####
210
  function cpt_slider_register() {
211
  $labels = array(
260
  'slides' => 'Slides',
261
  'shortcode' => 'Shortcode',
262
  'css-id' => 'CSS ID'
263
+ );
264
  $columns = array_slice($columns, 0, 2, true) + $new_columns + array_slice($columns, 2, NULL, true);
265
  return $columns;
266
  }
268
  function cpt_slider_custom_column_content($column) {
269
  // get post object for this row
270
  global $post;
271
+
272
  // output for the 'Slides' column
273
  if ($column == 'slides') {
274
  $num_slides = get_post_meta($post->ID, 'sa_num_slides', true);
277
  }
278
  echo esc_html($num_slides);
279
  }
280
+
281
  // output for the 'Shortcode' column
282
  if ($column == 'shortcode') {
283
  $shortcode = "[slide-anything id='".$post->ID."']";
284
  echo esc_html($shortcode);
285
  }
286
+
287
  // output for the 'CSS ID' column
288
  if ($column == 'css-id') {
289
  $css_id = get_post_meta($post->ID, 'sa_css_id', true);
324
  return $buttons;
325
  }
326
  function get_tinymce_shortcode_array() {
327
+ $screen = get_current_screen();
328
+ if ($screen->post_type != 'envira') { // ### BUG FIX - CLASHING WITH ENVIRA GALLERY (VER 2.0.13) ###
329
+ // display 2 javascript arrays (in footer) containing all the slide anything post titles and post ids
330
+ // these 2 arrays are used to display the shortcode options by the TinyMCE button
331
+ echo "<script type='text/javascript'>\n";
332
+ echo "var sa_title_arr = new Array();\n";
333
+ echo "var sa_id_arr = new Array();\n";
334
+
335
+ $args = array('post_type' => 'sa_slider', 'post_status' => 'publish', 'posts_per_page' => -1);
336
+ $sa_slider_query = new WP_Query($args);
337
+ $count = 0;
338
+ while ($sa_slider_query->have_posts()) : $sa_slider_query->the_post();
339
+ $title = get_the_title();
340
+ echo "sa_title_arr[".$count."] = '".$title."';\n";
341
+ echo "sa_id_arr[".$count."] = '".get_the_ID()."';\n";
342
+ $count++;
343
+ endwhile;
344
+ echo "</script>\n";
345
+ }
346
  }
347
 
348
 
350
  // ##### ACTION HOOK - ADD META BOXES TO THE 'Slide Anything' CUSTOM POST TYPE #####
351
  function cpt_slider_add_meta_boxes() {
352
  global $post;
353
+
354
  $info_added = get_post_meta($post->ID, 'sa_info_added', true);
355
  $info_deleted = get_post_meta($post->ID, 'sa_info_deleted', true);
356
  $info_duplicated = get_post_meta($post->ID, 'sa_info_duplicated', true);
412
  // ##### META BOX CONTENT - 'Slider Settings' BOX #####
413
  function cpt_slider_settings_content($post) {
414
  $num_slides = get_post_meta($post->ID, 'sa_num_slides', true);
415
+ $sa_pro_version = validate_slide_anything_pro_registration();
416
+
417
  echo "<div id='sa_slider_settings'>\n";
418
  // NONCE TO PREVENT CSRF SECURITY ATTACKS
419
  wp_nonce_field(basename(__FILE__), 'nonce_save_slider');
420
+
421
  // HIDDEN FIELD - NUMBER OF SLIDES
422
  if ($num_slides == '') {
423
  // new slider is being created
439
  echo "<input type='hidden' id='sa_duplicate_slide' name='sa_duplicate_slide' value='0'/>\n";
440
  // HIDDEN FIELD - MOVE SLIDE UP (SLIDE NUMBER)
441
  echo "<input type='hidden' id='sa_move_slide_up' name='sa_move_slide_up' value='0'/>\n";
442
+ // HIDDEN FIELD - PRO VERSION
443
+ if ($sa_pro_version) {
444
+ echo "<input type='hidden' id='sa_pro_version' name='sa_pro_version' value='1'/>\n";
445
+ } else {
446
+ echo "<input type='hidden' id='sa_pro_version' name='sa_pro_version' value='0'/>\n";
447
+ }
448
  // SLIDE DURATION
449
  $slide_duration = get_post_meta($post->ID, 'sa_slide_duration', true);
450
  if ($slide_duration == '') {
463
  echo "<input type='text' id='sa_slide_transition' name='sa_slide_transition' readonly value='".esc_attr($slide_transition)."'><em>seconds</em>\n";
464
  echo "<em class='sa_tooltip' href='' title='The time it takes to change from one slide to the next slide'></em></div>\n";
465
  echo "<div class='jquery_ui_slider' id='jq_slider_transition'></div><hr/>\n";
466
+ // SLIDE BY
467
+ $slide_by = get_post_meta($post->ID, 'sa_slide_by', true);
468
+ if ($slide_by == '') {
469
+ $slide_by = 1;
470
+ }
471
+ echo "<div class='sa_slider_value'><span>Slide By:</span>";
472
+ echo "<input type='text' id='sa_slide_by' name='sa_slide_by' readonly value='".esc_attr($slide_by)."'><em>slides</em>";
473
+ echo "<em class='sa_tooltip' href='' title='The number of slides to slide per transition'></em></div>\n";
474
+ echo "<div class='jquery_ui_slider' id='jq_slider_by'></div><hr/>\n";
475
  echo "<div class='half_width_column'>\n";
476
  // LOOP SLIDER
477
  $loop_slider = get_post_meta($post->ID, 'sa_loop_slider', true);
512
  }
513
  echo "<em class='sa_tooltip' title='When checked slides will be randomly re-ordered whenever the slider is displayed'></em>";
514
  echo "</div>\n";
515
+ // REVERSE ORDER
516
+ $reverse_order = get_post_meta($post->ID, 'sa_reverse_order', true);
517
+ if ($reverse_order == '') {
518
+ $reverse_order = '0';
519
+ }
520
+ echo "<div class='sa_setting_checkbox'><span>Reverse Order:</span>";
521
+ if ($reverse_order == '1') {
522
+ echo "<input type='checkbox' id='sa_reverse_order' name='sa_reverse_order' value='1' checked/>";
523
+ } else {
524
+ echo "<input type='checkbox' id='sa_reverse_order' name='sa_reverse_order' value='1'/>";
525
+ }
526
+ echo "<em class='sa_tooltip' title='When checked your slides will be shown in the reverse order (i.e. last slide first)'></em>";
527
+ echo "</div>\n";
528
  // ALLOW SHORTCODES
529
  $shortcodes = get_post_meta($post->ID, 'sa_shortcodes', true);
530
  if ($shortcodes == '') {
531
+ $shortcodes = '0';
532
  }
533
  echo "<div class='sa_setting_checkbox'><span>Allow Shortcodes:</span>";
534
  if ($shortcodes == '1') {
536
  } else {
537
  echo "<input type='checkbox' id='sa_shortcodes' name='sa_shortcodes' value='1'/>";
538
  }
539
+ echo "<em class='sa_tooltip' href='' title='Include WordPree shorcodes within slide content. NOTE: Running shortcodes in Slide Anything may cause issues with some Wordpress Page Builders'></em>\n";
540
  echo "</div>\n";
541
  echo "</div>\n";
542
  echo "<div class='half_width_column'>\n";
566
  }
567
  echo "<em class='sa_tooltip' href='' title='Display slider pagination below the slider'></em>\n";
568
  echo "</div>\n";
569
+
570
  // MOUSE DRAG
571
  $mouse_drag = get_post_meta($post->ID, 'sa_mouse_drag', true);
572
  if ($mouse_drag == '') {
603
  // ##### META BOX CONTENT - 'Slides' BOX #####
604
  function cpt_slider_slides_content($post) {
605
  $num_slides = get_post_meta($post->ID, 'sa_num_slides', true);
606
+ $sa_pro_version = validate_slide_anything_pro_registration();
607
  // DISABLE VISUAL EDITOR CHECKBOX
608
  $disable_visual_editor = get_post_meta($post->ID, 'sa_disable_visual_editor', true);
609
  if ($disable_visual_editor == '') {
634
  $slide_data[0]['image_size'] = "sa_slide1_image_size";
635
  $slide_data[0]['image_repeat'] = "sa_slide1_image_repeat";
636
  $slide_data[0]['image_color'] = "sa_slide1_image_color";
637
+ $slide_data[0]['link_url'] = "sa_slide1_link_url";
638
+ $slide_data[0]['link_target'] = "sa_slide1_link_target";
639
  $slide_data[0]['slide_no'] = 1;
640
  $slide_data[1]['edit_id'] = "sa_slide2_content";
641
  $slide_data[1]['content'] = "Slide content";
647
  $slide_data[1]['image_size'] = "sa_slide2_image_size";
648
  $slide_data[1]['image_repeat'] = "sa_slide2_image_repeat";
649
  $slide_data[1]['image_color'] = "sa_slide2_image_color";
650
+ $slide_data[1]['link_url'] = "sa_slide2_link_url";
651
+ $slide_data[1]['link_target'] = "sa_slide2_link_target";
652
  $slide_data[1]['slide_no'] = 2;
653
  $slide_data[2]['edit_id'] = "sa_slide3_content";
654
  $slide_data[2]['content'] = "Slide content";
660
  $slide_data[2]['image_size'] = "sa_slide3_image_size";
661
  $slide_data[2]['image_repeat'] = "sa_slide3_image_repeat";
662
  $slide_data[2]['image_color'] = "sa_slide3_image_color";
663
+ $slide_data[2]['link_url'] = "sa_slide3_link_url";
664
+ $slide_data[2]['link_target'] = "sa_slide3_link_target";
665
+ $slide_data[2]['slide_no'] = 3;
666
+ if ($sa_pro_version) {
667
+ $slide_data[0]['popup_type'] = "sa_slide1_popup_type";
668
+ $slide_data[0]['popup_imageid'] = "sa_slide1_popup_imageid";
669
+ $slide_data[0]['popup_imagetitle'] = "sa_slide1_popup_imagetitle";
670
+ $slide_data[0]['popup_video_id'] = "sa_slide1_popup_video_id";
671
+ $slide_data[0]['popup_video_type'] = "sa_slide1_popup_video_type";
672
+ $slide_data[0]['popup_background'] = "sa_slide1_popup_background";
673
+ $slide_data[0]['popup_html'] = "sa_slide1_popup_html";
674
+ $slide_data[0]['popup_shortcode'] = "sa_slide1_popup_shortcode";
675
+ $slide_data[0]['popup_bgcol'] = "sa_slide1_popup_bgcol";
676
+ $slide_data[0]['popup_width'] = "sa_slide1_popup_width";
677
+ $slide_data[1]['popup_type'] = "sa_slide2_popup_type";
678
+ $slide_data[1]['popup_imageid'] = "sa_slide2_popup_imageid";
679
+ $slide_data[1]['popup_imagetitle'] = "sa_slide2_popup_imagetitle";
680
+ $slide_data[1]['popup_video_id'] = "sa_slide2_popup_video_id";
681
+ $slide_data[1]['popup_video_type'] = "sa_slide2_popup_video_type";
682
+ $slide_data[1]['popup_background'] = "sa_slide2_popup_background";
683
+ $slide_data[1]['popup_html'] = "sa_slide2_popup_html";
684
+ $slide_data[1]['popup_shortcode'] = "sa_slide2_popup_shortcode";
685
+ $slide_data[1]['popup_bgcol'] = "sa_slide2_popup_bgcol";
686
+ $slide_data[1]['popup_width'] = "sa_slide2_popup_width";
687
+ $slide_data[2]['popup_type'] = "sa_slide3_popup_type";
688
+ $slide_data[2]['popup_imageid'] = "sa_slide3_popup_imageid";
689
+ $slide_data[2]['popup_imagetitle'] = "sa_slide3_popup_imagetitle";
690
+ $slide_data[2]['popup_video_id'] = "sa_slide3_popup_video_id";
691
+ $slide_data[2]['popup_video_type'] = "sa_slide3_popup_video_type";
692
+ $slide_data[2]['popup_background'] = "sa_slide3_popup_background";
693
+ $slide_data[2]['popup_html'] = "sa_slide3_popup_html";
694
+ $slide_data[2]['popup_shortcode'] = "sa_slide3_popup_shortcode";
695
+ $slide_data[2]['popup_bgcol'] = "sa_slide3_popup_bgcol";
696
+ $slide_data[2]['popup_width'] = "sa_slide3_popup_width";
697
+ }
698
  } else {
699
  // AN EXISTING SLIDER - GET SLIDE DATA FROM THE DATABASE AND SAVE WITHIN AN ARRAY
700
  $num_slides = intval($num_slides);
714
  $slide_data[$count]['image_size'] = "sa_slide".$i."_image_size";
715
  $slide_data[$count]['image_repeat'] = "sa_slide".$i."_image_repeat";
716
  $slide_data[$count]['image_color'] = "sa_slide".$i."_image_color";
717
+ $slide_data[$count]['link_url'] = "sa_slide".$i."_link_url";
718
+ $slide_data[$count]['link_target'] = "sa_slide".$i."_link_target";
719
+ if ($sa_pro_version) {
720
+ $slide_data[$count]['popup_type'] = "sa_slide".$i."_popup_type";
721
+ $slide_data[$count]['popup_imageid'] = "sa_slide".$i."_popup_imageid";
722
+ $slide_data[$count]['popup_imagetitle'] = "sa_slide".$i."_popup_imagetitle";
723
+ $slide_data[$count]['popup_video_id'] = "sa_slide".$i."_popup_video_id";
724
+ $slide_data[$count]['popup_video_type'] = "sa_slide".$i."_popup_video_type";
725
+ $slide_data[$count]['popup_background'] = "sa_slide".$i."_popup_background";
726
+ $slide_data[$count]['popup_html'] = "sa_slide".$i."_popup_html";
727
+ $slide_data[$count]['popup_shortcode'] = "sa_slide".$i."_popup_shortcode";
728
+ $slide_data[$count]['popup_bgcol'] = "sa_slide".$i."_popup_bgcol";
729
+ $slide_data[$count]['popup_width'] = "sa_slide".$i."_popup_width";
730
+ }
731
  $slide_data[$count]['slide_no'] = $i;
732
  $count++;
733
  }
734
  }
735
+ // GET AVAILABLE WORDPRESS IMAGE SIZES AND SAVE WITHIN AN ARRAY
736
+ if ($sa_pro_version) {
737
+ // SLIDE ANYTHING PRO VERSION ONLY
738
+ global $_wp_additional_image_sizes;
739
+ $image_size_arr = array();
740
+ $image_size_arr[0]['value'] = "no";
741
+ $image_size_arr[0]['desc'] = "NO";
742
+ $count = 1;
743
+ foreach (get_intermediate_image_sizes() as $image_size) {
744
+ if (in_array($image_size, array('thumbnail', 'medium', 'medium_large', 'large'))) {
745
+ $width = get_option("{$image_size}_size_w");
746
+ $height = get_option("{$image_size}_size_h");
747
+ } elseif (isset($_wp_additional_image_sizes[$image_size])) {
748
+ $width = $_wp_additional_image_sizes[$image_size]['width'];
749
+ $height = $_wp_additional_image_sizes[$image_size]['height'];
750
+ }
751
+ if (($width != 0) && ($height != 0)) {
752
+ $image_size_arr[$count]['value'] = $image_size;
753
+ $image_size_arr[$count]['desc'] = $image_size." (".$width."&times;".$height.")";
754
+ $count++;
755
+ }
756
+ }
757
+ }
758
+
759
  // ###### LOOP TO DISPLAY INPUT ELEMENTS FOR EACH SLIDE ######
760
  echo "<div id='slider_accordion'>\n";
761
  for ($i = 0; $i < count($slide_data); $i++) {
762
  echo "<h3>Slide ".$slide_data[$i]['slide_no']."</h3>\n";
763
  echo "<div>\n";
764
+
765
  // ### DISPLAY THE SLIDE CONTENT EDITOR (textarea field) ###
766
  //wp_editor($slide_data[$i]['content'], wp_kses_post($slide_data[$i]['edit_id']), $editor_args);
767
  wp_editor($slide_data[$i]['content'], $slide_data[$i]['edit_id'], $editor_args);
768
+
769
+ // ##############################
770
+ // ##### SLIDE TABS - START #####
771
+ // ##############################
772
+ $tabs_num = $i + 1;
773
+ echo "<div id='slide_".$tabs_num."_tabs' class='sa_slide_tabs'>\n";
774
+ echo "<ul>\n";
775
+ echo "<li><a href='#slide".$tabs_num."_background_tab'>Slide Background</a></li>\n";
776
+ echo "<li><a href='#slide".$tabs_num."_link_tab'>Slide Link</a></li>\n";
777
+ echo "<li><a href='#slide".$tabs_num."_popup_tab'>Slide Popup</a></li>\n";
778
+ echo "</ul>\n";
779
+
780
+ // ####### SLIDE TAB 1 - SLIDE BACKGROUND #######
781
+ echo "<div id='slide".$tabs_num."_background_tab' class='sa_slide_tab'>\n";
782
+
783
+ // GET BACKGROUND IMAGE DATA FOR THIS SLIDE (image id, position, size, repeat and color) FROM DATABASE
784
  $slide_image_id = get_post_meta($post->ID, $slide_data[$i]['image_id'], true);
785
  $slide_image_pos = get_post_meta($post->ID, $slide_data[$i]['image_pos'], true);
786
  if ($slide_image_pos == '') {
798
  if ($slide_image_color == '') {
799
  $slide_image_color = "rgba(0,0,0,0)";
800
  }
801
+
802
+ echo "<div class='sa_slide_bg_wrapper'>\n";
803
+
804
+ // ### 'USE POPUP IMAGE AS SLIDE BACKGROUND' SETTING ###
805
+ if ($sa_pro_version) {
806
+ // SLIDE ANYTHING PRO VERSION ONLY
807
+ $slide_popup_background = get_post_meta($post->ID, $slide_data[$i]['popup_background'], true);
808
+ if ($slide_popup_background == '') {
809
+ $slide_popup_background = 'no';
810
+ }
811
+ echo "<div class='popup_background_wrapper'>\n";
812
+ echo "<div>Use Popup Image as Slide Background:";
813
+ $tooltip = "Allows you to use the same image you defined as the popup image as the slide background image. You can use a smaller version of the popup image.";
814
+ echo "<em class='sa_tooltip' href='' title='".$tooltip."'></em></div>\n";
815
+ echo "<select id='".esc_attr($slide_data[$i]['popup_background'])."' name='".esc_attr($slide_data[$i]['popup_background'])."' ";
816
+ echo "onChange='change_slide_popup_background(".esc_attr($slide_data[$i]['slide_no']).");'>";
817
+ for ($j = 0; $j < count($image_size_arr); $j++) {
818
+ if ($slide_popup_background == $image_size_arr[$j]['value']) {
819
+ echo "<option value='".esc_attr($image_size_arr[$j]['value'])."' selected>".esc_html($image_size_arr[$j]['desc'])."</option>";
820
+ } else {
821
+ echo "<option value='".esc_attr($image_size_arr[$j]['value'])."'>".esc_html($image_size_arr[$j]['desc'])."</option>";
822
+ }
823
+ }
824
+ echo "</select>";
825
+ echo "</div>\n"; // .popup_background_wrapper
826
+ echo "<div style='clear:both; float:none; width:100%; height:1px;'></div>\n";
827
+ echo "<div id='slide".esc_attr($slide_data[$i]['slide_no'])."_imagebg_popup' class='sa_slide_bg_popup'><div></div></div>\n";
828
+ }
829
+
830
  // SLIDE BACKGROUND IMAGE - THUMBNAIL AND 'SET IMAGE' BUTTON
831
  // get wordpress media upload frame url
832
  $upload_frame_url = esc_url(get_upload_iframe_src('image', $post->ID)."&slide=".$slide_data[$i]['slide_no']);
833
  // Get image src for slide background image
834
+ $slide_image_src = wp_get_attachment_image_src($slide_image_id, 'medium');
835
  // check if the slide background image id already exists
836
  $image_exists = is_array($slide_image_src);
837
  // slide backround image - thumbnail (and delete button)
 
 
838
  echo "<div id='".$slide_data[$i]['thumb']."' class='sa_slide_thumb'>\n";
839
  if ($image_exists) {
840
  echo "<div style='background-image:url(\"".esc_attr($slide_image_src[0])."\"); background-size:".esc_attr($slide_image_size)."; ";
850
  echo "</div>\n";
851
  }
852
  // slide background image - 'set image' button
853
+ echo "<a class='button button-secondary slide_image_add' id='slide".esc_attr($slide_data[$i]['slide_no'])."_image_add' ";
854
+ echo "href='".esc_attr($upload_frame_url)."' title='Set the background image for this slide'>Set Image</a>\n";
855
  // slide background image - image id text field
856
  echo "<input type='hidden' id='".esc_attr($slide_data[$i]['image_id'])."' name='".esc_attr($slide_data[$i]['image_id'])."' value='".esc_attr($slide_image_id)."'/>\n";
857
+
858
  // SLIDE BACKGROUND IMAGE - BACKGROUND POSITION (dropdown box)
859
  echo "<div class='slide_image_settings_line'>";
860
  echo "<span>Background Position:</span>";
878
  }
879
  echo "</select>";
880
  echo "</div>\n";
881
+
882
  // SLIDE BACKGROUND IMAGE - BACKGROUND SIZE (dropdown box)
883
  echo "<div class='slide_image_settings_line'>";
884
  echo "<span>Background Size:</span>";
917
  echo "<option value='".esc_attr($option_arr[$j])."'>".esc_html($option_arr[$j])."</option>";
918
  }
919
  }
920
+ echo "</select>";
921
  echo "</div>\n";
922
+
923
  // SLIDER BACKGROUND IMAGE - BACKGROUND COLOR (color picker)
924
  echo "<div class='slide_image_settings_line'>";
925
  echo "<span>Background Color:</span>";
926
  echo "<input type='text' id='".esc_attr($slide_data[$i]['image_color'])."' name='".esc_attr($slide_data[$i]['image_color'])."' value='".esc_attr($slide_image_color)."' ";
927
  echo "onChange='change_slide_image_color(".esc_attr($slide_data[$i]['slide_no']).");'>";
928
  echo "</div>\n";
929
+
930
  echo "<div style='clear:both; float:none; width:100%; height:1px;'></div>\n";
931
  echo "</div>\n";
932
+ echo "</div>\n";
933
+
934
+ // ####### SLIDE TAB 2 - SLIDE LINK #######
935
+ echo "<div id='slide".$tabs_num."_link_tab' class='sa_slide_tab'>\n";
936
+
937
+ // GET SLIDE LINK DATA FOR THIS SLIDE FROM THE DATABASE
938
+ $slide_link_url = get_post_meta($post->ID, $slide_data[$i]['link_url'], true);
939
+ $slide_link_target = get_post_meta($post->ID, $slide_data[$i]['link_target'], true);
940
+ if ($slide_link_target == '') {
941
+ $slide_link_target = '_self';
942
+ }
943
+
944
+ // DISPLAY INPUT FIELDS FOR SLIDE LINK SETTINGS
945
+ echo "<div class='slide_link_settings_wrapper'>";
946
+ echo "<p>Specify a link URL that this slide opens</h3>";
947
+ // LINK URL
948
+ echo "<div><span>Link URL:</span>";
949
+ echo "<input type='text' id='".esc_attr($slide_data[$i]['link_url'])."' name='".esc_attr($slide_data[$i]['link_url'])."' ";
950
+ echo "value='".esc_attr($slide_link_url)."'/></div>\n";
951
+ // LINK TARGET
952
+ echo "<div><span>Link Target:</span>";
953
+ echo "<select id='".esc_attr($slide_data[$i]['link_target'])."' name='".esc_attr($slide_data[$i]['link_target'])."'>";
954
+ if ($slide_link_target == '_blank') {
955
+ echo "<option value='_self'>Same Tab/Window</option>";
956
+ echo "<option value='_blank' selected>New Tab/Window</option>";
957
+ } else {
958
+ echo "<option value='_self' selected>Same Tab/Window</option>";
959
+ echo "<option value='_blank'>New Tab/Window</option>";
960
+ }
961
+ echo "</select>";
962
+ echo "</div>\n";
963
+
964
+ // URL HASH NAVIGATION
965
+ /*
966
+ $css_id = get_post_meta($post->ID, 'sa_css_id', true);
967
+ $data_hash = "#".$css_id."_slide".sprintf('%02d', $slide_data[$i]['slide_no']);
968
+ echo "<p style='padding:20px 0px 0px;'>URL Hash Navigation</h3>";
969
+ echo "<div><span><em>URL Hash Navication</em> is an Owl Carousel 2.0 feature where you can create links or buttons to navigate ";
970
+ echo "to a specific slide within your slider. See this <a href='https://owlcarousel2.github.io/OwlCarousel2/demos/urlhashnav.html' ";
971
+ echo "target='_blank' style='color:blue;'>EXAMPLE</a> to see how this works.<br/>The link for this slide is:</span>";
972
+ echo "<strong style='padding-left:3px; color:firebrick;'>".$data_hash."</strong></div>";
973
+ */
974
+ echo "</div>\n";
975
+ echo "</div>\n";
976
+
977
+ // ####### SLIDE TAB 3 - SLIDE POPUP #######
978
+ echo "<div id='slide".$tabs_num."_popup_tab' class='sa_slide_tab'>\n";
979
+
980
+ if ($sa_pro_version) {
981
+ // ### SLIDE ANYTHING PRO VERSION ONLY ###
982
+
983
+ // GET SLIDE POPUP DATA FOR THIS SLIDE FROM THE DATABASE
984
+ $slide_popup_type = get_post_meta($post->ID, $slide_data[$i]['popup_type'], true);
985
+ if ($slide_popup_type == '') {
986
+ $slide_popup_type = 'NONE';
987
+ }
988
+ $popup_imageid = intval(get_post_meta($post->ID, $slide_data[$i]['popup_imageid'], true));
989
+ $popup_video_id = get_post_meta($post->ID, $slide_data[$i]['popup_video_id'], true);
990
+ $popup_video_type = get_post_meta($post->ID, $slide_data[$i]['popup_video_type'], true);
991
+ $popup_imagetitle = get_post_meta($post->ID, $slide_data[$i]['popup_imagetitle'], true);
992
+ $popup_html = get_post_meta($post->ID, $slide_data[$i]['popup_html'], true);
993
+ $popup_shortcode = get_post_meta($post->ID, $slide_data[$i]['popup_shortcode'], true);
994
+ $popup_bgcol = get_post_meta($post->ID, $slide_data[$i]['popup_bgcol'], true);
995
+ $popup_width = intval(get_post_meta($post->ID, $slide_data[$i]['popup_width'], true));
996
+ $css_id = get_post_meta($post->ID, 'sa_css_id', true);
997
+
998
+ // POPUP TYPE
999
+ echo "<div class='slide_popup_settings_line'>";
1000
+ echo "<span>SA Popup Type:</span>";
1001
+ $option_arr = array();
1002
+ $option_arr[0] = 'NONE';
1003
+ $option_arr[1] = 'IMAGE';
1004
+ $option_arr[2] = 'VIDEO';
1005
+ $option_arr[3] = 'HTML';
1006
+ echo "<select id='".esc_attr($slide_data[$i]['popup_type'])."' name='".esc_attr($slide_data[$i]['popup_type'])."' ";
1007
+ echo "onChange='change_slide_popup_type(".esc_attr($slide_data[$i]['slide_no']).");'>";
1008
+ for ($j = 0; $j < count($option_arr); $j++) {
1009
+ if ($slide_popup_type == $option_arr[$j]) {
1010
+ echo "<option value='".esc_attr($option_arr[$j])."' selected>".esc_html($option_arr[$j])."</option>";
1011
+ } else {
1012
+ echo "<option value='".esc_attr($option_arr[$j])."'>".esc_html($option_arr[$j])."</option>";
1013
+ }
1014
+ }
1015
+ echo "</select>";
1016
+ echo "</div>\n";
1017
+
1018
+ // A) IMAGE POPUP SETTINGS
1019
+ if ($slide_popup_type == 'IMAGE') {
1020
+ echo "<div id='slide".($i+1)."_image_popup_wrapper' class='image_popup_wrapper'>\n";
1021
+ } else {
1022
+ echo "<div id='slide".($i+1)."_image_popup_wrapper' class='image_popup_wrapper' style='display:none;'>\n";
1023
+ }
1024
+ // get wordpress media upload frame url
1025
+ $upload_popup_frame_url = esc_url(get_upload_iframe_src('image', $post->ID)."&popup=".$slide_data[$i]['slide_no']);
1026
+ // Get image src for slide popup image
1027
+ $popup_image_src = wp_get_attachment_image_src($popup_imageid, 'medium');
1028
+ // check if the slide background image id already exists
1029
+ $image_exists = is_array($popup_image_src);
1030
+ echo "<div id='slide".($i+1)."_popup_thumb' class='slide_popup_thumb'>\n";
1031
+ $placeholder = SA_PLUGIN_PATH."images/image_placeholder.jpg";
1032
+ if ($image_exists) {
1033
+ // media library image id exists - display thumbnail image
1034
+ echo "<div><img src='".$popup_image_src[0]."'/></div>";
1035
+ // display image delete button
1036
+ echo "<span onClick='remove_popup_image(\"".esc_attr($slide_data[$i]['slide_no'])."\", \"".$placeholder."\");' ";
1037
+ echo "id='slide".esc_attr($slide_data[$i]['slide_no'])."_popup_image_del' title='Delete the popup image for this slide'>X</span>\n";
1038
+ // get popup image info (size & dimensions)
1039
+ $popup_image_meta = wp_get_attachment_metadata($popup_imageid);
1040
+ $image_width = $popup_image_meta['width'];
1041
+ $image_height = $popup_image_meta['height'];
1042
+ $info_dim = $image_width." x ".$image_height." pixels";
1043
+ $popup_image_full = wp_get_attachment_image_src($popup_imageid, 'full');
1044
+ $img_headers = get_headers($popup_image_full[0], 1);
1045
+ $info_size = $img_headers["Content-Length"];
1046
+ if ($info_size != '') {
1047
+ $size_unit = 'bytes';
1048
+ if ($info_size > 1048576) {
1049
+ if (!is_array($info_size)) {
1050
+ $info_size = round($info_size / 1048576)." MB";
1051
+ } else {
1052
+ $info_size = '';
1053
+ }
1054
+ } else if ($info_size > 1024) {
1055
+ if (!is_array($info_size)) {
1056
+ $info_size = round($info_size / 1024)." kb";
1057
+ } else {
1058
+ $info_size = '';
1059
+ }
1060
+ }
1061
+ }
1062
+ } else {
1063
+ // no image selected yet - display placeholder image
1064
+ $popup_image_id = 0;
1065
+ echo "<div><img src='".$placeholder."'/></div>";
1066
+ // display image delete button (hidden state)
1067
+ echo "<span class='sa_hidden' onClick='remove_popup_image(\"".esc_attr($slide_data[$i]['slide_no'])."\", \"".esc_attr($placeholder)."\");' ";
1068
+ echo "id='slide".esc_attr($slide_data[$i]['slide_no'])."_popup_image_del' title='Delete the popup image for this slide'>X</span>\n";
1069
+ // reset popup image info (size & dimensions)
1070
+ $info_dim = '';
1071
+ $info_size = '';
1072
+ }
1073
+ echo "</div>\n";
1074
+ // slide popup image - 'set image' button
1075
+ echo "<a class='button button-secondary popup_image_add' href='".esc_attr($upload_popup_frame_url)."' ";
1076
+ echo "title='Set the background image for this slide'>Set Image</a>\n";
1077
+ // slide popup image - 'preview' button
1078
+ $preview_button = "slide".esc_attr($slide_data[$i]['slide_no'])."_popup_image_preview";
1079
+ echo "<div id='".esc_attr($preview_button)."' class='slide_popup_image_preview'>";
1080
+ if ($image_exists) {
1081
+ echo "<a class='button button-secondary' href='".esc_attr($popup_image_full[0])."' title='".esc_attr($popup_imagetitle)."'>Preview</a>";
1082
+ } else {
1083
+ echo "<a class='button button-secondary' href='".esc_attr($placeholder)."' title='".esc_attr($popup_imagetitle)."'>Preview</a>";
1084
+ }
1085
+ echo "</div>\n";
1086
+ // slide popup image - jquery code to generate 'magnific popup' preview
1087
+ echo "<script type='text/javascript'>\n";
1088
+ echo "jQuery(document).ready(function() {\n";
1089
+ echo " jQuery('#".esc_attr($preview_button)." a').magnificPopup({\n";
1090
+ echo " mainClass: 'sa_popup',\n";
1091
+ echo " closeBtnInside: true,\n";
1092
+ echo " type: 'image'\n";
1093
+ echo " });\n";
1094
+ echo "});\n";
1095
+ echo "</script>\n";
1096
+ // slide popup image - popup image id hidden field
1097
+ echo "<input type='hidden' id='".esc_attr($slide_data[$i]['popup_imageid'])."' name='".esc_attr($slide_data[$i]['popup_imageid']);
1098
+ echo "' value='".esc_attr($popup_imageid)."' />\n";
1099
+ // slide popup image - popup image info (title, dimensions & size)
1100
+ echo "<div class='slide_popup_info'>\n";
1101
+ // popup image title
1102
+ echo "<input class='sa_slide_popup_imagetitle' type='text' id='".esc_attr($slide_data[$i]['popup_imagetitle'])."' ";
1103
+ echo "name='".esc_attr($slide_data[$i]['popup_imagetitle'])."' value='".esc_attr($popup_imagetitle)."' ";
1104
+ echo "onChange='change_popup_image_title(this.value, \"".$preview_button."\")' placeholder='Enter popup title'/>\n";
1105
+ // popup dimensions
1106
+ echo "<div id='slide".esc_attr($slide_data[$i]['slide_no'])."_popup_info_dim' class='slide_popup_info_dim'>";
1107
+ echo "<strong>Dimensions:</strong> ".$info_dim."</div>\n";
1108
+ // popup file size
1109
+ echo "<div id='slide".esc_attr($slide_data[$i]['slide_no'])."_popup_info_size' class='slide_popup_info_size'>";
1110
+ if ($info_size != '') {
1111
+ echo "<strong>File Size:</strong> ".$info_size;
1112
+ }
1113
+ echo "</div>\n";
1114
+ echo "</div>\n";
1115
+ echo "<div style='clear:both; float:none; width:100%; height:1px;'></div>\n";
1116
+ echo "</div>\n";
1117
+
1118
+ // B) VIDEO POPUP SETTINGS
1119
+ if ($slide_popup_type == 'VIDEO') {
1120
+ echo "<div id='slide".($i+1)."_video_popup_wrapper' class='video_popup_wrapper'>\n";
1121
+ } else {
1122
+ echo "<div id='slide".($i+1)."_video_popup_wrapper' class='video_popup_wrapper' style='display:none;'>\n";
1123
+ }
1124
+ // set default video values
1125
+ if (($popup_video_type != 'youtube') && ($popup_video_type != 'vimeo')) {
1126
+ $popup_video_type = '';
1127
+ $popup_video_id = '';
1128
+ }
1129
+ if ($popup_video_id == '') {
1130
+ $popup_video_type = '';
1131
+ }
1132
+ // video preview
1133
+ echo "<div id='slide".($i+1)."_video_thumb' class='slide_video_thumb'>\n";
1134
+ if ($popup_video_id != '') {
1135
+ if ($popup_video_type == 'youtube') {
1136
+ echo "<iframe src='https://www.youtube.com/embed/".$popup_video_id."' frameborder='0' allowfullscreen></iframe>\n";
1137
+ } elseif ($popup_video_type == 'vimeo') {
1138
+ echo "<iframe src='https://player.vimeo.com/video/".$popup_video_id."' frameborder='0' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>";
1139
+ } else {
1140
+ echo "<img src='".SA_PLUGIN_PATH."images/video_placeholder.jpg'/>";
1141
+ }
1142
+ } else {
1143
+ echo "<img src='".SA_PLUGIN_PATH."images/video_placeholder.jpg'/>";
1144
+ }
1145
+ echo "<div style='float:none; clear:both; width:100%; height:1px;'></div>\n";
1146
+ echo "</div>\n";
1147
+ // video url (youtube/vimeo) input text box
1148
+ echo "<div class='sa_slide_video_url'>";
1149
+ echo "<input type='text' id='sa_slide".($i+1)."_video_url' name='sa_slide".($i+1)."_video_url' ";
1150
+ echo "placeholder='Enter YouTube or Vimeo URL'/></div>\n";
1151
+ // 'update video' button
1152
+ echo "<a class='button button-secondary' title='Update popup video using the above video URL' ";
1153
+ echo "onClick='update_popup_video(".($i+1).");'>Set Video</a>\n";
1154
+
1155
+ // slide popup video - 'preview' button
1156
+ $video_preview_url = SA_PLUGIN_PATH."images/video_placeholder_admin.jpg";
1157
+ if ($popup_video_id != '') {
1158
+ if ($popup_video_type == 'youtube') {
1159
+ $video_preview_url = "http://www.youtube.com/watch?v=".$popup_video_id;
1160
+ } elseif ($popup_video_type == 'vimeo') {
1161
+ $video_preview_url = "http://vimeo.com/".$popup_video_id;
1162
+ }
1163
+ }
1164
+ $preview_button = "slide".esc_attr($slide_data[$i]['slide_no'])."_popup_video_preview";
1165
+ echo "<div id='".esc_attr($preview_button)."' class='slide_popup_video_preview'>";
1166
+ echo "<a class='button button-secondary' href='".$video_preview_url."'>Preview</a>";
1167
+ echo "</div>\n";
1168
+ // slide popup image - jquery code to generate 'magnific popup' preview
1169
+ echo "<script type='text/javascript'>\n";
1170
+ echo "jQuery(document).ready(function() {\n";
1171
+ echo " jQuery('#".esc_attr($preview_button)." a').magnificPopup({\n";
1172
+ echo " mainClass: 'sa_popup',\n";
1173
+ echo " closeBtnInside: true,\n";
1174
+ echo " type: 'iframe'\n";
1175
+ echo " });\n";
1176
+ echo "});\n";
1177
+ echo "</script>\n";
1178
+ // invalid url error message
1179
+ echo "<div id='sa_slide".($i+1)."_video_invalid_url' class='sa_popup_video_invalid_url'>";
1180
+ echo "URL entered is NOT a valid YouTube or Vimeo URL!</div>\n";
1181
+ // hidden video id text field
1182
+ echo "<input type='hidden' id='".esc_attr($slide_data[$i]['popup_video_id'])."' name='".esc_attr($slide_data[$i]['popup_video_id'])."' ";
1183
+ echo "value='".esc_attr($popup_video_id)."'/>\n";
1184
+ // hidden video type (youtube/vimeo) text field
1185
+ echo "<input type='hidden' id='".esc_attr($slide_data[$i]['popup_video_type'])."' name='".esc_attr($slide_data[$i]['popup_video_type'])."' ";
1186
+ echo "value='".esc_attr($popup_video_type)."'/>\n";
1187
+ echo "<div style='float:none; clear:both; width:100%; height:1px;'></div>\n";
1188
+ echo "</div>\n";
1189
+
1190
+ // C) CONTENT POPUP SETTINGS
1191
+ if ($slide_popup_type == 'HTML') {
1192
+ echo "<div id='slide".($i+1)."_html_popup_wrapper' class='html_popup_wrapper'>\n";
1193
+ } else {
1194
+ echo "<div id='slide".($i+1)."_html_popup_wrapper' class='html_popup_wrapper' style='display:none;'>\n";
1195
+ }
1196
+ // content popup - html
1197
+ echo "<textarea id='".esc_attr($slide_data[$i]['popup_html'])."' name='".esc_attr($slide_data[$i]['popup_html'])."' ";
1198
+ echo "placeholder='Enter HTML Code or WordPress Shortcode'>".esc_attr($popup_html)."</textarea>\n";
1199
+ // content popup - shortcode
1200
+ if ($popup_shortcode == '') {
1201
+ $popup_shortcode = '0';
1202
+ }
1203
+ echo "<div class='slide_popup_settings_line' style='margin:3px 0px 15px;'><span>Shortcode Content:</span>";
1204
+ if ($popup_shortcode == '1') {
1205
+ echo "<input type='checkbox' id='".esc_attr($slide_data[$i]['popup_shortcode'])."' name='".esc_attr($slide_data[$i]['popup_shortcode'])."' value='1' checked/>";
1206
+ } else {
1207
+ echo "<input type='checkbox' id='".esc_attr($slide_data[$i]['popup_shortcode'])."' name='".esc_attr($slide_data[$i]['popup_shortcode'])."' value='1'/>";
1208
+ }
1209
+ echo "<em class='sa_tooltip' href='' title='Use a WordPress shortcode instead of HTML as your popup content'></em>\n";
1210
+ echo "</div>\n";
1211
+ // content popup - css id
1212
+ $popup_id = $css_id."_popup".($i+1);
1213
+ echo "<div class='slide_popup_settings_line'>";
1214
+ echo "<span>Popup CSS ID:</span><div id='sa_slide".($i+1)."_popup_css' class='slide_popup_css'>#".$popup_id."</div>";
1215
+ echo "<strong>(click to copy to clipboard)</strong></div>";
1216
+ // content popup - background color
1217
+ if ($popup_bgcol == '') {
1218
+ $popup_bgcol = "#ffffff";
1219
+ }
1220
+ echo "<div class='slide_popup_settings_line'>";
1221
+ echo "<span>Background Color:</span>";
1222
+ echo "<input type='text' id='".esc_attr($slide_data[$i]['popup_bgcol'])."' name='".esc_attr($slide_data[$i]['popup_bgcol'])."' ";
1223
+ echo "value='".esc_attr($popup_bgcol)."'>";
1224
+ echo "</div>\n";
1225
+ // content popup - width
1226
+ if ($popup_width== '') {
1227
+ $popup_width = '600';
1228
+ }
1229
+ echo "<div class='slide_popup_settings_line'>";
1230
+ echo "<span>Popup Width:</span>";
1231
+ echo "<input type='text' id='".esc_attr($slide_data[$i]['popup_width'])."' name='".esc_attr($slide_data[$i]['popup_width'])."' ";
1232
+ echo "value='".esc_attr($popup_width)."'><em>px</em>";
1233
+ echo "</div>\n";
1234
+
1235
+ echo "</div>\n";
1236
+ } else {
1237
+ // ### SLIDE ANYTHING FREE VERSION - DISPLAY PRO INFORMATION ###
1238
+ echo "<div class='slide_popup_pro_version'>\n";
1239
+ echo "<h4>Available in the PRO VERSION only!</h4>\n";
1240
+ echo "<p>With <strong>SLIDE ANYTHING PRO </strong> each slide can now open a <strong>MODAL POPUP</strong>, which may be one ";
1241
+ echo "of the following:</p>\n";
1242
+ echo "<ul>\n";
1243
+ echo "<li>An <strong>IMAGE</strong> popup, and with multiple image popups you can create a lightbox image gallery.</li>\n";
1244
+ echo "<li>An embedded <strong>VIDEO</strong> popup or gallery, which can contain <em>YouTube</em> or <em>Vimeo</em> videos.</li>\n";
1245
+ echo "<li>Popups containing any custom <strong>HTML</strong> content or WordPress <strong>SHORTCODES</strong> (such as an HTML form).</li>\n";
1246
+ echo "<li>Or your Slide Anything sliders can conatin a combination of image, video, HTML and shortcode popups!</li>\n";
1247
+ echo "</ul>\n";
1248
+ echo "<p>To find out more about <strong>SLIDE ANYTHING PRO</strong>, view demos or get your hands on a copy, click ";
1249
+ echo "<a href='http://edgewebpages.com' title='Slide Anything PRO' target='_blank'>HERE</a>.</p>";
1250
+ echo "</div>\n";
1251
+ }
1252
+ echo "</div>\n";
1253
+
1254
+ // ############################
1255
+ // ##### SLIDE TABS - END #####
1256
+ // ############################
1257
+ echo "</div>\n";
1258
 
1259
  // 3. DELETE STATUS FIELD (hidden) AND DELETE SLIDE BUTTON
1260
  echo "<input type='hidden' id='".esc_attr($slide_data[$i]['del_id'])."' name='".esc_attr($slide_data[$i]['del_id'])."' value='1'/>\n";
1261
  echo "<div class='button button-secondary' onClick='delete_sa_slide(\"".esc_attr($slide_data[$i]['del_id'])."\");' title='Delete this slide'>Delete Slide</div>\n";
1262
+
1263
  // 4. DUPLICATE SLIDE BUTTON
1264
  echo "<div class='button button-secondary' onClick='duplicate_slide(\"".esc_attr($slide_data[$i]['slide_no'])."\");' title='Duplicate this slide'>Duplicate Slide</div>\n";
1265
+
1266
  // 5. MOVE SLIDE UP BUTTON
1267
  if ($slide_data[$i]['slide_no'] != 1) {
1268
  echo "<div class='button button-secondary' onClick='move_slide_up(\"".esc_attr($slide_data[$i]['slide_no'])."\");' title='Move this slide up within the slide order'>Move Slide Up</div>\n";
1269
  }
1270
+
1271
  echo "</div>\n";
1272
  }
1273
  echo "</div>\n";
1274
+
1275
  // ADD SLIDE BUTTON
1276
+ if ($num_slides < 99) {
1277
+ // a maximum of 99 slides allowed
1278
  echo "<div id='sa_add_slide' class='button button-primary button-large' title='Add a new slide'>Add Slide</div>\n";
1279
  }
1280
+
1281
  // JQUERY-UI DIALOG BOX DIV - FOR CONFIRMATION DIALOG BOXES
1282
  echo "<div id='sa_dialog_box'></div>\n";
1283
  }
1286
 
1287
  // ##### META BOX CONTENT - 'Slider Preview/Shortcode' BOX #####
1288
  function cpt_slider_shortcode_content($post) {
1289
+ $post_status = get_post_status($post->ID);
1290
+ $shortcode = '[slide-anything id="'.$post->ID.'"]';
1291
  echo "<div id='sa_slider_shortcode'>".esc_html($shortcode)."</div>\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
1292
  echo "<div id='sa_shortcode_copy' class='button button-secondary'>Copy to Clipboard</div>\n";
1293
+ if ($post_status == 'publish') {
1294
+ echo "<div id='sa_preview_slider' class='button button-secondary' ";
1295
+ echo "onClick='document.getElementById(\"sa_preview_popup\").style.display = \"block\";'>Preview Slider</div>\n";
1296
+ }
1297
+
1298
+ if ($post_status == 'publish') {
1299
+ // DISPLAY SLIDER PREVIEW POPUP
1300
+ echo "<div id='sa_preview_popup' style='display:none;'>\n";
1301
+ echo "<div id='sa_preview_wrapper'>\n";
1302
+ echo "<div id='sa_preview_close' title='Close Slider Preview' ";
1303
+ echo "onClick='document.getElementById(\"sa_preview_popup\").style.display = \"none\";'>X</div>\n";
1304
+ echo do_shortcode("[slide-anything id='".$post->ID."']");
1305
+ echo "</div>\n";
1306
+ echo "</div>\n";
1307
+ }
1308
  }
1309
 
1310
 
1323
  if ($items_width4 == 0) { $items_width4 = 1; }
1324
  if ($items_width5 == 0) { $items_width5 = 1; }
1325
  if ($items_width6 == 0) { $items_width6 = $items_width5; }
1326
+
1327
  echo "<div id='items_displayed_metabox'>\n";
1328
  echo "<h4>Browser/Device Width:</h4>\n";
1329
  // items for browser width category 1
1367
  }
1368
  echo "</select></div>\n";
1369
  // items for browser width category 5
1370
+ echo "<div><em class='sa_tooltip' href='' title='1200 to 1499 pixels'></em><span>Desktop Large</span><select name='sa_items_width5'>";
1371
  for ($i = 1; $i <= 12; $i++) {
1372
  if ($i == $items_width5) {
1373
  echo "<option value='".esc_attr($i)."' selected>".esc_html($i)."</option>";
1377
  }
1378
  echo "</select></div>\n";
1379
  // items for browser width category 6
1380
+ echo "<div><em class='sa_tooltip' href='' title='Over 1500 pixels'></em><span>Desktop X-Large</span><select name='sa_items_width6'>";
1381
  for ($i = 1; $i <= 12; $i++) {
1382
  if ($i == $items_width6) {
1383
  echo "<option value='".esc_attr($i)."' selected>".esc_html($i)."</option>";
1392
  $transition = 'fade';
1393
  }
1394
  $option_arr = array();
1395
+ $option_arr[0] = 'Slide';
1396
+ $option_arr[1] = 'Fade';
1397
+ $option_arr[2] = 'Zoom In';
1398
+ $option_arr[3] = 'Zoom Out';
1399
+ $option_arr[4] = 'Flip Out X';
1400
+ $option_arr[5] = 'Flip Out Y';
1401
+ $option_arr[6] = 'Rotate Left';
1402
+ $option_arr[7] = 'Rotate Right';
1403
+ $option_arr[8] = 'Bounce Out';
1404
+ $option_arr[9] = 'Roll Out';
1405
+ $option_arr[10] = 'Slide Down';
1406
  echo "<div><em class='sa_tooltip' href='' title='NOTE: Slide transitions only work when the above items displayed are ALL SET TO 1'></em>";
1407
  echo "<span style='color:firebrick !important;'>Slide Transition</span><select style='max-width:100px !important;' name='sa_transition'>";
1408
  for ($i = 0; $i < count($option_arr); $i++) {
1413
  }
1414
  }
1415
  echo "</select></div>\n";
1416
+
1417
  echo "</div>\n";
1418
  }
1419
 
1428
  }
1429
  echo "<div id='slider_style_metabox'>\n";
1430
  echo "<h4>CSS <span>#id</span> for Slider:</h4>\n";
1431
+ echo "<div style='padding-bottom:10px; color:#909090;'>Must consist of letters (upper/lowercase) or Underscore '_' characters <span style='color:firebrick;'>ONLY!</span></div>\n";
1432
  echo "<input type='text' id='sa_css_id' name='sa_css_id' value='".esc_attr($css_id)."'/>\n";
1433
  echo "<div id='css_note_text'>To style slides use CSS selector:</div>";
1434
  echo "<div id='css_note_value'>#".esc_html($css_id)." .owl-item</div>";
1435
  echo "<div class='ca_style_hr'></div>\n";
1436
+
1437
  // SLIDER PADDING (TOP, RIGHT, BOTTOM, LEFT)
1438
  $wrapper_padd_top = get_post_meta($post->ID, 'sa_wrapper_padd_top', true);
1439
  if ($wrapper_padd_top == '') { $wrapper_padd_top = '0'; }
1456
  echo "<input type='text' id='sa_wrapper_padd_left' name='sa_wrapper_padd_left' value='".esc_attr($wrapper_padd_left)."'></div>";
1457
  echo "</div>\n";
1458
  echo "<div style='clear:both; float:none; width:100%; height:10px;'></div>";
1459
+
1460
  $tooltip = "Style settings for the slider navigation arrows and slider pagination";
1461
  echo "<h4>Slider Navigation:<em class='sa_tooltip' title='".esc_attr($tooltip)."'></em></h4>";
1462
+
1463
  // AUTOHIDE ARROWS
1464
  $autohide_arrows = get_post_meta($post->ID, 'sa_autohide_arrows', true);
1465
  if ($autohide_arrows == '') {
1475
 
1476
  $tooltip = "The background color and border around the entire carousel/slider";
1477
  echo "<h4>Background/Border:<em class='sa_tooltip' title='".esc_attr($tooltip)."'></em></h4>";
1478
+
1479
  // SLIDER BACKGROUND COLOR
1480
  $background_color = get_post_meta($post->ID, 'sa_background_color', true);
1481
  if ($background_color == '') {
1483
  }
1484
  echo "<div class='ca_style_setting_line'><span>Background:</span>";
1485
  echo "<input type='text' id='sa_background_color' name='sa_background_color' value='".esc_attr($background_color)."'></div>\n";
1486
+
1487
  // SLIDER BORDER (WIDTH & COLOR)
1488
  $border_width = get_post_meta($post->ID, 'sa_border_width', true);
1489
  if ($border_width == '') {
1496
  echo "<div class='ca_style_setting_line'><span>Border Style:</span>";
1497
  echo "<input type='text' id='sa_border_width' name='sa_border_width' value='".esc_attr($border_width)."'><em>px</em>";
1498
  echo "<input type='text' id='sa_border_color' name='sa_border_color' value='".esc_attr($border_color)."'></div>\n";
1499
+
1500
  // SLIDER BORDER RADIUS
1501
  $border_radius = get_post_meta($post->ID, 'sa_border_radius', true);
1502
  if ($border_radius == '') {
1504
  }
1505
  echo "<div class='ca_style_setting_line'><span>Border Radius:</span>";
1506
  echo "<input type='text' id='sa_border_radius' name='sa_border_radius' value='".esc_attr($border_radius)."'></div>\n";
1507
+
1508
  echo "<div class='ca_style_hr' style='margin-top:10px;'></div>\n";
1509
+
1510
+ $tooltip = "The style settings for all slides (within the slider/carousel)";
1511
+ echo "<h4>Slide Style:<em class='sa_tooltip' title='".esc_attr($tooltip)."'></em></h4>";
1512
+
1513
  // SLIDE - MINIMUM HEIGHT
1514
+ $slide_min_height = get_post_meta($post->ID, 'sa_slide_min_height_perc', true);
1515
  if ($slide_min_height == '') {
1516
+ $slide_min_height = '50';
1517
  }
1518
+ echo "<div style='padding:5px 0px 10px;'>\n";
1519
+ $tooltip = "The minimum height of each slide. Can be set to a percentage of the slide width, or for image sliders set to a 4:3 or 16:9 aspect ratio.";
1520
+ echo "<div class='ca_style_setting_line' id='ca_style_min_height'><span class='sa_tooltip' title='".esc_attr($tooltip)."'>Min Height:</span>";
1521
+ if ($slide_min_height == 'aspect43') {
1522
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='percent'/><em>%</em>";
1523
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='43' checked/><em>4:3</em>";
1524
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='169'/><em>16:9</em>";
1525
+ } elseif ($slide_min_height == 'aspect169') {
1526
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='percent'/><em>%</em>";
1527
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='43'/><em>4:3</em>";
1528
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='169' checked/><em>16:9</em>";
1529
+ } else {
1530
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='percent' checked/><em>%</em>";
1531
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='43'/><em>4:3</em>";
1532
+ echo "<input type='radio' name='sa_slide_min_height_type' class='sa_slide_min_height_type' value='169'/><em>16:9</em>";
1533
+ }
1534
+ echo "</div>\n";
1535
+ if (($slide_min_height == 'aspect43') || ($slide_min_height == 'aspect169')) {
1536
+ echo "<div class='ca_style_setting_line' id='sa_slide_min_height_wrapper' style='display:none;'><span style='width:100px;'>&nbsp;</span>";
1537
+ echo "<input type='text' id='sa_slide_min_height' name='sa_slide_min_height' value='".esc_attr($slide_min_height)."'/><em>%</em></div>\n";
1538
+ echo "<input type='hidden' id='sa_slide_min_height_hidden' name='sa_slide_min_height_hidden' value='0'/>\n";
1539
+ } else {
1540
+ echo "<div class='ca_style_setting_line' id='sa_slide_min_height_wrapper'><span style='width:80px;'>&nbsp;</span>";
1541
+ echo "<input type='text' id='sa_slide_min_height' name='sa_slide_min_height' value='".esc_attr($slide_min_height)."'/><em>%</em></div>\n\n";
1542
+ echo "<input type='hidden' id='sa_slide_min_height_hidden' name='sa_slide_min_height_hidden' value='".esc_attr($slide_min_height)."'/>\n";
1543
+ }
1544
+ echo "</div>\n";
1545
+
1546
  // SLIDE - PADDING TOP/BOTTOM
1547
  $slide_padding_tb = get_post_meta($post->ID, 'sa_slide_padding_tb', true);
1548
  if ($slide_padding_tb == '') {
1551
  $tooltip = "Padding space top/bottom for each individual slide";
1552
  echo "<div class='ca_style_setting_line' id='ca_style_padding_top_bottom'><span class='sa_tooltip' title='".esc_attr($tooltip)."'>Padding:</span>";
1553
  echo "<input type='text' id='sa_slide_padding_tb' name='sa_slide_padding_tb' value='".esc_attr($slide_padding_tb)."'><em>%</em></div>\n";
1554
+
1555
  // SLIDE - PADDING LEFT/RIGHT
1556
  $slide_padding_lr = get_post_meta($post->ID, 'sa_slide_padding_lr', true);
1557
  if ($slide_padding_lr == '') {
1560
  $tooltip = "Padding space left/right for each individual slide";
1561
  echo "<div class='ca_style_setting_line' id='ca_style_padding_left_right'><span class='sa_tooltip' title='".esc_attr($tooltip)."'>Padding:</span>";
1562
  echo "<input type='text' id='sa_slide_padding_lr' name='sa_slide_padding_lr' value='".esc_attr($slide_padding_lr)."'><em>%</em></div>\n";
1563
+
1564
  // SLIDE - MARGIN LEFT/RIGHT
1565
  $slide_margin_lr = get_post_meta($post->ID, 'sa_slide_margin_lr', true);
1566
  if ($slide_margin_lr == '') {
1569
  $tooltip = "Margin space left and right of each slide";
1570
  echo "<div class='ca_style_setting_line' id='ca_style_margin_left_right'><span class='sa_tooltip' title='".esc_attr($tooltip)."'>Margin:</span>";
1571
  echo "<input type='text' id='sa_slide_margin_lr' name='sa_slide_margin_lr' value='".esc_attr($slide_margin_lr)."'><em>%</em></div>\n";
1572
+
1573
+ $tooltip = "The link/popup buttons that appear on a slide";
1574
+ echo "<h4>Link/Popup Icons:<em class='sa_tooltip' title='".esc_attr($tooltip)."'></em></h4>";
1575
+
1576
+ // LINK/POPUP ICONS - ICON LOCATION
1577
+ $slide_icons_location = get_post_meta($post->ID, 'sa_slide_icons_location', true);
1578
+ if ($slide_icons_location == '') {
1579
+ $slide_icons_location = 'Center Center';
1580
+ }
1581
+ echo "<div class='ca_style_setting_line'><span>Icon Location</span>";
1582
+ echo "<select id='sa_slide_icons_location' name='sa_slide_icons_location'>";
1583
+ $option_arr = array();
1584
+ $option_arr[0] = 'Center Center';
1585
+ $option_arr[1] = 'Top Left';
1586
+ $option_arr[2] = 'Top Center';
1587
+ $option_arr[3] = 'Top Right';
1588
+ $option_arr[4] = 'Bottom Left';
1589
+ $option_arr[5] = 'Bottom Center';
1590
+ $option_arr[6] = 'Bottom Right';
1591
+ for ($i = 0; $i < count($option_arr); $i++) {
1592
+ if ($option_arr[$i] == $slide_icons_location) {
1593
+ echo "<option value='".$option_arr[$i]."' selected>".$option_arr[$i]."</option>";
1594
+ } else {
1595
+ echo "<option value='".$option_arr[$i]."'>".$option_arr[$i]."</option>";
1596
+ }
1597
+ }
1598
+ echo "</select></div>\n";
1599
+
1600
+ // LINK/POPUP ICONS - ALWAYS VISIBLE
1601
+ $slide_icons_visible = get_post_meta($post->ID, 'sa_slide_icons_visible', true);
1602
+ if ($slide_icons_visible != '1') {
1603
+ $slide_icons_visible = '0';
1604
+ }
1605
+ echo "<div class='ca_style_setting_line'><span>Always Visible</span>";
1606
+ if ($slide_icons_visible == '1') {
1607
+ echo "<input type='checkbox' id='sa_slide_icons_visible' name='sa_slide_icons_visible' value='1' checked/>";
1608
+ } else {
1609
+ echo "<input type='checkbox' id='sa_slide_icons_visible' name='sa_slide_icons_visible' value='1'/>";
1610
+ }
1611
+ echo "</div>\n";
1612
+
1613
+ // LINK/POPUP ICONS - COLOR SCHEME
1614
+ $slide_icons_color = get_post_meta($post->ID, 'sa_slide_icons_color', true);
1615
+ if ($slide_icons_color == '') {
1616
+ $slide_icons_location = 'white';
1617
+ }
1618
+ echo "<div class='ca_style_setting_line'><span>Color Scheme</span>";
1619
+ echo "<select id='sa_slide_icons_color' name='sa_slide_icons_color'>";
1620
+ if ($slide_icons_color == 'black') {
1621
+ echo "<option value='white'>White</option>";
1622
+ echo "<option value='black' selected>Black</option>";
1623
+ } else {
1624
+ echo "<option value='white selected'>White</option>";
1625
+ echo "<option value='black'>Black</option>";
1626
+ }
1627
+ echo "</select></div>\n";
1628
+
1629
  echo "</div>\n";
1630
  }
1631
 
1634
  // ##### ACTION HOOK - SAVE CUSTOM POST TYPE ('Slide Anything') DATA #####
1635
  function cpt_slider_save_postdata() {
1636
  global $post;
1637
+ $sa_pro_version = validate_slide_anything_pro_registration();
1638
+
1639
  // ### VERIFY 1) LOGGED-IN USER IS ADMINISTRATOR AND 2) VALID NONCE TO PREVENT CSRF HACKER ATTACKS ###
1640
+ if (current_user_can('edit_pages') &&
1641
  isset($_POST['nonce_save_slider']) && wp_verify_nonce($_POST['nonce_save_slider'], basename(__FILE__))) {
1642
  $total_slides = intval($_POST['sa_num_slides']);
1643
  if (($_POST['sa_duplicate_slide'] == '') || ($_POST['sa_duplicate_slide'] == '0')) {
1652
  // A SLIDE NEEDS TO BE MOVED
1653
  $move_slide_up = intval($_POST['sa_move_slide_up']);
1654
  }
1655
+
1656
  // UPDATE CONTENT FOR EACH SLIDE
1657
  $slides_saved = 0;
1658
  for ($i = 1; $i <= $total_slides; $i++) {
1662
  $slide_image_size = "sa_slide".$i."_image_size";
1663
  $slide_image_repeat = "sa_slide".$i."_image_repeat";
1664
  $slide_image_color = "sa_slide".$i."_image_color";
1665
+ $slide_link_url = "sa_slide".$i."_link_url";
1666
+ $slide_link_target = "sa_slide".$i."_link_target";
1667
+ if ($sa_pro_version) {
1668
+ $slide_popup_type = "sa_slide".$i."_popup_type";
1669
+ $slide_popup_imageid = "sa_slide".$i."_popup_imageid";
1670
+ $slide_popup_imagetitle = "sa_slide".$i."_popup_imagetitle";
1671
+ $slide_popup_video_id = "sa_slide".$i."_popup_video_id";
1672
+ $slide_popup_video_type = "sa_slide".$i."_popup_video_type";
1673
+ $slide_popup_background = "sa_slide".$i."_popup_background";
1674
+ $slide_popup_html = "sa_slide".$i."_popup_html";
1675
+ $slide_popup_shortcode = "sa_slide".$i."_popup_shortcode";
1676
+ $slide_popup_bgcol = "sa_slide".$i."_popup_bgcol";
1677
+ $slide_popup_width = "sa_slide".$i."_popup_width";
1678
+ }
1679
+ //$slide_content = wp_kses_post($_POST[$slide_edit_id]); // SANATIZE
1680
+ $slide_content = balanceTags($_POST[$slide_edit_id], true); // FIX MISSING CLOSING TAGS
1681
+ $slide_image_id_val = abs(intval($_POST[$slide_image_id])); // SANATIZE
1682
+ $slide_image_pos_val = sanitize_text_field($_POST[$slide_image_pos]); // SANATIZE
1683
+ $slide_image_size_val = sanitize_text_field($_POST[$slide_image_size]); // SANATIZE
1684
+ $slide_image_repeat_val = sanitize_text_field($_POST[$slide_image_repeat]); // SANATIZE
1685
+ $slide_image_color_val = sanitize_text_field($_POST[$slide_image_color]); // SANATIZE
1686
+ $slide_link_url_val = sanitize_text_field($_POST[$slide_link_url]); // SANATIZE
1687
+ $slide_link_target_val = sanitize_text_field($_POST[$slide_link_target]); // SANATIZE
1688
+ if ($sa_pro_version) {
1689
+ $slide_popup_type_val = sanitize_text_field($_POST[$slide_popup_type]); // SANATIZE
1690
+ $slide_popup_imageid_val = sanitize_text_field($_POST[$slide_popup_imageid]); // SANATIZE
1691
+ $slide_popup_imagetitle_val = sanitize_text_field($_POST[$slide_popup_imagetitle]); // SANATIZE
1692
+ $slide_popup_video_id_val = sanitize_text_field($_POST[$slide_popup_video_id]); // SANATIZE
1693
+ $slide_popup_video_type_val = sanitize_text_field($_POST[$slide_popup_video_type]); // SANATIZE
1694
+ $slide_popup_background_val = sanitize_text_field($_POST[$slide_popup_background]); // SANATIZE
1695
+ $slide_popup_html_val = balanceTags($_POST[$slide_popup_html], true); // FIX MISSING CLOSING TAGS
1696
+ $slide_popup_shortcode_val = sanitize_text_field($_POST[$slide_popup_shortcode]); // SANATIZE
1697
+ $slide_popup_bgcol_val = sanitize_text_field($_POST[$slide_popup_bgcol]); // SANATIZE
1698
+ $slide_popup_width_val = abs(intval($_POST[$slide_popup_width])); // SANATIZE
1699
+ }
1700
  // check delete status for slide
1701
  $del_status_id = "sa_slide".$i."_delete";
1702
  if (isset($_POST[$del_status_id]) && ($_POST[$del_status_id] != '')) {
1715
  $slide_image_size_saved = "sa_slide".$slides_saved."_image_size";
1716
  $slide_image_repeat_saved = "sa_slide".$slides_saved."_image_repeat";
1717
  $slide_image_color_saved = "sa_slide".$slides_saved."_image_color";
1718
+ $slide_link_url_saved = "sa_slide".$slides_saved."_link_url";
1719
+ $slide_link_target_saved = "sa_slide".$slides_saved."_link_target";
1720
+ if ($sa_pro_version) {
1721
+ $slide_popup_type_saved = "sa_slide".$slides_saved."_popup_type";
1722
+ $slide_popup_imageid_saved = "sa_slide".$slides_saved."_popup_imageid";
1723
+ $slide_popup_imagetitle_saved = "sa_slide".$slides_saved."_popup_imagetitle";
1724
+ $slide_popup_video_id_saved = "sa_slide".$slides_saved."_popup_video_id";
1725
+ $slide_popup_video_type_saved = "sa_slide".$slides_saved."_popup_video_type";
1726
+ $slide_popup_background_saved = "sa_slide".$slides_saved."_popup_background";
1727
+ $slide_popup_html_saved = "sa_slide".$slides_saved."_popup_html";
1728
+ $slide_popup_shortcode_saved = "sa_slide".$slides_saved."_popup_shortcode";
1729
+ $slide_popup_bgcol_saved = "sa_slide".$slides_saved."_popup_bgcol";
1730
+ $slide_popup_width_saved = "sa_slide".$slides_saved."_popup_width";
1731
+ }
1732
  update_post_meta($post->ID, $slide_edit_id_save, $slide_content);
1733
  update_post_meta($post->ID, $slide_image_id_saved, $slide_image_id_val);
1734
  update_post_meta($post->ID, $slide_image_pos_saved, $slide_image_pos_val);
1735
  update_post_meta($post->ID, $slide_image_size_saved, $slide_image_size_val);
1736
  update_post_meta($post->ID, $slide_image_repeat_saved, $slide_image_repeat_val);
1737
  update_post_meta($post->ID, $slide_image_color_saved, $slide_image_color_val);
1738
+ update_post_meta($post->ID, $slide_link_url_saved, $slide_link_url_val);
1739
+ update_post_meta($post->ID, $slide_link_target_saved, $slide_link_target_val);
1740
+ if ($sa_pro_version) {
1741
+ update_post_meta($post->ID, $slide_popup_type_saved, $slide_popup_type_val);
1742
+ update_post_meta($post->ID, $slide_popup_imageid_saved, $slide_popup_imageid_val);
1743
+ update_post_meta($post->ID, $slide_popup_imagetitle_saved, $slide_popup_imagetitle_val);
1744
+ update_post_meta($post->ID, $slide_popup_video_id_saved, $slide_popup_video_id_val);
1745
+ update_post_meta($post->ID, $slide_popup_video_type_saved, $slide_popup_video_type_val);
1746
+ update_post_meta($post->ID, $slide_popup_background_saved, $slide_popup_background_val);
1747
+ update_post_meta($post->ID, $slide_popup_html_saved, $slide_popup_html_val);
1748
+ update_post_meta($post->ID, $slide_popup_shortcode_saved, $slide_popup_shortcode_val);
1749
+ update_post_meta($post->ID, $slide_popup_bgcol_saved, $slide_popup_bgcol_val);
1750
+ update_post_meta($post->ID, $slide_popup_width_saved, $slide_popup_width_val);
1751
+ }
1752
  if ($i == $duplicate_slide) {
1753
  // the 'duplicate slide' button has been click for this slide - create a new slide that is an exact copy of previous slide
1754
  // (REPEAT THE CODE ABOVE HERE!!!)
1759
  $slide_image_size_saved = "sa_slide".$slides_saved."_image_size";
1760
  $slide_image_repeat_saved = "sa_slide".$slides_saved."_image_repeat";
1761
  $slide_image_color_saved = "sa_slide".$slides_saved."_image_color";
1762
+ $slide_link_url_saved = "sa_slide".$slides_saved."_link_url";
1763
+ $slide_link_target_saved = "sa_slide".$slides_saved."_link_target";
1764
+ if ($sa_pro_version) {
1765
+ $slide_popup_type_saved = "sa_slide".$slides_saved."_popup_type";
1766
+ $slide_popup_imageid_saved = "sa_slide".$slides_saved."_popup_imageid";
1767
+ $slide_popup_imagetitle_saved = "sa_slide".$slides_saved."_popup_imagetitle";
1768
+ $slide_popup_video_id_saved = "sa_slide".$slides_saved."_popup_video_id";
1769
+ $slide_popup_video_type_saved = "sa_slide".$slides_saved."_popup_video_type";
1770
+ $slide_popup_background_saved = "sa_slide".$slides_saved."_popup_background";
1771
+ $slide_popup_html_saved = "sa_slide".$slides_saved."_popup_html";
1772
+ $slide_popup_shortcode_saved = "sa_slide".$slides_saved."_popup_shortcode";
1773
+ $slide_popup_bgcol_saved = "sa_slide".$slides_saved."_popup_bgcol";
1774
+ $slide_popup_width_saved = "sa_slide".$slides_saved."_popup_width";
1775
+ }
1776
  update_post_meta($post->ID, $slide_edit_id_save, $slide_content);
1777
  update_post_meta($post->ID, $slide_image_id_saved, $slide_image_id_val);
1778
  update_post_meta($post->ID, $slide_image_pos_saved, $slide_image_pos_val);
1779
  update_post_meta($post->ID, $slide_image_size_saved, $slide_image_size_val);
1780
  update_post_meta($post->ID, $slide_image_repeat_saved, $slide_image_repeat_val);
1781
  update_post_meta($post->ID, $slide_image_color_saved, $slide_image_color_val);
1782
+ update_post_meta($post->ID, $slide_link_url_saved, $slide_link_url_val);
1783
+ update_post_meta($post->ID, $slide_link_target_saved, $slide_link_target_val);
1784
+ if ($sa_pro_version) {
1785
+ update_post_meta($post->ID, $slide_popup_type_saved, $slide_popup_type_val);
1786
+ update_post_meta($post->ID, $slide_popup_imageid_saved, $slide_popup_imageid_val);
1787
+ update_post_meta($post->ID, $slide_popup_imagetitle_saved, $slide_popup_imagetitle_val);
1788
+ update_post_meta($post->ID, $slide_popup_video_id_saved, $slide_popup_video_id_val);
1789
+ update_post_meta($post->ID, $slide_popup_video_type_saved, $slide_popup_video_type_val);
1790
+ update_post_meta($post->ID, $slide_popup_background_saved, $slide_popup_background_val);
1791
+ update_post_meta($post->ID, $slide_popup_html_saved, $slide_popup_html_val);
1792
+ update_post_meta($post->ID, $slide_popup_shortcode_saved, $slide_popup_shortcode_val);
1793
+ update_post_meta($post->ID, $slide_popup_bgcol_saved, $slide_popup_bgcol_val);
1794
+ update_post_meta($post->ID, $slide_popup_width_saved, $slide_popup_width_val);
1795
+ }
1796
  }
1797
  }
1798
  }
1799
+
1800
  if ($move_slide_up != 0) {
1801
  // A SLIDE NEEDS TO BE MOVED (TWO SLIDES ARE SWAPPED)
1802
  $slide2 = $move_slide_up;
1803
  $slide1 = intval($move_slide_up) - 1;
1804
+ //$slide1_content = wp_kses_post($_POST["sa_slide".$slide1."_content"]); // SANATIZE
1805
+ $slide1_content = balanceTags($_POST["sa_slide".$slide1."_content"], true); // FIX MISSING CLOSING TAGS
1806
+ $slide1_image_id = abs(intval($_POST["sa_slide".$slide1."_image_id"])); // SANATIZE
1807
+ $slide1_image_pos = sanitize_text_field($_POST["sa_slide".$slide1."_image_pos"]); // SANATIZE
1808
+ $slide1_image_size = sanitize_text_field($_POST["sa_slide".$slide1."_image_size"]); // SANATIZE
1809
+ $slide1_image_repeat = sanitize_text_field($_POST["sa_slide".$slide1."_image_repeat"]); // SANATIZE
1810
+ $slide1_image_color = sanitize_text_field($_POST["sa_slide".$slide1."_image_color"]); // SANATIZE
1811
+ $slide1_link_url = sanitize_text_field($_POST["sa_slide".$slide1."_link_url"]); // SANATIZE
1812
+ $slide1_link_target = sanitize_text_field($_POST["sa_slide".$slide1."_link_target"]); // SANATIZE
1813
+ if ($sa_pro_version) {
1814
+ $slide1_popup_type = sanitize_text_field($_POST["sa_slide".$slide1."_popup_type"]); // SANATIZE
1815
+ $slide1_popup_imageid = sanitize_text_field($_POST["sa_slide".$slide1."_popup_imageid"]); // SANATIZE
1816
+ $slide1_popup_imagetitle = sanitize_text_field($_POST["sa_slide".$slide1."_popup_imagetitle"]); // SANATIZE
1817
+ $slide1_popup_video_id = sanitize_text_field($_POST["sa_slide".$slide1."_popup_video_id"]); // SANATIZE
1818
+ $slide1_popup_video_type = sanitize_text_field($_POST["sa_slide".$slide1."_popup_video_type"]); // SANATIZE
1819
+ $slide1_popup_background = sanitize_text_field($_POST["sa_slide".$slide1."_popup_background"]); // SANATIZE
1820
+ $slide1_popup_html = balanceTags($_POST["sa_slide".$slide1."_popup_html"], true); // FIX MISSING CLOSING TAGS
1821
+ $slide1_popup_shortcode = sanitize_text_field($_POST["sa_slide".$slide1."_popup_shortcode"]); // SANATIZE
1822
+ $slide1_popup_bgcol = sanitize_text_field($_POST["sa_slide".$slide1."_popup_bgcol"]); // SANATIZE
1823
+ $slide1_popup_width = abs(intval($_POST["sa_slide".$slide1."_popup_width"])); // SANATIZE
1824
+ }
1825
+ //$slide2_content = wp_kses_post($_POST["sa_slide".$slide2."_content"]); // SANATIZE
1826
+ $slide2_content = balanceTags($_POST["sa_slide".$slide2."_content"], true); // FIX MISSING CLOSING TAGS
1827
+ $slide2_image_id = abs(intval($_POST["sa_slide".$slide2."_image_id"])); // SANATIZE
1828
+ $slide2_image_pos = sanitize_text_field($_POST["sa_slide".$slide2."_image_pos"]); // SANATIZE
1829
+ $slide2_image_size = sanitize_text_field($_POST["sa_slide".$slide2."_image_size"]); // SANATIZE
1830
+ $slide2_image_repeat = sanitize_text_field($_POST["sa_slide".$slide2."_image_repeat"]); // SANATIZE
1831
+ $slide2_image_color = sanitize_text_field($_POST["sa_slide".$slide2."_image_color"]); // SANATIZE
1832
+ $slide2_link_url = sanitize_text_field($_POST["sa_slide".$slide2."_link_url"]); // SANATIZE
1833
+ $slide2_link_target = sanitize_text_field($_POST["sa_slide".$slide2."_link_target"]); // SANATIZE
1834
+ if ($sa_pro_version) {
1835
+ $slide2_popup_type = sanitize_text_field($_POST["sa_slide".$slide2."_popup_type"]); // SANATIZE
1836
+ $slide2_popup_imageid = sanitize_text_field($_POST["sa_slide".$slide2."_popup_imageid"]); // SANATIZE
1837
+ $slide2_popup_imagetitle = sanitize_text_field($_POST["sa_slide".$slide2."_popup_imagetitle"]); // SANATIZE
1838
+ $slide2_popup_video_id = sanitize_text_field($_POST["sa_slide".$slide2."_popup_video_id"]); // SANATIZE
1839
+ $slide2_popup_video_type = sanitize_text_field($_POST["sa_slide".$slide2."_popup_video_type"]); // SANATIZE
1840
+ $slide2_popup_background = sanitize_text_field($_POST["sa_slide".$slide2."_popup_background"]); // SANATIZE
1841
+ $slide2_popup_html = balanceTags($_POST["sa_slide".$slide2."_popup_html"], true); // FIX MISSING CLOSING TAGS
1842
+ $slide2_popup_shortcode = sanitize_text_field($_POST["sa_slide".$slide2."_popup_shortcode"]); // SANATIZE
1843
+ $slide2_popup_bgcol = sanitize_text_field($_POST["sa_slide".$slide2."_popup_bgcol"]); // SANATIZE
1844
+ $slide2_popup_width = abs(intval($_POST["sa_slide".$slide2."_popup_width"])); // SANATIZE
1845
+ }
1846
  update_post_meta($post->ID, "sa_slide".$slide2."_content", $slide1_content);
1847
  update_post_meta($post->ID, "sa_slide".$slide2."_image_id", $slide1_image_id);
1848
  update_post_meta($post->ID, "sa_slide".$slide2."_image_pos", $slide1_image_pos);
1849
  update_post_meta($post->ID, "sa_slide".$slide2."_image_size", $slide1_image_size);
1850
  update_post_meta($post->ID, "sa_slide".$slide2."_image_repeat", $slide1_image_repeat);
1851
  update_post_meta($post->ID, "sa_slide".$slide2."_image_color", $slide1_image_color);
1852
+ update_post_meta($post->ID, "sa_slide".$slide2."_link_url", $slide1_link_url);
1853
+ update_post_meta($post->ID, "sa_slide".$slide2."_link_target", $slide1_link_target);
1854
+ if ($sa_pro_version) {
1855
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_type", $slide1_popup_type);
1856
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_imageid", $slide1_popup_imageid);
1857
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_imagetitle", $slide1_popup_imagetitle);
1858
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_video_id", $slide1_popup_video_id);
1859
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_video_type", $slide1_popup_video_type);
1860
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_background", $slide1_popup_background);
1861
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_html", $slide1_popup_html);
1862
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_shortcode", $slide1_popup_shortcode);
1863
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_bgcol", $slide1_popup_bgcol);
1864
+ update_post_meta($post->ID, "sa_slide".$slide2."_popup_width", $slide1_popup_width);
1865
+ }
1866
  update_post_meta($post->ID, "sa_slide".$slide1."_content", $slide2_content);
1867
  update_post_meta($post->ID, "sa_slide".$slide1."_image_id", $slide2_image_id);
1868
  update_post_meta($post->ID, "sa_slide".$slide1."_image_pos", $slide2_image_pos);
1869
  update_post_meta($post->ID, "sa_slide".$slide1."_image_size", $slide2_image_size);
1870
  update_post_meta($post->ID, "sa_slide".$slide1."_image_repeat", $slide2_image_repeat);
1871
  update_post_meta($post->ID, "sa_slide".$slide1."_image_color", $slide2_image_color);
1872
+ update_post_meta($post->ID, "sa_slide".$slide1."_link_url", $slide2_link_url);
1873
+ update_post_meta($post->ID, "sa_slide".$slide1."_link_target", $slide2_link_target);
1874
+ if ($sa_pro_version) {
1875
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_type", $slide2_popup_type);
1876
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_imageid", $slide2_popup_imageid);
1877
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_imagetitle", $slide2_popup_imagetitle);
1878
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_video_id", $slide2_popup_video_id);
1879
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_video_type", $slide2_popup_video_type);
1880
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_background", $slide2_popup_background);
1881
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_html", $slide2_popup_html);
1882
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_shortcode", $slide2_popup_shortcode);
1883
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_bgcol", $slide2_popup_bgcol);
1884
+ update_post_meta($post->ID, "sa_slide".$slide1."_popup_width", $slide2_popup_width);
1885
+ }
1886
  }
1887
+
1888
  // UPDATE SLIDE CONTENT CHARACTER COUNT
1889
  $total_slides = get_post_meta($post->ID, 'sa_num_slides', true);
1890
  for ($i = 1; $i <= $total_slides; $i++) {
1891
  $slide_content = get_post_meta($post->ID, "sa_slide".$i."_content", true);
1892
  $char_count = strlen($slide_content);
1893
  update_post_meta($post->ID, "sa_slide".$i."_char_count", $char_count);
1894
+ }
1895
+
1896
  // UPDATE SLIDER SETTINGS
1897
+ update_post_meta($post->ID, 'sa_num_slides', abs(intval($slides_saved))); // SANATIZE
1898
  if (isset($_POST['sa_disable_visual_editor']) && ($_POST['sa_disable_visual_editor'] == '1')) {
1899
  update_post_meta($post->ID, 'sa_disable_visual_editor', '1');
1900
  } else {
1901
  update_post_meta($post->ID, 'sa_disable_visual_editor', '0');
1902
  }
1903
+ update_post_meta($post->ID, 'sa_info_added', abs(intval($_POST['sa_info_added']))); // SANATIZE
1904
+ update_post_meta($post->ID, 'sa_info_deleted', abs(intval($_POST['sa_info_deleted']))); // SANATIZE
1905
+ update_post_meta($post->ID, 'sa_duplicate_slide', abs(intval($_POST['sa_duplicate_slide']))); // SANATIZE
1906
+ update_post_meta($post->ID, 'sa_info_duplicated', abs(intval($_POST['sa_info_duplicated']))); // SANATIZE
1907
+ update_post_meta($post->ID, 'sa_move_slide_up', abs(intval($_POST['sa_move_slide_up']))); // SANATIZE
1908
+ update_post_meta($post->ID, 'sa_info_moved', abs(intval($_POST['sa_info_moved']))); // SANATIZE
1909
+ update_post_meta($post->ID, 'sa_slide_duration', abs(floatval($_POST['sa_slide_duration']))); // SANATIZE
1910
+ update_post_meta($post->ID, 'sa_slide_transition', abs(floatval($_POST['sa_slide_transition']))); // SANATIZE
1911
+ update_post_meta($post->ID, 'sa_slide_by', abs(floatval($_POST['sa_slide_by']))); // SANATIZE
1912
  if (isset($_POST['sa_loop_slider']) && ($_POST['sa_loop_slider'] == '1')) {
1913
  update_post_meta($post->ID, 'sa_loop_slider', '1');
1914
  } else {
1934
  } else {
1935
  update_post_meta($post->ID, 'sa_random_order', '0');
1936
  }
1937
+ if (isset($_POST['sa_reverse_order']) && ($_POST['sa_reverse_order'] == '1')) {
1938
+ update_post_meta($post->ID, 'sa_reverse_order', '1');
1939
+ } else {
1940
+ update_post_meta($post->ID, 'sa_reverse_order', '0');
1941
+ }
1942
  if (isset($_POST['sa_shortcodes']) && ($_POST['sa_shortcodes'] == '1')) {
1943
  update_post_meta($post->ID, 'sa_shortcodes', '1');
1944
  } else {
1954
  } else {
1955
  update_post_meta($post->ID, 'sa_touch_drag', '0');
1956
  }
1957
+
1958
  // UPDATE SLIDER ITEMS DISPLAYED
1959
+ update_post_meta($post->ID, 'sa_items_width1', abs(intval($_POST['sa_items_width1']))); // SANATIZE
1960
+ update_post_meta($post->ID, 'sa_items_width2', abs(intval($_POST['sa_items_width2']))); // SANATIZE
1961
+ update_post_meta($post->ID, 'sa_items_width3', abs(intval($_POST['sa_items_width3']))); // SANATIZE
1962
+ update_post_meta($post->ID, 'sa_items_width4', abs(intval($_POST['sa_items_width4']))); // SANATIZE
1963
+ update_post_meta($post->ID, 'sa_items_width5', abs(intval($_POST['sa_items_width5']))); // SANATIZE
1964
+ update_post_meta($post->ID, 'sa_items_width6', abs(intval($_POST['sa_items_width6']))); // SANATIZE
1965
+ update_post_meta($post->ID, 'sa_transition', sanitize_text_field($_POST['sa_transition'])); // SANATIZE
1966
+
1967
  // UPDATE SLIDER STYLE
1968
+ $post_css_id = str_replace("-", "_", $_POST['sa_css_id']);
1969
+ update_post_meta($post->ID, 'sa_css_id', sanitize_text_field($post_css_id)); // SANATIZE
1970
+ update_post_meta($post->ID, 'sa_background_color', sanitize_text_field($_POST['sa_background_color'])); // SANATIZE
1971
+ update_post_meta($post->ID, 'sa_border_width', abs(intval($_POST['sa_border_width']))); // SANATIZE
1972
+ update_post_meta($post->ID, 'sa_border_color', sanitize_text_field($_POST['sa_border_color'])); // SANATIZE
1973
+ update_post_meta($post->ID, 'sa_border_radius', abs(intval($_POST['sa_border_radius']))); // SANATIZE
1974
+ update_post_meta($post->ID, 'sa_wrapper_padd_top', abs(intval($_POST['sa_wrapper_padd_top']))); // SANATIZE
1975
+ update_post_meta($post->ID, 'sa_wrapper_padd_right', abs(intval($_POST['sa_wrapper_padd_right']))); // SANATIZE
1976
+ update_post_meta($post->ID, 'sa_wrapper_padd_bottom', abs(intval($_POST['sa_wrapper_padd_bottom']))); // SANATIZE
1977
+ update_post_meta($post->ID, 'sa_wrapper_padd_left', abs(intval($_POST['sa_wrapper_padd_left']))); // SANATIZE
1978
+ update_post_meta($post->ID, 'sa_slide_min_height_perc', sanitize_text_field($_POST['sa_slide_min_height'])); // SANATIZE
1979
+ update_post_meta($post->ID, 'sa_slide_padding_tb', abs(floatval($_POST['sa_slide_padding_tb']))); // SANATIZE
1980
+ update_post_meta($post->ID, 'sa_slide_padding_lr', abs(floatval($_POST['sa_slide_padding_lr']))); // SANATIZE
1981
+ update_post_meta($post->ID, 'sa_slide_margin_lr', abs(floatval($_POST['sa_slide_margin_lr']))); // SANATIZE
1982
+ update_post_meta($post->ID, 'sa_slide_icons_location', sanitize_text_field($_POST['sa_slide_icons_location'])); // SANATIZE
1983
+ update_post_meta($post->ID, 'sa_slide_icons_color', sanitize_text_field($_POST['sa_slide_icons_color'])); // SANATIZE
1984
  if (isset($_POST['sa_autohide_arrows']) && ($_POST['sa_autohide_arrows'] == '1')) {
1985
  update_post_meta($post->ID, 'sa_autohide_arrows', '1');
1986
  } else {
1987
  update_post_meta($post->ID, 'sa_autohide_arrows', '0');
1988
  }
1989
+ if (isset($_POST['sa_slide_icons_visible']) && ($_POST['sa_slide_icons_visible'] == '1')) {
1990
+ update_post_meta($post->ID, 'sa_slide_icons_visible', '1');
1991
+ } else {
1992
+ update_post_meta($post->ID, 'sa_slide_icons_visible', '0');
1993
+ }
1994
+ }
1995
+ }
1996
+
1997
+ // ##### FUNCTIONS CHECKS WHETHER SLIDE ANYTHING PRO IS REGISTERED - RETURNS TRUE OR FALSE #####
1998
+ function validate_slide_anything_pro_registration() {
1999
+ if (!function_exists('validate_slide_anything_pro_license_key')) {
2000
+ return false;
2001
  }
2002
+ $valid_key = validate_slide_anything_pro_license_key();
2003
+ return $valid_key;
2004
  }
2005
  ?>
php/slide-anything-frontend.php CHANGED
@@ -7,16 +7,24 @@ add_shortcode('slide-anything', 'slide_anything_shortcode');
7
 
8
  /* ##### ROOT FUNCTION THAT IS CALLED TO BY THE 'slide-anything' SHORTCODE ##### */
9
  function slide_anything_shortcode($atts) {
 
10
  wp_enqueue_script('jquery');
11
- wp_register_script('owl_carousel_js', SA_PLUGIN_PATH.'owl-carousel/owl.carousel.min.js', array('jquery'), '1.3.3', true);
12
  wp_enqueue_script('owl_carousel_js');
13
- wp_register_style('owl_carousel_css', SA_PLUGIN_PATH.'owl-carousel/owl.carousel.css');
14
  wp_enqueue_style('owl_carousel_css');
15
- wp_register_style('owl_theme_css', SA_PLUGIN_PATH.'owl-carousel/owl-theme.css');
16
  wp_enqueue_style('owl_theme_css');
17
- wp_register_style('owl_transitions_css', SA_PLUGIN_PATH.'owl-carousel/owl.transitions.css');
18
- wp_enqueue_style('owl_transitions_css');
19
-
 
 
 
 
 
 
 
20
  // EXTRACT SHORTCODE ATTRIBUTES
21
  extract(shortcode_atts(array(
22
  'id' => 0,
@@ -24,13 +32,16 @@ function slide_anything_shortcode($atts) {
24
  $output = '';
25
 
26
  if ($id == 0) {
27
- // AN 'id' PARAMETER HAS NOT BEEN PROVIDED IN THE SHORTCODE
28
- $output .= "<div id='sa_invalid_postid'>A valid 'Slide Anything' ID has not been provided</div>\n";
29
  } else {
30
- $metadata = get_metadata('post', $id);
31
- if (count($metadata) == 0) {
32
- // THE 'id' PARAMETER PROVIDED IN THE SHORTCODE IS INVALID
33
- $output .= "<div id='sa_invalid_postid'>A valid 'Slide Anything' ID has not been provided</div>\n";
 
 
 
34
  } else {
35
  // ### VALID 'id' PROVIDED - PROCESS SHORTCODE ###
36
  // GET SLIDE DATA FROM DATABASE AND SAVE IN ARRAY
@@ -42,6 +53,7 @@ function slide_anything_shortcode($atts) {
42
  } else {
43
  $slide_data['shortcodes'] = 'false';
44
  }
 
45
  for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
46
  // get the valid content character count and the actual content character count
47
  $slide_data["slide".$i."_valid_char_count"] = $metadata["sa_slide".$i."_char_count"][0];
@@ -50,9 +62,9 @@ function slide_anything_shortcode($atts) {
50
  } else {
51
  $slide_data["slide".$i."_actual_char_count"] = strlen($metadata["sa_slide".$i."_content"][0]);
52
  }
53
- // apply 'the_content' filter to slide content to process any shortcodes
54
  if ($slide_data['shortcodes'] == 'true') {
55
- $slide_data["slide".$i."_content"] = apply_filters('the_content', $metadata["sa_slide".$i."_content"][0]);
56
  } else {
57
  $slide_data["slide".$i."_content"] = $metadata["sa_slide".$i."_content"][0];
58
  }
@@ -61,12 +73,51 @@ function slide_anything_shortcode($atts) {
61
  $slide_data["slide".$i."_image_size"] = $metadata["sa_slide".$i."_image_size"][0];
62
  $slide_data["slide".$i."_image_repeat"] = $metadata["sa_slide".$i."_image_repeat"][0];
63
  $slide_data["slide".$i."_image_color"] = $metadata["sa_slide".$i."_image_color"][0];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  }
65
  $slide_data['slide_duration'] = floatval($metadata['sa_slide_duration'][0]) * 1000;
66
  if ($slide_data['slide_duration'] == 0) {
67
  $slide_data['slide_duration'] = 'false';
68
  }
69
  $slide_data['slide_transition'] = floatval($metadata['sa_slide_transition'][0]) * 1000;
 
 
 
 
 
70
  $slide_data['loop_slider'] = $metadata['sa_loop_slider'][0];
71
  if ($slide_data['loop_slider'] == '1') {
72
  $slide_data['loop_slider'] = 'true';
@@ -85,6 +136,12 @@ function slide_anything_shortcode($atts) {
85
  } else {
86
  $slide_data['random_order'] = 'false';
87
  }
 
 
 
 
 
 
88
  $slide_data['nav_arrows'] = $metadata['sa_nav_arrows'][0];
89
  if ($slide_data['nav_arrows'] == '1') {
90
  $slide_data['nav_arrows'] = 'true';
@@ -119,7 +176,6 @@ function slide_anything_shortcode($atts) {
119
  $slide_data['items_width6'] = $slide_data['items_width5'];
120
  }
121
  $slide_data['transition'] = $metadata['sa_transition'][0];
122
- $slide_data['css_id'] = $metadata['sa_css_id'][0];
123
  $slide_data['background_color'] = $metadata['sa_background_color'][0];
124
  $slide_data['border_width'] = $metadata['sa_border_width'][0];
125
  $slide_data['border_color'] = $metadata['sa_border_color'][0];
@@ -128,19 +184,31 @@ function slide_anything_shortcode($atts) {
128
  $slide_data['wrapper_padd_right'] = $metadata['sa_wrapper_padd_right'][0];
129
  $slide_data['wrapper_padd_bottom'] = $metadata['sa_wrapper_padd_bottom'][0];
130
  $slide_data['wrapper_padd_left'] = $metadata['sa_wrapper_padd_left'][0];
131
- $slide_data['slide_min_height'] = $metadata['sa_slide_min_height'][0];
132
  $slide_data['slide_padding_tb'] = $metadata['sa_slide_padding_tb'][0];
133
  $slide_data['slide_padding_lr'] = $metadata['sa_slide_padding_lr'][0];
134
  $slide_data['slide_margin_lr'] = $metadata['sa_slide_margin_lr'][0];
 
135
  $slide_data['autohide_arrows'] = $metadata['sa_autohide_arrows'][0];
136
  if ($slide_data['autohide_arrows'] == '1') {
137
  $slide_data['autohide_arrows'] = 'true';
138
  } else {
139
  $slide_data['autohide_arrows'] = 'false';
140
  }
141
-
 
 
 
 
 
 
 
 
 
 
 
142
  // RE-ORDER SLIDES IN A RANDOM ORDER IF 'Random Order' CHECKBOX IS CHECKED
143
- if ($slide_data['random_order'] == 'true') {
144
  $reorder_arr = array();
145
  for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
146
  $reorder_arr[$i-1]['content'] = $slide_data["slide".$i."_content"];
@@ -149,8 +217,31 @@ function slide_anything_shortcode($atts) {
149
  $reorder_arr[$i-1]['image_size'] = $slide_data["slide".$i."_image_size"];
150
  $reorder_arr[$i-1]['image_repeat'] = $slide_data["slide".$i."_image_repeat"];
151
  $reorder_arr[$i-1]['image_color'] = $slide_data["slide".$i."_image_color"];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  }
153
- shuffle($reorder_arr);
154
  for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
155
  $slide_data["slide".$i."_content"] = $reorder_arr[$i-1]['content'];
156
  $slide_data["slide".$i."_image_id"] = $reorder_arr[$i-1]['image_id'];
@@ -158,6 +249,22 @@ function slide_anything_shortcode($atts) {
158
  $slide_data["slide".$i."_image_size"] = $reorder_arr[$i-1]['image_size'];
159
  $slide_data["slide".$i."_image_repeat"] = $reorder_arr[$i-1]['image_repeat'];
160
  $slide_data["slide".$i."_image_color"] = $reorder_arr[$i-1]['image_color'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  }
162
  }
163
 
@@ -169,20 +276,26 @@ function slide_anything_shortcode($atts) {
169
  $wrapper_style .= $slide_data['wrapper_padd_right']."px ";
170
  $wrapper_style .= $slide_data['wrapper_padd_bottom']."px ";
171
  $wrapper_style .= $slide_data['wrapper_padd_left']."px;";
172
- $output .= "<div style='".esc_attr($wrapper_style)."'>\n";
173
  if ($slide_data['pagination'] == 'true') {
174
  if ($slide_data['autohide_arrows'] == 'true') {
175
- $output .= "<div id='".esc_attr($slide_data['css_id'])."' class='owl-carousel owl-pagination-true autohide-arrows'>\n";
176
  } else {
177
- $output .= "<div id='".esc_attr($slide_data['css_id'])."' class='owl-carousel owl-pagination-true'>\n";
178
  }
179
  } else {
180
  if ($slide_data['autohide_arrows'] == 'true') {
181
- $output .= "<div id='".esc_attr($slide_data['css_id'])."' class='owl-carousel autohide-arrows'>\n";
182
  } else {
183
- $output .= "<div id='".esc_attr($slide_data['css_id'])."' class='owl-carousel'>\n";
184
  }
185
  }
 
 
 
 
 
 
186
  for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
187
  $valid_char_count = $slide_data["slide".$i."_valid_char_count"];
188
  $actual_char_count = $slide_data["slide".$i."_actual_char_count"];
@@ -191,26 +304,131 @@ function slide_anything_shortcode($atts) {
191
  if ($valid_char_count == $actual_char_count) {
192
  $slide_content = $slide_data["slide".$i."_content"];
193
  $slide_image_src = wp_get_attachment_image_src($slide_data["slide".$i."_image_id"], 'full');
 
 
 
 
 
 
194
  $slide_image_size = $slide_data["slide".$i."_image_size"];
195
  $slide_image_pos = $slide_data["slide".$i."_image_pos"];
196
  $slide_image_repeat = $slide_data["slide".$i."_image_repeat"];
197
  $slide_image_color = $slide_data["slide".$i."_image_color"];
198
  $slide_style = "padding:".$slide_data['slide_padding_tb']."% ".$slide_data['slide_padding_lr']."%; ";
199
  $slide_style .= "margin:0px ".$slide_data['slide_margin_lr']."%; ";
200
- $slide_style .= "min-height:".$slide_data['slide_min_height']."px; ";
201
  $slide_style .= "background-image:url(\"".$slide_image_src[0]."\"); ";
202
  $slide_style .= "background-position:".$slide_image_pos."; ";
203
  $slide_style .= "background-size:".$slide_image_size."; ";
204
  $slide_style .= "background-repeat:".$slide_image_repeat."; ";
205
  $slide_style .= "background-color:".$slide_image_color."; ";
206
- //$output .= "<div style='".esc_attr($slide_style)."'>".wp_kses_post($slide_content)."</div>\n";
207
- $output .= "<div style='".esc_attr($slide_style)."'>".$slide_content."</div>\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  }
209
  }
210
  $output .= "</div>\n";
211
  $output .= "</div>\n";
212
-
213
- // GENERATE JQUERY CODE FOR THE OWL CAROUSEL SLIDER
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  if (wp_script_is('jquery', 'done')) { // Only generate JQuery code if JQuery has been loaded
215
  if (($slide_data['items_width1'] == 1) && ($slide_data['items_width2'] == 1) && ($slide_data['items_width3'] == 1) &&
216
  ($slide_data['items_width4'] == 1) && ($slide_data['items_width5'] == 1) && ($slide_data['items_width6'] == 1)) {
@@ -220,36 +438,198 @@ function slide_anything_shortcode($atts) {
220
  }
221
  $output .= "<script type='text/javascript'>\n";
222
  $output .= " jQuery(document).ready(function() {\n";
 
 
223
  $output .= " jQuery('#".esc_attr($slide_data['css_id'])."').owlCarousel({\n";
224
  if ($single_item == 1) {
225
- $output .= " singleItem : true,\n";
226
- $output .= " transitionStyle : '".esc_attr($slide_data['transition'])."',\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  } else {
228
- $output .= " itemsCustom : [\n";
229
- $output .= " [0,".esc_attr($slide_data['items_width1'])."],\n";
230
- $output .= " [480,".esc_attr($slide_data['items_width2'])."],\n";
231
- $output .= " [768,".esc_attr($slide_data['items_width3'])."],\n";
232
- $output .= " [980,".esc_attr($slide_data['items_width4'])."],\n";
233
- $output .= " [1200,".esc_attr($slide_data['items_width5'])."],\n";
234
- $output .= " [1400,".esc_attr($slide_data['items_width6'])."]\n";
235
- $output .= " ],\n";
236
  }
237
- $output .= " autoPlay : ".esc_attr($slide_data['slide_duration']).",\n";
238
- $output .= " paginationSpeed : ".esc_attr($slide_data['slide_transition']).",\n";
239
- $output .= " slideSpeed : ".esc_attr($slide_data['slide_transition']).",\n";
240
- $output .= " rewindSpeed : 1000,\n";
241
- $output .= " rewindNav : ".esc_attr($slide_data['loop_slider']).",\n";
242
- $output .= " stopOnHover : ".esc_attr($slide_data['stop_hover']).",\n";
243
- $output .= " navigation : ".esc_attr($slide_data['nav_arrows']).",\n";
244
- $output .= " navigationText : ['',''],\n";
245
- $output .= " pagination : ".esc_attr($slide_data['pagination']).",\n";
246
- $output .= " itemsScaleUp : false,\n";
 
 
 
 
 
 
 
 
 
 
247
  $output .= " mouseDrag : ".esc_attr($slide_data['mouse_drag']).",\n";
248
  $output .= " touchDrag : ".esc_attr($slide_data['touch_drag'])."\n";
249
  $output .= " });\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
  $output .= " });\n";
251
  $output .= "</script>\n";
252
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  }
254
  }
255
  return $output;
7
 
8
  /* ##### ROOT FUNCTION THAT IS CALLED TO BY THE 'slide-anything' SHORTCODE ##### */
9
  function slide_anything_shortcode($atts) {
10
+ $sa_pro_version = validate_slide_anything_pro_registration();
11
  wp_enqueue_script('jquery');
12
+ wp_register_script('owl_carousel_js', SA_PLUGIN_PATH.'owl-carousel/owl.carousel.min.js', array('jquery'), '2.2.1', true);
13
  wp_enqueue_script('owl_carousel_js');
14
+ wp_register_style('owl_carousel_css', SA_PLUGIN_PATH.'owl-carousel/owl.carousel.css', array(), '2.2.1.1', 'all');
15
  wp_enqueue_style('owl_carousel_css');
16
+ wp_register_style('owl_theme_css', SA_PLUGIN_PATH.'owl-carousel/sa-owl-theme.css', array(), '2.0', 'all');
17
  wp_enqueue_style('owl_theme_css');
18
+ wp_register_style('owl_animate_css', SA_PLUGIN_PATH.'owl-carousel/animate.min.css', array(), '2.0', 'all');
19
+ wp_enqueue_style('owl_animate_css');
20
+ if ($sa_pro_version) {
21
+ // JAVASCRIPT/CSS FOR MAGNIFIC POPUP
22
+ wp_register_script('magnific-popup_js', SA_PLUGIN_PATH.'magnific-popup/jquery.magnific-popup.min.js', array('jquery'), '1.1.0', true);
23
+ wp_enqueue_script('magnific-popup_js');
24
+ wp_register_style('magnific-popup_css', SA_PLUGIN_PATH.'magnific-popup/magnific-popup.css', array(), '1.1.0', 'all');
25
+ wp_enqueue_style('magnific-popup_css');
26
+ }
27
+
28
  // EXTRACT SHORTCODE ATTRIBUTES
29
  extract(shortcode_atts(array(
30
  'id' => 0,
32
  $output = '';
33
 
34
  if ($id == 0) {
35
+ // SHORTCODE 'id' PARAMETER PROVIDED IS INVALID
36
+ $output .= "<div id='sa_invalid_postid'>Slide Anything shortcode error: A valid ID has not been provided</div>\n";
37
  } else {
38
+ $post_status = get_post_status($id);
39
+ if ($post_status == 'publish') {
40
+ $metadata = get_metadata('post', $id);
41
+ }
42
+ if (($post_status != 'publish') || (count($metadata) == 0)) {
43
+ // SHORTCODE 'id' PARAMETER PROVIDED IS INVALID
44
+ $output .= "<div id='sa_invalid_postid'>Slide Anything shortcode error: A valid ID has not been provided</div>\n";
45
  } else {
46
  // ### VALID 'id' PROVIDED - PROCESS SHORTCODE ###
47
  // GET SLIDE DATA FROM DATABASE AND SAVE IN ARRAY
53
  } else {
54
  $slide_data['shortcodes'] = 'false';
55
  }
56
+ $slide_data['css_id'] = $metadata['sa_css_id'][0];
57
  for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
58
  // get the valid content character count and the actual content character count
59
  $slide_data["slide".$i."_valid_char_count"] = $metadata["sa_slide".$i."_char_count"][0];
62
  } else {
63
  $slide_data["slide".$i."_actual_char_count"] = strlen($metadata["sa_slide".$i."_content"][0]);
64
  }
65
+ // apply 'the_content' filter to slide content to process any shortcodes
66
  if ($slide_data['shortcodes'] == 'true') {
67
+ $slide_data["slide".$i."_content"] = do_shortcode($metadata["sa_slide".$i."_content"][0]);
68
  } else {
69
  $slide_data["slide".$i."_content"] = $metadata["sa_slide".$i."_content"][0];
70
  }
73
  $slide_data["slide".$i."_image_size"] = $metadata["sa_slide".$i."_image_size"][0];
74
  $slide_data["slide".$i."_image_repeat"] = $metadata["sa_slide".$i."_image_repeat"][0];
75
  $slide_data["slide".$i."_image_color"] = $metadata["sa_slide".$i."_image_color"][0];
76
+ $slide_data["slide".$i."_link_url"] = $metadata["sa_slide".$i."_link_url"][0];
77
+ $slide_data["slide".$i."_link_target"] = $metadata["sa_slide".$i."_link_target"][0];
78
+ if ($slide_data["slide".$i."_link_target"] == '') {
79
+ $slide_data["slide".$i."_link_target"] = '_self';
80
+ }
81
+ if ($sa_pro_version) {
82
+ // ### PRO VERSION - GET POPUP DATA ###
83
+ $slide_data["slide".$i."_popup_type"] = $metadata["sa_slide".$i."_popup_type"][0];
84
+ $slide_data["slide".$i."_popup_imageid"] = $metadata["sa_slide".$i."_popup_imageid"][0];
85
+ $slide_data["slide".$i."_popup_imagetitle"] = $metadata["sa_slide".$i."_popup_imagetitle"][0];
86
+ $slide_data["slide".$i."_popup_image"] = '';
87
+ $slide_data["slide".$i."_popup_background"] = 'no';
88
+ if ($slide_data["slide".$i."_popup_type"] == 'IMAGE') {
89
+ if (($slide_data["slide".$i."_popup_imageid"] != '') && ($slide_data["slide".$i."_popup_imageid"] != 0)) {
90
+ $popup_full_images = wp_get_attachment_image_src($slide_data["slide".$i."_popup_imageid"], 'full');
91
+ $slide_data["slide".$i."_popup_image"] = $popup_full_images[0];
92
+ $slide_data["slide".$i."_popup_background"] = $metadata["sa_slide".$i."_popup_background"][0];
93
+ if ($slide_data["slide".$i."_popup_background"] == '') {
94
+ $slide_data["slide".$i."_popup_background"] = 'no';
95
+ }
96
+ }
97
+ }
98
+ $slide_data["slide".$i."_popup_video_id"] = $metadata["sa_slide".$i."_popup_video_id"][0];
99
+ $slide_data["slide".$i."_popup_video_type"] = $metadata["sa_slide".$i."_popup_video_type"][0];
100
+ $slide_data["slide".$i."_popup_html"] = $metadata["sa_slide".$i."_popup_html"][0];
101
+ $slide_data["slide".$i."_popup_shortcode"] = $metadata["sa_slide".$i."_popup_shortcode"][0];
102
+ $slide_data["slide".$i."_popup_bgcol"] = $metadata["sa_slide".$i."_popup_bgcol"][0];
103
+ $slide_data["slide".$i."_popup_width"] = $metadata["sa_slide".$i."_popup_width"][0];
104
+ if ($slide_data["slide".$i."_popup_type"] == 'HTML') {
105
+ $slide_data["slide".$i."_popup_css_id"] = $slide_data['css_id']."_popup".$i;
106
+ } else {
107
+ $slide_data["slide".$i."_popup_css_id"] = '';
108
+ }
109
+ }
110
  }
111
  $slide_data['slide_duration'] = floatval($metadata['sa_slide_duration'][0]) * 1000;
112
  if ($slide_data['slide_duration'] == 0) {
113
  $slide_data['slide_duration'] = 'false';
114
  }
115
  $slide_data['slide_transition'] = floatval($metadata['sa_slide_transition'][0]) * 1000;
116
+ if (isset($metadata['sa_slide_by'][0]) && ($metadata['sa_slide_by'][0] != '')) {
117
+ $slide_data['slide_by'] = $metadata['sa_slide_by'][0];
118
+ } else {
119
+ $slide_data['slide_by'] = 1;
120
+ }
121
  $slide_data['loop_slider'] = $metadata['sa_loop_slider'][0];
122
  if ($slide_data['loop_slider'] == '1') {
123
  $slide_data['loop_slider'] = 'true';
136
  } else {
137
  $slide_data['random_order'] = 'false';
138
  }
139
+ $slide_data['reverse_order'] = $metadata['sa_reverse_order'][0];
140
+ if ($slide_data['reverse_order'] == '1') {
141
+ $slide_data['reverse_order'] = 'true';
142
+ } else {
143
+ $slide_data['reverse_order'] = 'false';
144
+ }
145
  $slide_data['nav_arrows'] = $metadata['sa_nav_arrows'][0];
146
  if ($slide_data['nav_arrows'] == '1') {
147
  $slide_data['nav_arrows'] = 'true';
176
  $slide_data['items_width6'] = $slide_data['items_width5'];
177
  }
178
  $slide_data['transition'] = $metadata['sa_transition'][0];
 
179
  $slide_data['background_color'] = $metadata['sa_background_color'][0];
180
  $slide_data['border_width'] = $metadata['sa_border_width'][0];
181
  $slide_data['border_color'] = $metadata['sa_border_color'][0];
184
  $slide_data['wrapper_padd_right'] = $metadata['sa_wrapper_padd_right'][0];
185
  $slide_data['wrapper_padd_bottom'] = $metadata['sa_wrapper_padd_bottom'][0];
186
  $slide_data['wrapper_padd_left'] = $metadata['sa_wrapper_padd_left'][0];
187
+ $slide_data['slide_min_height_perc'] = $metadata['sa_slide_min_height_perc'][0];
188
  $slide_data['slide_padding_tb'] = $metadata['sa_slide_padding_tb'][0];
189
  $slide_data['slide_padding_lr'] = $metadata['sa_slide_padding_lr'][0];
190
  $slide_data['slide_margin_lr'] = $metadata['sa_slide_margin_lr'][0];
191
+ $slide_data['slide_icons_location'] = $metadata['sa_slide_icons_location'][0];
192
  $slide_data['autohide_arrows'] = $metadata['sa_autohide_arrows'][0];
193
  if ($slide_data['autohide_arrows'] == '1') {
194
  $slide_data['autohide_arrows'] = 'true';
195
  } else {
196
  $slide_data['autohide_arrows'] = 'false';
197
  }
198
+ $slide_data['slide_icons_visible'] = $metadata['sa_slide_icons_visible'][0];
199
+ if ($slide_data['slide_icons_visible'] == '1') {
200
+ $slide_data['slide_icons_visible'] = 'true';
201
+ } else {
202
+ $slide_data['slide_icons_visible'] = 'false';
203
+ }
204
+ $slide_data['slide_icons_color'] = $metadata['sa_slide_icons_color'][0];
205
+ if ($slide_data['slide_icons_color'] != 'black') {
206
+ $slide_data['slide_icons_color'] = 'white';
207
+ }
208
+
209
+ // REVERSE THE ORDER OF THE SLIDES IF 'Random Order' CHECKBOX IS CHECKED OR
210
  // RE-ORDER SLIDES IN A RANDOM ORDER IF 'Random Order' CHECKBOX IS CHECKED
211
+ if (($slide_data['reverse_order'] == 'true') || ($slide_data['random_order'] == 'true')) {
212
  $reorder_arr = array();
213
  for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
214
  $reorder_arr[$i-1]['content'] = $slide_data["slide".$i."_content"];
217
  $reorder_arr[$i-1]['image_size'] = $slide_data["slide".$i."_image_size"];
218
  $reorder_arr[$i-1]['image_repeat'] = $slide_data["slide".$i."_image_repeat"];
219
  $reorder_arr[$i-1]['image_color'] = $slide_data["slide".$i."_image_color"];
220
+ $reorder_arr[$i-1]['link_url'] = $slide_data["slide".$i."_link_url"];
221
+ $reorder_arr[$i-1]['link_target'] = $slide_data["slide".$i."_link_target"];
222
+ if ($sa_pro_version) {
223
+ $reorder_arr[$i-1]['popup_type'] = $slide_data["slide".$i."_popup_type"];
224
+ $reorder_arr[$i-1]['popup_imageid'] = $slide_data["slide".$i."_popup_imageid"];
225
+ $reorder_arr[$i-1]['popup_imagetitle'] = $slide_data["slide".$i."_popup_imagetitle"];
226
+ $reorder_arr[$i-1]['popup_image'] = $slide_data["slide".$i."_popup_image"];
227
+ $reorder_arr[$i-1]['popup_background'] = $slide_data["slide".$i."_popup_background"];
228
+ $reorder_arr[$i-1]['popup_video_id'] = $slide_data["slide".$i."_popup_video_id"];
229
+ $reorder_arr[$i-1]['popup_video_type'] = $slide_data["slide".$i."_popup_video_type"];
230
+ $reorder_arr[$i-1]['popup_html'] = $slide_data["slide".$i."_popup_html"];
231
+ $reorder_arr[$i-1]['popup_shortcode'] = $slide_data["slide".$i."_popup_shortcode"];
232
+ $reorder_arr[$i-1]['popup_bgcol'] = $slide_data["slide".$i."_popup_bgcol"];
233
+ $reorder_arr[$i-1]['popup_width'] = $slide_data["slide".$i."_popup_width"];
234
+ $reorder_arr[$i-1]['popup_css_id'] = $slide_data["slide".$i."_popup_css_id"];
235
+ }
236
+ }
237
+ if ($slide_data['random_order'] == 'true') {
238
+ // SORT SLIDE ARRAY DATA IN A RANDOM ORDER
239
+ shuffle($reorder_arr);
240
+ } else {
241
+ // REVERSE THE ORDER OF THE SLIDE DATA ARRAY
242
+ $reverse_arr = array_reverse($reorder_arr);
243
+ $reorder_arr = $reverse_arr;
244
  }
 
245
  for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
246
  $slide_data["slide".$i."_content"] = $reorder_arr[$i-1]['content'];
247
  $slide_data["slide".$i."_image_id"] = $reorder_arr[$i-1]['image_id'];
249
  $slide_data["slide".$i."_image_size"] = $reorder_arr[$i-1]['image_size'];
250
  $slide_data["slide".$i."_image_repeat"] = $reorder_arr[$i-1]['image_repeat'];
251
  $slide_data["slide".$i."_image_color"] = $reorder_arr[$i-1]['image_color'];
252
+ $slide_data["slide".$i."_link_url"] = $reorder_arr[$i-1]['link_url'];
253
+ $slide_data["slide".$i."_link_target"] = $reorder_arr[$i-1]['link_target'];
254
+ if ($sa_pro_version) {
255
+ $slide_data["slide".$i."_popup_type"] = $reorder_arr[$i-1]['popup_type'];
256
+ $slide_data["slide".$i."_popup_imageid"] = $reorder_arr[$i-1]['popup_imageid'];
257
+ $slide_data["slide".$i."_popup_imagetitle"] = $reorder_arr[$i-1]['popup_imagetitle'];
258
+ $slide_data["slide".$i."_popup_image"] = $reorder_arr[$i-1]['popup_image'];
259
+ $slide_data["slide".$i."_popup_background"] = $reorder_arr[$i-1]['popup_background'];
260
+ $slide_data["slide".$i."_popup_video_id"] = $reorder_arr[$i-1]['popup_video_id'];
261
+ $slide_data["slide".$i."_popup_video_type"] = $reorder_arr[$i-1]['popup_video_type'];
262
+ $slide_data["slide".$i."_popup_html"] = $reorder_arr[$i-1]['popup_html'];
263
+ $slide_data["slide".$i."_popup_shortcode"] = $reorder_arr[$i-1]['popup_shortcode'];
264
+ $slide_data["slide".$i."_popup_bgcol"] = $reorder_arr[$i-1]['popup_bgcol'];
265
+ $slide_data["slide".$i."_popup_width"] = $reorder_arr[$i-1]['popup_width'];
266
+ $slide_data["slide".$i."_popup_css_id"] = $reorder_arr[$i-1]['popup_css_id'];
267
+ }
268
  }
269
  }
270
 
276
  $wrapper_style .= $slide_data['wrapper_padd_right']."px ";
277
  $wrapper_style .= $slide_data['wrapper_padd_bottom']."px ";
278
  $wrapper_style .= $slide_data['wrapper_padd_left']."px;";
279
+ $output .= "<div class='".$slide_data['slide_icons_color']."' style='".esc_attr($wrapper_style)."'>\n";
280
  if ($slide_data['pagination'] == 'true') {
281
  if ($slide_data['autohide_arrows'] == 'true') {
282
+ $output .= "<div id='".esc_attr($slide_data['css_id'])."' class='owl-carousel owl-pagination-true autohide-arrows sa_owl_theme'>\n";
283
  } else {
284
+ $output .= "<div id='".esc_attr($slide_data['css_id'])."' class='owl-carousel owl-pagination-true sa_owl_theme'>\n";
285
  }
286
  } else {
287
  if ($slide_data['autohide_arrows'] == 'true') {
288
+ $output .= "<div id='".esc_attr($slide_data['css_id'])."' class='owl-carousel autohide-arrows sa_owl_theme'>\n";
289
  } else {
290
+ $output .= "<div id='".esc_attr($slide_data['css_id'])."' class='owl-carousel sa_owl_theme'>\n";
291
  }
292
  }
293
+ if ($sa_pro_version) {
294
+ // PRO VERSION - INITIALISE VAIRABLES FOR MAGNIFIC POPUP
295
+ $lightbox_function = "open_lightbox_gallery_".$slide_data['css_id'];
296
+ $lightbox_gallery_id = "lightbox_button_".$slide_data['css_id'];
297
+ $lightbox_count = 0;
298
+ }
299
  for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
300
  $valid_char_count = $slide_data["slide".$i."_valid_char_count"];
301
  $actual_char_count = $slide_data["slide".$i."_actual_char_count"];
304
  if ($valid_char_count == $actual_char_count) {
305
  $slide_content = $slide_data["slide".$i."_content"];
306
  $slide_image_src = wp_get_attachment_image_src($slide_data["slide".$i."_image_id"], 'full');
307
+ // SA PRO VERSION - USE POPUP IMAGE AS SLIDE BACKGROUND IMAGE (IF THIS OPTION SELECTED)
308
+ if (($sa_pro_version) && ($slide_data["slide".$i."_popup_type"] == 'IMAGE')) {
309
+ if (($slide_data["slide".$i."_popup_background"] != 'no') && ($slide_data["slide".$i."_popup_image"] != '')) {
310
+ $slide_image_src = wp_get_attachment_image_src($slide_data["slide".$i."_popup_imageid"], $slide_data["slide".$i."_popup_background"]);
311
+ }
312
+ }
313
  $slide_image_size = $slide_data["slide".$i."_image_size"];
314
  $slide_image_pos = $slide_data["slide".$i."_image_pos"];
315
  $slide_image_repeat = $slide_data["slide".$i."_image_repeat"];
316
  $slide_image_color = $slide_data["slide".$i."_image_color"];
317
  $slide_style = "padding:".$slide_data['slide_padding_tb']."% ".$slide_data['slide_padding_lr']."%; ";
318
  $slide_style .= "margin:0px ".$slide_data['slide_margin_lr']."%; ";
 
319
  $slide_style .= "background-image:url(\"".$slide_image_src[0]."\"); ";
320
  $slide_style .= "background-position:".$slide_image_pos."; ";
321
  $slide_style .= "background-size:".$slide_image_size."; ";
322
  $slide_style .= "background-repeat:".$slide_image_repeat."; ";
323
  $slide_style .= "background-color:".$slide_image_color."; ";
324
+
325
+ // BUILD SLIDE LINK HOVER BUTTON
326
+ $link_output = '';
327
+ if ($slide_data["slide".$i."_link_url"] != '') {
328
+ $link_output = "<a class='sa_slide_link_icon' href='".$slide_data["slide".$i."_link_url"]."' ";
329
+ $link_output .= "target='".$slide_data["slide".$i."_link_target"]."'></a>";
330
+ }
331
+
332
+ // BUILD POPUP HOVER BUTTON - PRO VERSION ONLY!
333
+ $popup_output = '';
334
+ if ($sa_pro_version) {
335
+ if (($slide_data["slide".$i."_popup_type"] == 'IMAGE') && ($slide_data["slide".$i."_popup_image"] != '')) {
336
+ $lightbox_count++;
337
+ $popup_output = "<div class='sa_popup_zoom_icon' onClick='".$lightbox_function."(".$lightbox_count.");'></div>";
338
+ }
339
+ if (($slide_data["slide".$i."_popup_type"] == 'VIDEO') && ($slide_data["slide".$i."_popup_video_id"] != '')) {
340
+ $lightbox_count++;
341
+ $popup_output = "<div class='sa_popup_video_icon' onClick='".$lightbox_function."(".$lightbox_count.");'></div>";
342
+ }
343
+ if ($slide_data["slide".$i."_popup_type"] == 'HTML') {
344
+ $lightbox_count++;
345
+ $popup_output = "<div class='sa_popup_zoom_icon' onClick='".$lightbox_function."(".$lightbox_count.");'></div>";
346
+ }
347
+ }
348
+
349
+ // DISPLAY SLIDE OUTPUT
350
+ //$data_hash = $slide_data['css_id']."_slide".sprintf('%02d', $i);
351
+ //$output .= "<div class='sa_hover_container' data-hash='".$data_hash."' style='".esc_attr($slide_style)."'>";
352
+ $output .= "<div class='sa_hover_container' style='".esc_attr($slide_style)."'>";
353
+ if (($link_output != '') || ($popup_output != '')) {
354
+ if ($slide_data['slide_icons_location'] == 'Top Left') {
355
+ // icons location - top left
356
+ $style = "top:0px; left:0px; margin:0px;";
357
+ } elseif ($slide_data['slide_icons_location'] == 'Top Center') {
358
+ // icons location - top center
359
+ if (($link_output != '') && ($popup_output != '')) { $hov_marginL = '-40px'; }
360
+ else { $hov_marginL = '-20px'; }
361
+ $style = "top:0px; left:50%; margin-left:".$hov_marginL.";";
362
+ } elseif ($slide_data['slide_icons_location'] == 'Top Right') {
363
+ // icons location - top right
364
+ $style = "top:0px; right:0px; margin:0px;";
365
+ } elseif ($slide_data['slide_icons_location'] == 'Bottom Left') {
366
+ // icons location - bottom left
367
+ $style = "bottom:0px; left:0px; margin:0px;";
368
+ } elseif ($slide_data['slide_icons_location'] == 'Bottom Center') {
369
+ // icons location - bottom center
370
+ if (($link_output != '') && ($popup_output != '')) { $hov_marginL = '-40px'; }
371
+ else { $hov_marginL = '-20px'; }
372
+ $style = "bottom:0px; left:50%; margin-left:".$hov_marginL.";";
373
+ } elseif ($slide_data['slide_icons_location'] == 'Bottom Right') {
374
+ // icons location - bottom right
375
+ $style = "bottom:0px; right:0px; margin:0px;";
376
+ } else {
377
+ // icons location - center center (default)
378
+ if (($link_output != '') && ($popup_output != '')) { $hov_marginL = '-40px'; }
379
+ else { $hov_marginL = '-20px'; }
380
+ $style = "top:50%; left:50%; margin-top:-20px; margin-left:".$hov_marginL.";";
381
+ }
382
+ if ($slide_data['slide_icons_visible'] == 'true') {
383
+ $output .= "<div class='sa_hover_buttons always_visible' style='".$style."'>";
384
+ } else {
385
+ $output .= "<div class='sa_hover_buttons' style='".$style."'>";
386
+ }
387
+ if ($link_output != '') {
388
+ $output .= $link_output;
389
+ }
390
+ if ($popup_output != '') {
391
+ $output .= $popup_output;
392
+ }
393
+ $output .= "</div>\n"; // .sa_hover_buttons
394
+ }
395
+ $output .= $slide_content."</div>\n"; // .sa_hover_container
396
  }
397
  }
398
  $output .= "</div>\n";
399
  $output .= "</div>\n";
400
+
401
+
402
+
403
+ // PRO VERSION - CREATE A (HIDDEN) DIV FOR EACH 'HTML' POPUP
404
+ if ($sa_pro_version) {
405
+ for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
406
+ if ($slide_data["slide".$i."_popup_type"] == 'HTML') {
407
+ $popup_css_id = $slide_data["slide".$i."_popup_css_id"];
408
+ $popup_bgcol = $slide_data["slide".$i."_popup_bgcol"];
409
+ $popup_width = $slide_data["slide".$i."_popup_width"];
410
+ $output .= "<div id='".$popup_css_id."' class='mfp-hide sa_custom_popup' ";
411
+ $output .= "style='background:".$popup_bgcol."; max-width:".$popup_width."px;'>\n";
412
+ if ($slide_data["slide".$i."_popup_shortcode"] == '1') {
413
+ $output .= do_shortcode($slide_data["slide".$i."_popup_html"]);
414
+ } else {
415
+ $output .= $slide_data["slide".$i."_popup_html"];
416
+ }
417
+ $output .= "</div>\n";
418
+ }
419
+ }
420
+ }
421
+
422
+
423
+
424
+ // ### ENQUEUE JQUERY SCRIPT IF IT HAS NOT ALREADY BEEN LOADED ###
425
+ if (!wp_script_is('jquery', 'done')) {
426
+ wp_enqueue_script('jquery');
427
+ }
428
+
429
+
430
+
431
+ // ### GENERATE JQUERY CODE FOR THE OWL CAROUSEL SLIDER ###
432
  if (wp_script_is('jquery', 'done')) { // Only generate JQuery code if JQuery has been loaded
433
  if (($slide_data['items_width1'] == 1) && ($slide_data['items_width2'] == 1) && ($slide_data['items_width3'] == 1) &&
434
  ($slide_data['items_width4'] == 1) && ($slide_data['items_width5'] == 1) && ($slide_data['items_width6'] == 1)) {
438
  }
439
  $output .= "<script type='text/javascript'>\n";
440
  $output .= " jQuery(document).ready(function() {\n";
441
+
442
+ // JQUERY CODE FOR OWN CAROUSEL
443
  $output .= " jQuery('#".esc_attr($slide_data['css_id'])."').owlCarousel({\n";
444
  if ($single_item == 1) {
445
+ $output .= " items : 1,\n";
446
+ if (($slide_data['transition'] == 'Fade') || ($slide_data['transition'] == 'fade')) {
447
+ $output .= " animateOut : 'fadeOut',\n";
448
+ } elseif (($slide_data['transition'] == 'Slide Down') || ($slide_data['transition'] == 'goDown')) {
449
+ $output .= " animateOut : 'slideOutDown',\n";
450
+ $output .= " animateIn : 'fadeIn',\n";
451
+ } elseif ($slide_data['transition'] == 'Zoom In') {
452
+ $output .= " animateOut : 'fadeOut',\n";
453
+ $output .= " animateIn : 'zoomIn',\n";
454
+ } elseif ($slide_data['transition'] == 'Zoom Out') {
455
+ $output .= " animateOut : 'zoomOut',\n";
456
+ $output .= " animateIn : 'fadeIn',\n";
457
+ } elseif ($slide_data['transition'] == 'Flip Out X') {
458
+ $output .= " animateOut : 'flipOutX',\n";
459
+ $output .= " animateIn : 'fadeIn',\n";
460
+ } elseif ($slide_data['transition'] == 'Flip Out Y') {
461
+ $output .= " animateOut : 'flipOutY',\n";
462
+ $output .= " animateIn : 'fadeIn',\n";
463
+ } elseif ($slide_data['transition'] == 'Rotate Left') {
464
+ $output .= " animateOut : 'rotateOutDownLeft',\n";
465
+ $output .= " animateIn : 'fadeIn',\n";
466
+ } elseif ($slide_data['transition'] == 'Rotate Right') {
467
+ $output .= " animateOut : 'rotateOutDownRight',\n";
468
+ $output .= " animateIn : 'fadeIn',\n";
469
+ } elseif ($slide_data['transition'] == 'Bounce Out') {
470
+ $output .= " animateOut : 'bounceOut',\n";
471
+ $output .= " animateIn : 'fadeIn',\n";
472
+ } elseif ($slide_data['transition'] == 'Roll Out') {
473
+ $output .= " animateOut : 'rollOut',\n";
474
+ $output .= " animateIn : 'fadeIn',\n";
475
+ }
476
+ $output .= " smartSpeed : ".esc_attr($slide_data['slide_transition']).",\n";
477
  } else {
478
+ $output .= " responsive:{\n";
479
+ $output .= " 0:{ items:".esc_attr($slide_data['items_width1'])." },\n";
480
+ $output .= " 480:{ items:".esc_attr($slide_data['items_width2'])." },\n";
481
+ $output .= " 768:{ items:".esc_attr($slide_data['items_width3'])." },\n";
482
+ $output .= " 980:{ items:".esc_attr($slide_data['items_width4'])." },\n";
483
+ $output .= " 1200:{ items:".esc_attr($slide_data['items_width5'])." },\n";
484
+ $output .= " 1500:{ items:".esc_attr($slide_data['items_width6'])." }\n";
485
+ $output .= " },\n";
486
  }
487
+ if ($slide_data['slide_duration'] == 0) {
488
+ $output .= " autoplay : false,\n";
489
+ } else {
490
+ $output .= " autoplay : true,\n";
491
+ $output .= " autoplayTimeout : ".esc_attr($slide_data['slide_duration']).",\n";
492
+ }
493
+ $output .= " smartSpeed : ".esc_attr($slide_data['slide_transition']).",\n";
494
+ $output .= " fluidSpeed : ".esc_attr($slide_data['slide_transition']).",\n";
495
+ $output .= " autoplaySpeed : ".esc_attr($slide_data['slide_transition']).",\n";
496
+ $output .= " navSpeed : ".esc_attr($slide_data['slide_transition']).",\n";
497
+ $output .= " dotsSpeed : ".esc_attr($slide_data['slide_transition']).",\n";
498
+ $output .= " loop : ".esc_attr($slide_data['loop_slider']).",\n";
499
+ $output .= " autoplayHoverPause : ".esc_attr($slide_data['stop_hover']).",\n";
500
+ $output .= " nav : ".esc_attr($slide_data['nav_arrows']).",\n";
501
+ $output .= " navText : ['',''],\n";
502
+ $output .= " dots : ".esc_attr($slide_data['pagination']).",\n";
503
+ $output .= " responsiveRefreshRate : 200,\n";
504
+ $output .= " slideBy : ".esc_attr($slide_data['slide_by']).",\n";
505
+ $output .= " mergeFit : true,\n";
506
+ //$output .= " URLhashListener : true,\n";
507
  $output .= " mouseDrag : ".esc_attr($slide_data['mouse_drag']).",\n";
508
  $output .= " touchDrag : ".esc_attr($slide_data['touch_drag'])."\n";
509
  $output .= " });\n";
510
+
511
+ // JAVASCRIPT 'WINDOW RESIZE' EVENT TO SET CSS 'min-height' OF SLIDES WITHIN THIS SLIDER
512
+ $slide_min_height = $slide_data['slide_min_height_perc'];
513
+ if (($slide_min_height != '') && ($slide_min_height != '0')) {
514
+ $output .= " sa_resize_".esc_attr($slide_data['css_id'])."();\n"; // initial call of resize function
515
+ $output .= " window.addEventListener('resize', sa_resize_".esc_attr($slide_data['css_id']).");\n"; // create resize event
516
+ // RESIZE EVENT FUNCTION (to set slide CSS 'min-heigh')
517
+ $output .= " function sa_resize_".esc_attr($slide_data['css_id'])."() {\n";
518
+ // get slide min height setting
519
+ $output .= " var min_height = '".$slide_min_height."';\n";
520
+ // get window width
521
+ $output .= " var win_width = jQuery(window).width();\n";
522
+ $output .= " var slider_width = jQuery('#".esc_attr($slide_data['css_id'])."').width();\n";
523
+ // calculate slide width according to window width & number of slides
524
+ $output .= " if (win_width < 480) {\n";
525
+ $output .= " var slide_width = slider_width / ".esc_attr($slide_data['items_width1']).";\n";
526
+ $output .= " } else if (win_width < 768) {\n";
527
+ $output .= " var slide_width = slider_width / ".esc_attr($slide_data['items_width2']).";\n";
528
+ $output .= " } else if (win_width < 980) {\n";
529
+ $output .= " var slide_width = slider_width / ".esc_attr($slide_data['items_width3']).";\n";
530
+ $output .= " } else if (win_width < 1200) {\n";
531
+ $output .= " var slide_width = slider_width / ".esc_attr($slide_data['items_width4']).";\n";
532
+ $output .= " } else if (win_width < 1500) {\n";
533
+ $output .= " var slide_width = slider_width / ".esc_attr($slide_data['items_width5']).";\n";
534
+ $output .= " } else {\n";
535
+ $output .= " var slide_width = slider_width / ".esc_attr($slide_data['items_width6']).";\n";
536
+ $output .= " }\n";
537
+ $output .= " slide_width = Math.round(slide_width);\n";
538
+ // calculate CSS 'min-height' using the captured 'min-height' data settings for this slider
539
+ $output .= " var slide_height = '0';\n";
540
+ $output .= " if (min_height == 'aspect43') {\n";
541
+ $output .= " slide_height = (slide_width / 4) * 3;";
542
+ $output .= " slide_height = Math.round(slide_height);\n";
543
+ $output .= " } else if (min_height == 'aspect169') {\n";
544
+ $output .= " slide_height = (slide_width / 16) * 9;";
545
+ $output .= " slide_height = Math.round(slide_height);\n";
546
+ $output .= " } else {\n";
547
+ $output .= " slide_height = (slide_width / 100) * min_height;";
548
+ $output .= " slide_height = Math.round(slide_height);\n";
549
+ $output .= " }\n";
550
+ // set the slide 'min-height' css value
551
+ $output .= " jQuery('#".esc_attr($slide_data['css_id'])." .owl-item .sa_hover_container').css('min-height', slide_height+'px');\n";
552
+ $output .= " }\n";
553
+ }
554
  $output .= " });\n";
555
  $output .= "</script>\n";
556
+ }
557
+
558
+
559
+
560
+ // ### GENERATE JQUERY CODE FOR THE MAGNIFIC POPUP ###
561
+ if (wp_script_is('jquery', 'done')) { // Only generate JQuery code if JQuery has been loaded
562
+ if (($sa_pro_version) && ($lightbox_count > 0)) {
563
+ $output .= "<script type='text/javascript'>\n";
564
+ $output .= "jQuery(document).ready(function() {\n";
565
+ $output .= " jQuery('#".$lightbox_gallery_id."').magnificPopup({\n";
566
+ $output .= " items: [\n";
567
+ $count = 0;
568
+ for ($i = 1; $i <= $slide_data['num_slides']; $i++) {
569
+ // LOOP THROUGH EACH SLIDE
570
+ if (($slide_data["slide".$i."_popup_type"] == 'IMAGE') && ($slide_data["slide".$i."_popup_image"] != '')) {
571
+ // SLIDE CONTAINS AN IMAGE POPUP
572
+ $img_url = $slide_data["slide".$i."_popup_image"];
573
+ $img_title = $slide_data["slide".$i."_popup_imagetitle"];
574
+ if ($img_title != '') {
575
+ $output .= " { src: '".esc_attr($img_url)."', title: '".esc_attr($img_title)."' }";
576
+ } else {
577
+ $output .= " { src: '".esc_attr($img_url)."' }";
578
+ }
579
+ $count++;
580
+ if ($count < $lightbox_count) { $output .= ",\n"; }
581
+ else { $output .= "\n"; }
582
+ }
583
+ if (($slide_data["slide".$i."_popup_type"] == 'VIDEO') && ($slide_data["slide".$i."_popup_video_id"] != '')) {
584
+ // SLIDE CONTAINS A VIDEO POPUP
585
+ $video_id = $slide_data["slide".$i."_popup_video_id"];
586
+ $video_type = $slide_data["slide".$i."_popup_video_type"];
587
+ if ($video_type == 'youtube') {
588
+ $video_url = "http://www.youtube.com/watch?v=".$video_id;
589
+ } elseif ($video_type == 'vimeo') {
590
+ $video_url = "http://vimeo.com/".$video_id;
591
+ }
592
+ $output .= " { src: '".esc_attr($video_url)."', type: 'iframe' }";
593
+ $count++;
594
+ if ($count < $lightbox_count) { $output .= ",\n"; }
595
+ else { $output .= "\n"; }
596
+ }
597
+ if ($slide_data["slide".$i."_popup_type"] == 'HTML') {
598
+ // SLIDE CONTAINS A HTML POPUP
599
+ $popup_css_id = "#".$slide_data["slide".$i."_popup_css_id"];
600
+ $output .= " { src: '".esc_attr($popup_css_id)."', type: 'inline' }";
601
+ $count++;
602
+ if ($count < $lightbox_count) { $output .= ",\n"; }
603
+ else { $output .= "\n"; }
604
+ }
605
+ }
606
+ $output .= " ],\n";
607
+ $output .= " gallery: { enabled: true, tCounter: '' },\n";
608
+ $output .= " mainClass: 'sa_popup',\n";
609
+ $output .= " closeBtnInside: true,\n";
610
+ $output .= " callbacks: {\n";
611
+ $output .= " open: function() {\n";
612
+ $output .= " jQuery('#".esc_attr($slide_data['css_id'])."').trigger('stop.owl.autoplay');\n";
613
+ if ($slide_data['slide_duration'] != 0) {
614
+ $output .= " jQuery('#".esc_attr($slide_data['css_id'])."').unbind('mouseleave');\n";
615
+ }
616
+ $output .= " }\n";
617
+ $output .= " },\n";
618
+ $output .= " type: 'image'\n";
619
+ $output .= " });\n";
620
+ $output .= "});\n";
621
+
622
+ // JAVASCRIPT FUNCTION WHICH OPENS THIS MAGNIFIC POPUP ON A SPECIFIED SLIDE
623
+ $output .= "function ".$lightbox_function."(slide) {\n";
624
+ $output .= " jQuery('#".$lightbox_gallery_id."').magnificPopup('open');\n";
625
+ $output .= " jQuery('#".$lightbox_gallery_id."').magnificPopup('goTo', slide-1);\n";
626
+ $output .= "}\n";
627
+ $output .= "</script>\n";
628
+
629
+ // DIV CONTAINER WHICH HOLDS THIS MAGNIFIC POPUP CONTENT (HIDDEN)
630
+ $output .= "<div id='".$lightbox_gallery_id."' style='display:none;'></div>\n";
631
+ }
632
+ }
633
  }
634
  }
635
  return $output;
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
- === Slide Anything ===
2
  Contributors: simonpedge
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RP7JLGK6VT252
4
- Tags: carousel, content slider, owl carousel, responsive slider, html slider
5
  Requires at least: 4.0
6
- Tested up to: 4.4.2
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -12,17 +12,37 @@ Create responsive carousels or sliders where the content for each slide can be a
12
 
13
  == Description ==
14
 
15
- Slide Anything allows you to create a carousel/slider where the content for each slide can be anything you want - images, text, HTML, and even shortcodes. This plugin uses the Owl Carousel jQuery plugin, and lets you create beautiful, touch enabled, responsive carousels and sliders.
16
 
17
- Please view the [FAQ Page](https://wordpress.org/plugins/slide-anything/faq/) for information on how to use `Slide Anything`.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
  = Owl Carousel =
20
 
21
- [Owl Carousel](http://owlgraphic.com/owlcarousel/) is an extremely powerful and flexible carousel/slider JQuery plugin, and it is also free to use! Unfortunately, it's not easy to integrate Owl Carousel into a WordPress site if you are a non-developer, and requires JQuery and PHP coding skills. That is why I developed this plugin.
22
 
23
  I use Owl Carousel a in various WordPress sites I develop, specifically where I need the additional flexibility to develop a carousel with a more complex layout, or use a layout not catered for by any existing carousel plugin product.
24
 
25
- Owl Carousel has been tested in following browsers/devices: Chrome, Firefox, Opera, IE7/8/10/11, iPad Safari, iPod4 Safari, Nexus 7 Chrome, Galaxy S4, Nokia 8s and Windows 8.
 
 
26
 
27
  == Installation ==
28
 
@@ -96,6 +116,73 @@ The `SLIDE STYLE` settings are the style settings for each individual slide with
96
  * Added checkboxes to enable/disable `mouseDrag` and `touchDrag` carousel settings
97
  * Some small bug fixes
98
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  == Upgrade Notice ==
100
 
101
  = 1.0 =
@@ -124,3 +211,70 @@ The `SLIDE STYLE` settings are the style settings for each individual slide with
124
  * Added `Slide Transition` setting to set the transition of 1-Items Sliders to a 'fade', 'backSlide', 'goDown' or 'fadeUp' transition effect
125
  * Added checkboxes to enable/disable `mouseDrag` and `touchDrag` carousel settings
126
  * Some small bug fixes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Slide Anything - Responsive Content / HTML Slider and Carousel ===
2
  Contributors: simonpedge
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RP7JLGK6VT252
4
+ Tags: slider, carousel, content slider, responsive slider, html slider, owl carousel
5
  Requires at least: 4.0
6
+ Tested up to: 4.8
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
13
  == Description ==
14
 
15
+ Slide Anything allows you to create a carousel/slider where the content for each slide can be anything you want - images, text, HTML, and even shortcodes. This plugin uses the Owl Carousel 2 jQuery plugin, and lets you create beautiful, touch enabled, responsive carousels and sliders.
16
 
17
+ NOTE: UPGRADING TO VERSION 2.0!!!
18
+ After upgrading to Slide Anything version 2.0, if you are experiencing issues with your existing sliders, please RE-SAVE your existing sliders - by editing each existing SA slider and then clicking the 'Update' button. Also, if you site is running a CDN CACHE, please ensure you reset/clear this cache.
19
+
20
+ = Slide Anything Version 2 =
21
+
22
+ Slide Anything has now been rebuilt using Owl Carousel 2, and this now provides many improvements and new features:
23
+
24
+ * Infinite Looping - a much requested Owl Carousel 2 feature, which means that the first slide is now seamlessly displayed after the last slide without any carousel rewind.
25
+ * New Transition Effects - New Owl Carousel transitions include Slide, Fade, Zoom In, Zoom Out, Flip Out X/Y, Rotate Left/Right, Bounce Out, Roll Out and Slide Down.
26
+ * Slide Link Feature - A new feature which allows you to create a hover-over link button for any slide within your carousels.
27
+ * Modern Browsers - Owl Carousel 2 Uses hardware acceleration with CSS3 Translate3D transitions. Its fast and works like a charm! Slide Anything has CSS2 fallback built-in to support older browsers.
28
+
29
+ = Slide Anything PRO =
30
+
31
+ [SLIDE ANYTHING PRO](http://edgewebpages.com/) adds POPUPS into the mix!!
32
+
33
+ With [SLIDE ANYTHING PRO](http://edgewebpages.com/) each slide can now open a MODAL POPUP, which can be an IMAGE popup, a VIDEO EMBED popup (YouTube/Vimeo), a popup containing HTML CODE or a popup displaying a WordPress SHORTCODE. This can be a very useful addition to Slide Anything, if you are wanting to create Image or Video galleries for your websites.
34
+
35
+ For more information about Slide Anything PRO, [CLICK HERE](http://edgewebpages.com/).
36
 
37
  = Owl Carousel =
38
 
39
+ [Owl Carousel](https://owlcarousel2.github.io/OwlCarousel2/) is an extremely powerful and flexible carousel/slider JQuery plugin, and it is also free to use! Unfortunately, it's not easy to integrate Owl Carousel into a WordPress site if you are a non-developer, and requires JQuery and PHP coding skills. That is why I developed this plugin.
40
 
41
  I use Owl Carousel a in various WordPress sites I develop, specifically where I need the additional flexibility to develop a carousel with a more complex layout, or use a layout not catered for by any existing carousel plugin product.
42
 
43
+ Owl Carousel has been tested in following browsers/devices: Chrome, Firefox, Opera, IE7/8/10/11, Microsoft Edge, iPhone/iPad/Mac Safari and Android Chrome.
44
+
45
+ Please view the [FAQ Page](https://wordpress.org/plugins/slide-anything/faq/) for information on how to use `Slide Anything`.
46
 
47
  == Installation ==
48
 
116
  * Added checkboxes to enable/disable `mouseDrag` and `touchDrag` carousel settings
117
  * Some small bug fixes
118
 
119
+ = 1.6.1 =
120
+ * Bug Fix: Fixed minor issue when editing slide content within the WordPress Dashboard using the Text Editor. If HTML tags are not properly closed, then this was causing an issue - added the WordPress 'balanceTags()' function to correct this issue.
121
+
122
+ = 1.6.2 =
123
+ * Bug Fix: Fixed minor issue with IE 10 and IE 11 - the 'fade' and 'fade up' transition effects were not working.
124
+
125
+ = 2.0 =
126
+ * Rebuilt Slide Anything using Owl Carousel version 2.
127
+
128
+ = 2.0.1 =
129
+ * Some required CSS files were missing from the WordPress repository and therefore ZIP download. Quick patch to rectify this.
130
+
131
+ = 2.0.2 =
132
+ * Some small 'post version 2' bug fixes.
133
+
134
+ = 2.0.3 =
135
+ * Removed array dereferencing from PHP code, which causes a fatal error on web hosts using a PHP version prior to version 5.4.
136
+
137
+ = 2.0.4 =
138
+ * Fixed CSS bug with slide images (IMG tags) being resized to 100% of slide width.
139
+
140
+ = 2.0.5 =
141
+ * Fixed bug with slide 'min-height' percentage calculation.
142
+ * Changed Slide Anything Javascript loading to now load using '$(document).ready' instead of '$(window).load'.
143
+
144
+ = 2.0.6 =
145
+ * Increase number of slides allowed from 50 to 99.
146
+ * Added Owl Carousel 2.0 URL Hash Navigation feature
147
+ * Minor bug fixes
148
+
149
+ = 2.0.7 =
150
+ * Removed Owl Carousel 2.0 URL Hash Navigation feature
151
+
152
+ = 2.0.8 =
153
+ * Minor bug fix
154
+
155
+ = 2.0.9 =
156
+ * Added new 'Reverse Order' Checkbox to backend editor, which reverses the order of the slides created
157
+ * Added a 'Preview Slider' button to the backend editor - when clicked a popup modal is displayed containing a preview of the Slide Anything Slider
158
+
159
+ = 2.0.10 =
160
+ * Minor Bug Fix
161
+
162
+ = 2.0.11 =
163
+ * Bug Fix - Before generating Slide Anything JavaScript code, check if jQuery has been loaded loaded. If not, then 'Enqueue' jQuery script
164
+
165
+ = 2.0.12 =
166
+ * Bug Fix - Changed the location where the jQuery script is enqueued
167
+
168
+ = 2.0.13 =
169
+ * Bug Fix - Fixed a clash with the 'Envira Gallery' plugin
170
+
171
+ = 2.0.14 =
172
+ * Fix for using shortcodes inside of anything that already hooks into 'the_content'
173
+
174
+ = 2.0.15 =
175
+ * Modified plugin so that WordPress users with an 'Editor' role can save/update sliders
176
+
177
+ = 2.0.16 =
178
+ * Bug Fix: Modified WP Dashboard PHP code so that only a Slider 'CSS ID' containing letters (upper/lowercase) or Underscore '_' characters will be accepted. Using Dashes '-' within the CSS ID would cause a Javascript error.
179
+
180
+ = 2.0.17 =
181
+ * Added a new 'Slide By' setting to set the number of slides to slide per transition
182
+
183
+ = 2.0.18 =
184
+ * Minor Bug Fix
185
+
186
  == Upgrade Notice ==
187
 
188
  = 1.0 =
211
  * Added `Slide Transition` setting to set the transition of 1-Items Sliders to a 'fade', 'backSlide', 'goDown' or 'fadeUp' transition effect
212
  * Added checkboxes to enable/disable `mouseDrag` and `touchDrag` carousel settings
213
  * Some small bug fixes
214
+
215
+ = 1.6.1 =
216
+ * Bug Fix: Fixed minor issue when editing slide content within the WordPress Dashboard using the Text Editor. If HTML tags are not properly closed, then this was causing an issue - added the WordPress 'balanceTags()' function to correct this issue.
217
+
218
+ = 1.6.2 =
219
+ * Bug Fix: Fixed minor issue with IE 10 and IE 11 - the 'fade' and 'fade up' transition effects were not working.
220
+
221
+ = 2.0 =
222
+ * Rebuilt Slide Anything using Owl Carousel version 2.
223
+
224
+ = 2.0.1 =
225
+ * Some required CSS files were missing from the WordPress repository and therefore ZIP download. Quick patch to rectify this.
226
+
227
+ = 2.0.2 =
228
+ * Some small 'post version 2' bug fixes.
229
+
230
+ = 2.0.3 =
231
+ * Removed array dereferencing from PHP code, which causes a fatal error on web hosts using a PHP version prior to version 5.4.
232
+
233
+ = 2.0.4 =
234
+ * Fixed CSS bug with slide images (IMG tags) being resized to 100% of slide width.
235
+
236
+ = 2.0.5 =
237
+ * Fixed bug with slide 'min-height' percentage calculation.
238
+ * Changed Slide Anything Javascript loading to now load using '$(document).ready' instead of '$(window).load'.
239
+
240
+ = 2.0.6 =
241
+ * Increase number of slides allowed from 50 to 99.
242
+ * Added Owl Carousel 2.0 URL Hash Navigation feature
243
+ * Minor bug fixes
244
+
245
+ = 2.0.7 =
246
+ * Removed Owl Carousel 2.0 URL Hash Navigation feature
247
+
248
+ = 2.0.8 =
249
+ * Minor bug fix
250
+
251
+ = 2.0.9 =
252
+ * Added new 'Reverse Order' Checkbox to backend editor, which reverses the order of the slides created
253
+ * Added a 'Preview Slider' button to the backend editor - when clicked a popup modal is displayed containing a preview of the Slide Anything Slider
254
+
255
+ = 2.0.10 =
256
+ * Minor Bug Fix
257
+
258
+ = 2.0.11 =
259
+ * Bug Fix - Before generating Slide Anything JavaScript code, check if jQuery has been loaded loaded. If not, then 'Enqueue' jQuery script
260
+
261
+ = 2.0.12 =
262
+ * Bug Fix - Changed the location where the jQuery script is enqueued
263
+
264
+ = 2.0.13 =
265
+ * Bug Fix - Fixed a clash with the 'Envira Gallery' plugin
266
+
267
+ = 2.0.14 =
268
+ * Fix for using shortcodes inside of anything that already hooks into 'the_content'
269
+
270
+ = 2.0.15 =
271
+ * Modified plugin so that WordPress users with an 'Editor' role can save/update sliders
272
+
273
+ = 2.0.16 =
274
+ * Bug Fix: Modified WP Dashboard PHP code so that only a Slider 'CSS ID' containing letters (upper/lowercase) or Underscore '_' characters will be accepted. Using Dashes '-' within the CSS ID would cause a Javascript error.
275
+
276
+ = 2.0.17 =
277
+ * Added a new 'Slide By' setting to set the number of slides to slide per transition
278
+
279
+ = 2.0.18 =
280
+ * Minor Bug Fix
slide-anything.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
  /**
3
- * Plugin Name: Slide Anything
4
- * Plugin URI: https://wordpress.org/support/plugin/slide-anything
5
  * Description: Slide Anything allows you to create a carousel/slider where the content for each slide can be anything you want - images, text, HTML, and even shortcodes. This plugin uses the Owl Carousel jQuery plugin, and lets you create beautiful, touch enabled, responsive carousels and sliders.
6
  * Author: Simon Edge
7
- * Version: 1.6
8
  * License: GPLv2 or later
9
  */
10
 
@@ -20,7 +20,7 @@ require 'php/slide-anything-frontend.php';
20
  register_activation_hook(__FILE__, 'cpt_slider_plugin_activation' );
21
 
22
  /* ##### ADD ACTION HOOKS & FILTERS FOR PLUGIN ##### */
23
- add_action('admin_enqueue_scripts', 'cpt_register_admin_scripts');
24
  add_action('init', 'cpt_slider_register');
25
  add_action('post_row_actions', 'cpt_slider_row_actions', 10, 2);
26
  add_action('add_meta_boxes', 'cpt_slider_add_meta_boxes');
@@ -28,5 +28,9 @@ add_action('save_post', 'cpt_slider_save_postdata');
28
  add_filter('manage_sa_slider_posts_columns', 'cpt_slider_modify_columns');
29
  add_filter('manage_sa_slider_posts_custom_column', 'cpt_slider_custom_column_content');
30
  add_action('admin_head', 'add_tinymce_button');
31
- add_action('admin_footer', 'get_tinymce_shortcode_array');
 
 
 
 
32
  ?>
1
  <?php
2
  /**
3
+ * Plugin Name: Slide Anything - Responsive Content / HTML Slider and Carousel
4
+ * Plugin URI: https://wordpress.org/plugins/slide-anything/
5
  * Description: Slide Anything allows you to create a carousel/slider where the content for each slide can be anything you want - images, text, HTML, and even shortcodes. This plugin uses the Owl Carousel jQuery plugin, and lets you create beautiful, touch enabled, responsive carousels and sliders.
6
  * Author: Simon Edge
7
+ * Version: 2.0.18
8
  * License: GPLv2 or later
9
  */
10
 
20
  register_activation_hook(__FILE__, 'cpt_slider_plugin_activation' );
21
 
22
  /* ##### ADD ACTION HOOKS & FILTERS FOR PLUGIN ##### */
23
+ add_action('admin_enqueue_scripts', 'cpt_register_admin_scripts', 999999);
24
  add_action('init', 'cpt_slider_register');
25
  add_action('post_row_actions', 'cpt_slider_row_actions', 10, 2);
26
  add_action('add_meta_boxes', 'cpt_slider_add_meta_boxes');
28
  add_filter('manage_sa_slider_posts_columns', 'cpt_slider_modify_columns');
29
  add_filter('manage_sa_slider_posts_custom_column', 'cpt_slider_custom_column_content');
30
  add_action('admin_head', 'add_tinymce_button');
31
+ add_action('admin_footer', 'get_tinymce_shortcode_array', 9999999);
32
+
33
+ // SLIDE ANYTHING 2.0 UPGRADE NOTICE
34
+ add_action('admin_notices', 'version_20_upgrade_notice');
35
+ add_action('admin_init', 'slide_anything_notice_ignore');
36
  ?>