Elementor Essential Addons - Version 3.5.1

Version Description

  • 31/10/2019 =
  • Conflict Fix: Elementor Pro Media Carousel
  • Fixed : Few Creative Buttons effects
  • Few minor bugfix and improvements
Download this release

Release Info

Developer re_enter_rupok
Plugin Icon 128x128 Elementor Essential Addons
Version 3.5.1
Comparing to
See all releases

Code changes from version 3.5.0 to 3.5.1

assets/front-end/css/content-ticker/index.css CHANGED
@@ -53,3 +53,10 @@
53
  display: none;
54
  }
55
  }
 
 
 
 
 
 
 
53
  display: none;
54
  }
55
  }
56
+ .eael-ticker-wrap .swiper-button-next, .eael-ticker-wrap .swiper-button-prev {
57
+ background-image: none;
58
+ outline: none;
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ }
assets/front-end/css/content-ticker/index.min.css CHANGED
@@ -1 +1 @@
1
- .eael-ticker-wrap{overflow:hidden;display:flex;flex-flow:row nowrap;align-items:center;width:100%}.eael-ticker-wrap .ticker-badge{flex:0 0 auto;padding:8px 12px}.eael-ticker-wrap .eael-ticker{overflow:hidden;flex:1 1 auto}.eael-ticker-wrap .eael-ticker .ticker-content{padding:8px 12px;line-height:1.8}.eael-ticker-wrap .eael-ticker .ticker-content p{margin:0}.eael-ticker-wrap .swiper-button-prev{left:auto!important;right:25px}.eael-ticker-wrap div.swiper-slide,.eael-ticker-wrap div.swiper-slide.swiper-slide-next,.eael-ticker-wrap div.swiper-slide.swiper-slide-prev{opacity:0!important}.eael-ticker-wrap div.swiper-slide.swiper-slide-active{opacity:1!important}.eael-ticker-wrap .eael-content-ticker.swiper-container .swiper-slide{text-align:left}@media only screen and (max-width:767px){.eael-ticker-wrap{flex-flow:row wrap}.content-ticker-pagination{display:none}}
1
+ .eael-ticker-wrap{overflow:hidden;display:flex;flex-flow:row nowrap;align-items:center;width:100%}.eael-ticker-wrap .ticker-badge{flex:0 0 auto;padding:8px 12px}.eael-ticker-wrap .eael-ticker{overflow:hidden;flex:1 1 auto}.eael-ticker-wrap .eael-ticker .ticker-content{padding:8px 12px;line-height:1.8}.eael-ticker-wrap .eael-ticker .ticker-content p{margin:0}.eael-ticker-wrap .swiper-button-prev{left:auto!important;right:25px}.eael-ticker-wrap div.swiper-slide,.eael-ticker-wrap div.swiper-slide.swiper-slide-next,.eael-ticker-wrap div.swiper-slide.swiper-slide-prev{opacity:0!important}.eael-ticker-wrap div.swiper-slide.swiper-slide-active{opacity:1!important}.eael-ticker-wrap .eael-content-ticker.swiper-container .swiper-slide{text-align:left}@media only screen and (max-width:767px){.eael-ticker-wrap{flex-flow:row wrap}.content-ticker-pagination{display:none}}.eael-ticker-wrap .swiper-button-next,.eael-ticker-wrap .swiper-button-prev{background-image:none;outline:0;display:flex;align-items:center;justify-content:center}
assets/front-end/css/eael.css CHANGED
@@ -269,127 +269,6 @@
269
  }
270
  }
271
 
272
- /* ----------------------------------------- */
273
- /* 22. Caldera Contact Form Styler
274
- /* ----------------------------------------- */
275
- .eael-caldera-form-align-left,
276
- .eael-caldera-form-btn-align-left {
277
- text-align: left;
278
- }
279
-
280
- .eael-caldera-form-align-right,
281
- .eael-caldera-form-btn-align-right {
282
- text-align: right;
283
- }
284
-
285
- .eael-caldera-form-align-center,
286
- .eael-caldera-form-btn-align-center {
287
- text-align: center;
288
- }
289
-
290
- .eael-caldera-form .control-label {
291
- display: none;
292
- }
293
-
294
- .eael-caldera-form-labels-yes .control-label {
295
- display: block;
296
- }
297
-
298
- .eael-caldera-form-button-center .form-group input[type=button],
299
- .eael-caldera-form-button-center .form-group input[type=submit] {
300
- display: block;
301
- margin: 0 auto;
302
- }
303
-
304
- .eael-caldera-form-button-right .form-group input[type=button],
305
- .eael-caldera-form-button-right .form-group input[type=submit] {
306
- float: right;
307
- }
308
-
309
- .eael-caldera-form .intl-tel-input {
310
- display: inherit;
311
- }
312
-
313
- .eael-custom-radio-checkbox .caldera-grid input[type=checkbox],
314
- .eael-custom-radio-checkbox .caldera-grid input[type=radio] {
315
- border-style: solid;
316
- border-width: 0;
317
- padding: 3px;
318
- -webkit-appearance: none;
319
- }
320
-
321
- .eael-caldera-form-button-full-width .form-group input[type=submit],
322
- .eael-caldera-form-button-full-width .form-group input[type=button] {
323
- width: 100%;
324
- }
325
-
326
- @-webkit-keyframes "loaderSpin" {
327
- 0% {
328
- transform: rotate(0deg);
329
- }
330
- 100% {
331
- transform: rotate(360deg);
332
- }
333
- }
334
- @keyframes "loaderSpin" {
335
- 0% {
336
- transform: rotate(0deg);
337
- }
338
- 100% {
339
- transform: rotate(360deg);
340
- }
341
- }
342
- .eael-load-more-button-wrap {
343
- display: flex;
344
- }
345
-
346
- .eael-load-more-button {
347
- display: flex;
348
- align-items: center;
349
- justify-content: center;
350
- padding: 1em 2em;
351
- border: 0px solid;
352
- font-size: 16px;
353
- overflow: hidden;
354
- }
355
- .eael-load-more-button .button__loader {
356
- left: -100%;
357
- top: auto;
358
- margin-right: 5px;
359
- transition: all .2s;
360
- }
361
- .eael-load-more-button > span {
362
- margin-left: -20px;
363
- }
364
-
365
- .eael-load-more-button.button--loading > span {
366
- margin-left: 0;
367
- }
368
- .eael-load-more-button.button--loading .button__loader {
369
- left: 0;
370
- }
371
-
372
- .eael-btn-loader {
373
- border-radius: 50%;
374
- width: 20px;
375
- height: 20px;
376
- font-size: 10px;
377
- position: relative;
378
- text-indent: -9999em;
379
- border-top: 4px solid rgba(255, 255, 255, 0.2);
380
- border-right: 4px solid rgba(255, 255, 255, 0.2);
381
- border-bottom: 4px solid rgba(255, 255, 255, 0.2);
382
- border-left: 4px solid #ffffff;
383
- transform: translateZ(0);
384
- -webkit-animation: loaderSpin 1.1s infinite linear;
385
- animation: loaderSpin 1.1s infinite linear;
386
- }
387
- .eael-btn-loader:after {
388
- border-radius: 50%;
389
- width: 20px;
390
- height: 20px;
391
- }
392
-
393
  /*--------------------------*/
394
  /* 19. Call To Action
395
  /*-------------------------*/
@@ -637,6 +516,127 @@
637
  }
638
  }
639
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
640
  /*--------------------------------*/
641
  /* 11. Contact Form 7 Styles
642
  /*--------------------------------*/
@@ -779,6 +779,13 @@
779
  display: none;
780
  }
781
  }
 
 
 
 
 
 
 
782
 
783
  /*---------------------------------*/
784
  /* 05. Countdown Styles
@@ -3717,72 +3724,6 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover {
3717
  padding-top: 40px;
3718
  }
3719
 
3720
- /*----------------------------*/
3721
- /* 28. Swiper
3722
- /*----------------------------*/
3723
- .swiper-container-wrap .swiper-slide,
3724
- .swiper-container .swiper-slide {
3725
- text-align: center;
3726
- }
3727
-
3728
- .swiper-container-wrap .swiper-slide img,
3729
- .swiper-container .swiper-slide img {
3730
- width: auto;
3731
- }
3732
-
3733
- .swiper-container-wrap-dots-outside .swiper-pagination,
3734
- .swiper-container-dots-outside .swiper-pagination {
3735
- position: static;
3736
- }
3737
-
3738
- .swiper-container-wrap .swiper-button-next,
3739
- .swiper-container-wrap .swiper-button-prev,
3740
- .swiper-container .swiper-button-next,
3741
- .swiper-container .swiper-button-prev {
3742
- background: transparent;
3743
- font-size: 20px;
3744
- height: auto;
3745
- line-height: 1;
3746
- margin: 0;
3747
- text-align: center;
3748
- transform: translateY(-50%);
3749
- width: auto;
3750
- }
3751
-
3752
- .swiper-container-wrap .swiper-button-next .fa,
3753
- .swiper-container-wrap .swiper-button-prev .fa,
3754
- .swiper-container .swiper-button-next .fa,
3755
- .swiper-container .swiper-button-prev .fa {
3756
- vertical-align: top;
3757
- }
3758
-
3759
- .swiper-container-wrap .swiper-pagination {
3760
- bottom: 10px;
3761
- left: 0;
3762
- width: 100%;
3763
- }
3764
-
3765
- .swiper-container-wrap-dots-outside .swiper-pagination {
3766
- position: static;
3767
- }
3768
-
3769
- .swiper-container-wrap .swiper-pagination-bullet {
3770
- background: #ccc;
3771
- margin: 0 4px;
3772
- opacity: 1;
3773
- height: 8px;
3774
- width: 8px;
3775
- }
3776
-
3777
- .swiper-container-wrap .swiper-pagination-bullet-active {
3778
- background: #000;
3779
- }
3780
-
3781
- .swiper-container-3d .swiper-slide {
3782
- transition-property: all;
3783
- -webkit-transition-property: all;
3784
- }
3785
-
3786
  /*--------------------------------*/
3787
  /* 10. Contact forms common
3788
  /*--------------------------------*/
@@ -5421,1057 +5362,1057 @@ button.mfp-close:hover {
5421
  }
5422
  }
5423
 
5424
- /*--------------------------*/
5425
- /* 09. Product Styles
5426
- /*--------------------------*/
5427
- .eael-product-grid .woocommerce ul.products,
5428
- .eael-post-grid .woocommerce ul.products {
5429
- display: grid;
5430
- grid-gap: 25px;
5431
- margin: 0 !important;
5432
- padding: 0 !important;
5433
- }
5434
- .eael-product-grid .woocommerce ul.products:before, .eael-product-grid .woocommerce ul.products:after,
5435
- .eael-post-grid .woocommerce ul.products:before,
5436
- .eael-post-grid .woocommerce ul.products:after {
5437
- display: none;
5438
  }
5439
- .eael-product-grid .woocommerce ul.products .product,
5440
- .eael-post-grid .woocommerce ul.products .product {
5441
  width: 100%;
 
5442
  margin: 0;
5443
- padding: 0;
5444
- }
5445
- .eael-product-grid .woocommerce ul.products.eael-product-columns-1,
5446
- .eael-post-grid .woocommerce ul.products.eael-product-columns-1 {
5447
- grid-template-columns: 100%;
5448
  }
5449
- .eael-product-grid .woocommerce ul.products.eael-product-columns-2,
5450
- .eael-post-grid .woocommerce ul.products.eael-product-columns-2 {
5451
- grid-template-columns: repeat(2, 1fr);
 
 
 
 
 
 
 
 
 
5452
  }
5453
- @media screen and (max-width: 480px) {
5454
- .eael-product-grid .woocommerce ul.products.eael-product-columns-2,
5455
- .eael-post-grid .woocommerce ul.products.eael-product-columns-2 {
5456
- grid-template-columns: repeat(1, 1fr);
5457
- }
5458
  }
5459
- .eael-product-grid .woocommerce ul.products.eael-product-columns-3,
5460
- .eael-post-grid .woocommerce ul.products.eael-product-columns-3 {
5461
- grid-template-columns: repeat(3, 1fr);
 
 
5462
  }
5463
- @media screen and (max-width: 767px) {
5464
- .eael-product-grid .woocommerce ul.products.eael-product-columns-3,
5465
- .eael-post-grid .woocommerce ul.products.eael-product-columns-3 {
5466
- grid-template-columns: repeat(2, 1fr);
5467
- }
5468
  }
5469
- @media screen and (max-width: 480px) {
5470
- .eael-product-grid .woocommerce ul.products.eael-product-columns-3,
5471
- .eael-post-grid .woocommerce ul.products.eael-product-columns-3 {
5472
- grid-template-columns: repeat(1, 1fr);
5473
- }
5474
  }
5475
- .eael-product-grid .woocommerce ul.products.eael-product-columns-4,
5476
- .eael-post-grid .woocommerce ul.products.eael-product-columns-4 {
5477
- grid-template-columns: repeat(4, 1fr);
5478
  }
5479
- @media screen and (max-width: 767px) {
5480
- .eael-product-grid .woocommerce ul.products.eael-product-columns-4,
5481
- .eael-post-grid .woocommerce ul.products.eael-product-columns-4 {
5482
- grid-template-columns: repeat(2, 1fr);
5483
- }
 
5484
  }
5485
- @media screen and (max-width: 480px) {
5486
- .eael-product-grid .woocommerce ul.products.eael-product-columns-4,
5487
- .eael-post-grid .woocommerce ul.products.eael-product-columns-4 {
5488
- grid-template-columns: repeat(1, 1fr);
5489
- }
 
5490
  }
5491
- .eael-product-grid .woocommerce ul.products.eael-product-columns-5,
5492
- .eael-post-grid .woocommerce ul.products.eael-product-columns-5 {
5493
- grid-template-columns: repeat(5, 1fr);
5494
  }
5495
- @media screen and (max-width: 767px) {
5496
- .eael-product-grid .woocommerce ul.products.eael-product-columns-5,
5497
- .eael-post-grid .woocommerce ul.products.eael-product-columns-5 {
5498
- grid-template-columns: repeat(2, 1fr);
5499
- }
5500
  }
5501
- @media screen and (max-width: 480px) {
5502
- .eael-product-grid .woocommerce ul.products.eael-product-columns-5,
5503
- .eael-post-grid .woocommerce ul.products.eael-product-columns-5 {
5504
- grid-template-columns: repeat(1, 1fr);
5505
- }
 
 
 
 
 
 
 
5506
  }
5507
- .eael-product-grid .woocommerce ul.products.eael-product-columns-6,
5508
- .eael-post-grid .woocommerce ul.products.eael-product-columns-6 {
5509
- grid-template-columns: repeat(6, 1fr);
 
 
 
 
 
 
 
 
 
 
 
5510
  }
5511
- @media screen and (max-width: 767px) {
5512
- .eael-product-grid .woocommerce ul.products.eael-product-columns-6,
5513
- .eael-post-grid .woocommerce ul.products.eael-product-columns-6 {
5514
- grid-template-columns: repeat(2, 1fr);
5515
- }
 
 
 
 
 
 
 
5516
  }
5517
- @media screen and (max-width: 480px) {
5518
- .eael-product-grid .woocommerce ul.products.eael-product-columns-6,
5519
- .eael-post-grid .woocommerce ul.products.eael-product-columns-6 {
5520
- grid-template-columns: repeat(1, 1fr);
5521
- }
 
 
 
 
 
 
 
 
 
5522
  }
5523
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,
5524
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product,
5525
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product {
5526
  position: relative;
5527
- float: left;
5528
- overflow: hidden;
5529
- text-align: center;
5530
- padding: 0;
5531
- border-radius: 0;
5532
- background-color: #fff;
5533
- box-shadow: none;
5534
  }
5535
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a,
5536
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a,
5537
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a {
5538
- text-decoration: none;
 
 
 
 
 
 
 
 
5539
  }
5540
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a:hover, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,
5541
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover,
5542
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover {
5543
- outline: none;
5544
- box-shadow: none;
5545
- }
5546
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product img, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,
5547
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,
5548
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img {
5549
- width: 100%;
5550
- height: auto;
5551
- -webkit-backface-visibility: hidden;
5552
- backface-visibility: hidden;
5553
- }
5554
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,
5555
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,
5556
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title {
5557
- font-size: 16px;
5558
  font-weight: 700;
5559
- line-height: 1;
5560
- color: #333;
5561
- margin: 25px 0 12px;
5562
- padding: 0;
5563
  }
5564
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .onsale, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,
5565
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .onsale,
5566
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .onsale {
5567
- display: block;
5568
- line-height: 170px;
5569
- font-size: 13px;
5570
- text-align: center;
5571
- letter-spacing: 0;
5572
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
5573
- text-transform: uppercase;
5574
- color: #fff;
5575
- background-color: #ff2a13;
5576
- border-radius: 0;
5577
- border: none;
5578
- box-shadow: none;
5579
  position: absolute;
5580
- height: 100px;
5581
- width: 200px;
 
 
 
 
5582
  z-index: 1;
5583
- left: -100px;
5584
- top: -50px;
5585
- right: auto;
5586
- margin: 0;
5587
- padding: 0;
5588
- transform: rotate(-45deg);
5589
- }
5590
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price,
5591
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price,
5592
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price {
5593
- font-size: 14px;
5594
- margin-bottom: 0;
5595
  }
5596
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price del, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price del,
5597
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price del,
5598
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price del {
5599
- opacity: 0.5;
5600
  display: inline-block;
 
 
 
 
5601
  }
5602
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price ins, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,
5603
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price ins,
5604
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price ins {
5605
- font-weight: 400;
5606
- background-color: transparent;
5607
- color: #ff2a13;
5608
  }
5609
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .star-rating, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,
5610
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,
5611
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating {
5612
- display: block;
5613
- float: none;
5614
- font-size: 14px;
5615
- margin: 10px auto;
5616
  }
5617
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
5618
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,
5619
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button {
5620
  display: block;
5621
- font-size: 14px;
5622
- font-weight: 400;
5623
- line-height: 38px;
5624
- text-align: center;
5625
- text-transform: uppercase;
5626
- color: #fff;
5627
- background-color: #333;
5628
- padding: 0;
5629
- margin: 15px;
5630
- border-radius: 0;
5631
- }
5632
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,
5633
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,
5634
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus {
5635
- outline: none;
5636
  }
5637
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,
5638
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,
5639
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart {
5640
  display: block;
5641
- margin: 0 0 15px 0;
5642
- padding: 0;
 
5643
  font-size: 14px;
5644
- line-height: 1;
5645
- text-transform: capitalize;
5646
- color: #333;
5647
- background-color: transparent;
5648
- }
5649
- .eael-product-grid.eael-product-simple .woocommerce ul.products li.product,
5650
- .eael-post-grid.eael-product-simple .woocommerce ul.products li.product {
5651
- border: 1px solid #eee;
5652
- }
5653
- .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,
5654
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product {
5655
- border: 1px solid transparent;
5656
- }
5657
- .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
5658
- .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,
5659
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
5660
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart {
5661
- visibility: hidden;
5662
- transition: none;
5663
  }
5664
- .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover,
5665
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover {
5666
- border: 1px solid #eee;
5667
  }
5668
- .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,
5669
- .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,
5670
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,
5671
- .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart {
5672
- visibility: visible;
5673
  }
5674
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product,
5675
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product {
 
5676
  position: relative;
5677
- float: left;
5678
- overflow: hidden;
5679
  text-align: center;
5680
- padding: 0 0 15px 0;
5681
- border-radius: 0;
5682
- background-color: #fff;
5683
- box-shadow: none;
5684
  }
5685
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a,
5686
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a {
5687
- text-decoration: none;
 
 
 
5688
  }
5689
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover,
5690
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover {
5691
- outline: none;
5692
- box-shadow: none;
5693
  }
5694
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img,
5695
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img {
 
 
5696
  width: 100%;
5697
- height: auto;
5698
- margin: 0;
5699
- -webkit-backface-visibility: hidden;
5700
- backface-visibility: hidden;
 
 
 
5701
  }
5702
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay,
5703
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay {
5704
- position: relative;
5705
- overflow: hidden;
5706
- line-height: 0;
 
 
 
 
 
 
 
 
 
5707
  }
5708
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap,
5709
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap {
 
5710
  position: absolute;
5711
- top: 50%;
5712
- left: 0;
5713
- right: 0;
5714
- text-align: center;
5715
- transform: translateY(-50%);
 
 
 
5716
  }
5717
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
5718
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
5719
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,
5720
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
5721
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
5722
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart {
5723
- display: inline-block;
5724
- font-size: 14px;
5725
- line-height: 38px;
5726
- text-align: center;
5727
  color: #fff;
5728
- background-color: #333;
5729
- width: 38px;
5730
- height: 38px;
5731
- border-style: none;
5732
- border-radius: 50%;
5733
- vertical-align: middle;
5734
- padding: 0;
5735
- margin: 0 5px;
5736
- transform: translateY(20px);
5737
- opacity: 0;
5738
- transition: transform 200ms, opacity 300ms;
5739
- }
5740
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,
5741
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,
5742
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,
5743
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,
5744
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,
5745
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus {
5746
- outline: none;
5747
- }
5748
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
5749
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button {
5750
- font-size: 0;
5751
- }
5752
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before,
5753
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before {
5754
- display: none;
5755
- }
5756
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after,
5757
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after {
5758
- content: "\f217";
5759
- font: normal normal normal 14px/1 FontAwesome;
5760
- font-size: 14px;
5761
- line-height: 38px;
5762
- text-rendering: auto;
5763
- -webkit-font-smoothing: antialiased;
5764
- vertical-align: middle;
5765
- margin: 0;
5766
- padding: 0;
5767
- }
5768
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before,
5769
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before {
5770
- display: none;
5771
  }
5772
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after,
5773
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after {
5774
- content: "\f110";
5775
  display: inline-block;
5776
- font: normal normal normal 14px/1 FontAwesome;
5777
- font-size: 14px;
5778
- line-height: 38px;
5779
- color: #fff;
5780
- height: auto;
5781
- width: auto;
5782
  position: relative;
5783
- top: 0;
5784
- left: 0;
5785
- margin: 0;
5786
- padding: 0;
 
 
 
 
5787
  }
5788
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,
5789
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart {
5790
- font-size: 0;
 
5791
  }
5792
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after,
5793
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after {
5794
- content: "\f06e";
5795
- font: normal normal normal 14px/1 FontAwesome;
5796
- font-size: 14px;
5797
- line-height: 38px;
5798
  color: #fff;
5799
- text-rendering: auto;
5800
- -webkit-font-smoothing: antialiased;
5801
- vertical-align: middle;
5802
- margin: 0;
5803
- padding: 0;
5804
  }
5805
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title,
5806
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title {
5807
- font-size: 16px;
5808
- font-weight: 700;
5809
- line-height: 1;
5810
- color: #333;
5811
- margin: 25px 0 12px;
5812
- padding: 0;
5813
  }
5814
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .onsale,
5815
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .onsale {
5816
- display: block;
5817
- line-height: 170px;
5818
- font-size: 13px;
5819
- text-align: center;
5820
- letter-spacing: 0;
5821
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
5822
- text-transform: uppercase;
5823
  color: #fff;
5824
- background-color: #ff2a13;
5825
- border-radius: 0;
5826
- border: none;
5827
- box-shadow: none;
5828
- position: absolute;
5829
- height: 100px;
5830
- width: 200px;
5831
- z-index: 1;
5832
- left: -100px;
5833
- top: -50px;
5834
- right: auto;
5835
- margin: 0;
5836
- padding: 0;
5837
- transform: rotate(-45deg);
5838
- }
5839
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price,
5840
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price {
5841
- font-size: 14px;
5842
- margin-bottom: 0;
5843
- }
5844
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price del,
5845
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price del {
5846
- opacity: 0.5;
5847
- display: inline-block;
5848
- }
5849
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price ins,
5850
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price ins {
5851
- font-weight: 400;
5852
- background-color: transparent;
5853
- color: #ff2a13;
5854
- }
5855
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating,
5856
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating {
5857
- display: block;
5858
- float: none;
5859
- font-size: 14px;
5860
- margin: 10px auto;
5861
- }
5862
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,
5863
- .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,
5864
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,
5865
- .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button {
5866
- opacity: 1;
5867
- transform: translateY(0);
5868
  }
5869
 
5870
- /* -------------------------------- */
5871
- /* 21. Pricing Table
5872
- /* -------------------------------- */
5873
- .eael-pricing {
5874
- -webkit-display: flex;
5875
- display: flex;
5876
- justify-content: center;
5877
- align-items: center;
5878
  }
5879
 
5880
- .eael-pricing .eael-pricing-item {
 
 
5881
  width: 100%;
5882
- height: auto;
5883
- margin: 0;
 
 
 
 
 
5884
  }
5885
 
5886
- .eael-pricing .eael-pricing-button {
5887
- display: inline-block;
5888
- padding: 12px 25px;
5889
- background: #00C853;
 
 
 
 
5890
  font-size: 14px;
5891
  font-weight: 600;
5892
- color: #fff;
5893
- text-transform: uppercase;
5894
- text-decoration: none;
5895
- transition: .3s;
5896
- border-radius: 4px;
5897
  }
5898
 
5899
- .eael-pricing .eael-pricing-button:hover {
5900
- background: #03b048;
 
 
 
5901
  }
5902
 
5903
- .eael-pricing .eael-pricing-item ul {
5904
- padding: 0px;
5905
- margin: 0px;
5906
- list-style: none;
 
 
 
 
 
 
 
5907
  }
5908
 
5909
- .eael-pricing .eael-pricing-item ul li.disable-item {
5910
- text-decoration: line-through;
5911
- opacity: 0.5;
 
 
 
 
5912
  }
5913
 
5914
- .eael-pricing .eael-pricing-item ul li span.li-icon {
 
 
5915
  color: #00C853;
5916
- margin-right: 6px;
5917
  }
5918
 
5919
- .eael-pricing .eael-pricing-item ul li.disable-item span.li-icon {
5920
- color: #EF5350;
5921
  }
5922
 
5923
- /*--- Pricing Table: Style 1 ---*/
5924
- .eael-pricing.style-1 {
5925
- position: relative;
5926
- z-index: 0;
5927
- text-align: center;
5928
  }
5929
 
5930
- .eael-pricing.style-1 .eael-pricing-item {
5931
- border: 1px solid rgba(9, 9, 9, 0.1);
5932
- padding: 30px;
5933
- border-radius: 5px;
5934
- transition: .5s;
 
 
 
5935
  }
5936
 
5937
- .eael-pricing.style-1 .eael-pricing-item:hover {
5938
- box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
5939
  }
5940
 
5941
- .eael-pricing.style-1 .eael-pricing-item.featured {
5942
- position: relative;
 
 
 
 
 
 
 
 
 
 
5943
  }
 
 
 
 
5944
 
5945
- .eael-pricing.style-1 .eael-pricing-item.ribbon-1:before {
5946
- content: "";
5947
- position: absolute;
5948
- width: 100%;
5949
- height: 3px;
5950
- background: #00C853;
5951
- top: 0px;
5952
- left: 0px;
5953
- right: 0px;
5954
- z-index: 1;
5955
- border-radius: 5px 5px 0px 0px;
 
 
5956
  }
5957
 
5958
- .eael-pricing.style-1 .eael-pricing-item.ribbon-2:before {
5959
- content: "Featured";
5960
- position: absolute;
5961
- width: auto;
5962
- background: #00C853;
5963
- color: #fff;
5964
- top: 35px;
5965
- right: -15px;
5966
- z-index: 10;
5967
- font-size: 10px;
5968
- font-weight: 600;
5969
- text-transform: uppercase;
5970
- padding: 5px 10px;
5971
  }
5972
 
5973
- .eael-pricing.style-1 .eael-pricing-item.ribbon-2:after {
5974
- content: "";
5975
- position: absolute;
5976
- top: 20px;
5977
- right: -15px;
5978
- width: 0;
5979
- height: 0;
5980
- border-bottom: 15px solid #00C853;
5981
- border-right: 15px solid transparent;
5982
- z-index: 9;
5983
- opacity: 0.9;
5984
  }
5985
 
5986
- .eael-pricing.style-1 .eael-pricing-item.ribbon-3:before {
5987
- content: "Featured";
5988
- position: absolute;
5989
- width: auto;
5990
- background: rgba(0, 0, 0, 0.6);
5991
- color: #fff;
5992
- top: 15px;
5993
- right: 15px;
5994
- z-index: 10;
5995
- font-size: 11px;
5996
- font-weight: 600;
5997
- text-transform: uppercase;
5998
- padding: 5px 15px;
5999
  }
6000
 
6001
- .eael-pricing.style-1 .eael-pricing-item .header {
6002
- display: block;
6003
- position: relative;
6004
- z-index: 0;
6005
- padding-bottom: 15px;
6006
- margin-bottom: 15px;
6007
  }
6008
 
6009
- .eael-pricing.style-1 .eael-pricing-item .header:after {
6010
- content: "";
6011
- position: absolute;
6012
- width: 140px;
6013
- height: 1px;
6014
- bottom: 0px;
6015
- left: 0px;
6016
- right: 0px;
6017
- margin: 0 auto;
6018
- z-index: 1;
6019
- background: rgba(9, 9, 9, 0.1);
6020
  }
6021
 
6022
- .eael-pricing.style-1 .eael-pricing-item .header .title {
6023
- font-weight: 700;
6024
- line-height: 30px;
6025
- margin: 0px;
 
 
 
6026
  }
6027
 
6028
- .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag {
6029
- position: relative;
6030
- z-index: 0;
6031
- padding: 15px 0px;
6032
- margin-bottom: 15px;
 
 
6033
  }
6034
 
6035
- .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after {
6036
- content: "";
6037
- position: absolute;
6038
- width: 140px;
6039
- height: 1px;
6040
- bottom: 0px;
6041
- left: 0px;
6042
- right: 0px;
6043
- margin: 0 auto;
6044
- z-index: 1;
6045
- background: rgba(9, 9, 9, 0.04);
6046
  }
6047
 
6048
- .eael-pricing.style-1 .eael-pricing-item .price-tag {
6049
- position: relative;
6050
- display: inline-block;
6051
- font-size: 28px;
6052
- font-weight: 500;
6053
- line-height: 0px;
6054
- margin: 0px auto;
6055
  }
6056
 
6057
- .eael-pricing.style-1 .eael-pricing-item .price-tag .price-currency {
6058
- font-size: 24px;
6059
- font-weight: 700;
6060
  }
6061
 
6062
- .eael-pricing.style-1 .eael-pricing-item .price-period {
6063
- color: #999;
6064
  }
6065
 
6066
- .eael-pricing.style-1 .eael-pricing-item .body ul {
6067
- display: block;
6068
- width: 100%;
6069
- margin-bottom: 15px;
6070
  }
6071
 
6072
- .eael-pricing.style-1 .eael-pricing-item .body ul li {
6073
- display: block;
 
 
 
 
 
6074
  width: 100%;
6075
- height: auto;
6076
- padding: 10px 0px;
6077
- font-size: 14px;
6078
- color: #6d6d6d;
6079
- border-bottom: 1px solid rgba(9, 9, 9, 0.04);
6080
  }
6081
 
6082
- .eael-pricing.style-1 .eael-pricing-item .body ul li:last-child {
6083
- border: none;
 
 
 
 
6084
  }
6085
 
6086
- .eael-pricing.style-1 .eael-pricing-item.featured-large {
6087
- padding: 60px 0px;
 
 
 
6088
  }
6089
 
6090
- /*--- Pricing Table : Style 2 ---*/
6091
- .eael-pricing.style-2 {
6092
- position: relative;
6093
- z-index: 0;
6094
- text-align: center;
6095
  }
6096
 
6097
- .eael-pricing.style-2 .eael-pricing-item {
6098
- padding: 30px 0px;
6099
- border-radius: 5px;
6100
- margin: 0px;
6101
- border: 1px solid rgba(9, 9, 9, 0.1);
6102
  }
6103
 
6104
- .eael-pricing.style-2 .eael-pricing-item.featured {
6105
- box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
 
6106
  }
6107
 
6108
- .eael-pricing.style-2 .eael-pricing-item.ribbon-1:before {
6109
- content: "";
6110
- position: absolute;
6111
  width: 100%;
6112
- height: 3px;
6113
- background: #00C853;
6114
- top: 0px;
6115
- left: 0px;
6116
- right: 0px;
6117
- z-index: 1;
6118
- border-radius: 5px 5px 0px 0px;
6119
- }
6120
-
6121
- .eael-pricing.style-2 .eael-pricing-item.ribbon-2:before {
6122
- content: "Featured";
6123
- position: absolute;
6124
- width: auto;
6125
- background: #00C853;
6126
  color: #fff;
6127
- top: 35px;
6128
- right: -15px;
6129
- z-index: 10;
6130
- font-size: 10px;
6131
- font-weight: 600;
6132
- text-transform: uppercase;
6133
- padding: 5px 10px;
6134
  }
6135
 
6136
- .eael-pricing.style-2 .eael-pricing-item.ribbon-2:after {
6137
- content: "";
6138
- position: absolute;
6139
- top: 20px;
6140
- right: -15px;
6141
- width: 0;
6142
- height: 0;
6143
- border-bottom: 15px solid #00C853;
6144
- border-right: 15px solid transparent;
6145
- z-index: 9;
6146
- opacity: 0.9;
6147
  }
6148
 
6149
- .eael-pricing.style-2 .eael-pricing-item.ribbon-3:before {
6150
- content: "Featured";
6151
  position: absolute;
6152
- width: auto;
6153
- background: rgba(0, 0, 0, 0.6);
6154
- color: #fff;
6155
- top: 15px;
6156
- right: 15px;
6157
- z-index: 10;
6158
- font-size: 11px;
6159
- font-weight: 600;
6160
- text-transform: uppercase;
6161
- padding: 5px 15px;
6162
  }
6163
 
6164
- .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon {
6165
- display: inline-block;
6166
- position: relative;
6167
- width: 80px;
6168
- height: 80px;
6169
- background: #00c853;
6170
- border-radius: 50%;
6171
- margin-bottom: 30px;
6172
- text-align: center;
6173
- transition: .5s;
6174
- overflow: hidden;
6175
  }
6176
 
6177
- .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon img {
6178
- position: relative;
6179
- bottom: auto;
6180
  }
6181
 
6182
- .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon i {
6183
- font-size: 30px;
6184
- color: #fff;
6185
- line-height: 80px;
6186
- transition: .5s;
6187
  }
6188
 
6189
- .eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon {
6190
- background: #43A047;
 
6191
  }
6192
 
6193
- .eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon i {
6194
- color: #fff;
 
 
6195
  }
6196
 
6197
- .eael-pricing.style-2 .eael-pricing-item .header {
6198
- background: #C8E6C9;
6199
- padding: 25px 30px;
6200
- margin-bottom: 15px;
6201
- position: relative;
6202
- z-index: 0;
 
 
 
6203
  }
6204
-
6205
- .eael-pricing.style-2 .eael-pricing-item.featured .header:after {
6206
- content: "";
6207
- position: absolute;
 
 
 
6208
  width: 100%;
6209
- height: 100%;
6210
- top: 0px;
6211
- left: 0px;
6212
- right: 0px;
6213
- bottom: 0px;
6214
- z-index: -1;
6215
- background: rgba(255, 255, 255, 0.4);
6216
  }
6217
-
6218
- .eael-pricing.style-2 .eael-pricing-item .header .title {
6219
- font-size: 28px;
6220
- font-weight: 700;
6221
- line-height: 40px;
6222
- margin: 0px;
6223
  }
6224
-
6225
- .eael-pricing.style-2 .eael-pricing-item .header .subititle {
6226
- font-size: 14px;
6227
- font-weight: 600;
6228
- color: #6d6d6d;
6229
  }
6230
-
6231
- .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag {
6232
- position: relative;
6233
- z-index: 0;
6234
- padding: 15px 0px;
6235
- margin-bottom: 15px;
6236
  }
6237
-
6238
- .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after {
6239
- content: "";
6240
- position: absolute;
6241
- width: 140px;
6242
- height: 1px;
6243
- bottom: 0px;
6244
- left: 0px;
6245
- right: 0px;
6246
- margin: 0 auto;
6247
- z-index: 1;
6248
- background: rgba(9, 9, 9, 0.04);
6249
  }
6250
-
6251
- .eael-pricing.style-2 .eael-pricing-item .price-tag {
6252
- position: relative;
6253
- display: inline-block;
6254
- font-size: 28px;
6255
- font-weight: 500;
6256
- line-height: 0px;
6257
- margin: 0px auto;
6258
  }
6259
-
6260
- .eael-pricing.style-2 .eael-pricing-item .price-tag .price-currency {
6261
- font-size: 24px;
6262
- font-weight: 700;
6263
- color: #00C853;
6264
  }
6265
-
6266
- .eael-pricing.style-2 .eael-pricing-item .price-period {
6267
- color: #999;
6268
  }
6269
-
6270
- .eael-pricing.style-2 .eael-pricing-item .body ul {
6271
- display: block;
6272
- width: 100%;
6273
- margin-bottom: 15px;
6274
  }
6275
-
6276
- .eael-pricing.style-2 .eael-pricing-item .body ul li {
6277
- display: block;
6278
- width: 100%;
6279
- height: auto;
6280
- padding: 10px 15px;
6281
- font-size: 14px;
6282
- color: #6d6d6d;
6283
- border-bottom: 1px solid rgba(9, 9, 9, 0.04);
6284
  }
6285
-
6286
- .eael-pricing.style-2 .eael-pricing-item .body ul li:last-child {
6287
- border: none;
6288
  }
6289
-
6290
- /*--- Media Query ---*/
6291
- @media only screen and (min-width: 768px) and (max-width: 992px) {
6292
- .eael-pricing {
6293
- display: block;
6294
- }
6295
-
6296
- .eael-pricing .eael-pricing-item,
6297
- .eael-pricing.style-2 .eael-pricing-item,
6298
- .eael-pricing.style-4 .eael-pricing-item {
6299
- width: 100%;
6300
- margin: 0 auto 30px auto;
6301
  }
6302
  }
6303
- @media only screen and (max-width: 480px) {
6304
- .eael-pricing {
6305
- display: block;
 
6306
  }
6307
-
6308
- .eael-pricing .eael-pricing-item {
6309
- width: 100%;
 
 
 
 
 
 
6310
  }
6311
-
6312
- .eael-pricing .eael-pricing-item,
6313
- .eael-pricing.style-2 .eael-pricing-item,
6314
- .eael-pricing.style-4 .eael-pricing-item {
6315
- margin: 0 auto 30px auto;
6316
  }
6317
  }
6318
- /*--- Page Builder Related Style ---*/
6319
- .eael-pricing-content-align-center .eael-pricing {
 
 
 
 
6320
  text-align: center;
 
 
 
 
6321
  }
6322
-
6323
- .eael-pricing-content-align-left .eael-pricing {
6324
- text-align: left;
 
6325
  }
6326
-
6327
- .eael-pricing-content-align-right .eael-pricing {
6328
- text-align: right;
 
 
6329
  }
6330
-
6331
- .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag {
6332
- padding-left: 45px;
 
 
 
 
6333
  }
6334
-
6335
- .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag:before {
6336
- left: 30px;
 
 
 
 
 
 
6337
  }
6338
-
6339
- .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag {
6340
- padding-right: 30px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6341
  }
6342
-
6343
- .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .header,
6344
- .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon,
6345
- .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .footer,
6346
- .eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .header,
6347
- .eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .footer {
6348
- padding-left: 30px;
6349
- padding-right: 30px;
6350
  }
6351
-
6352
- .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .header,
6353
- .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon,
6354
- .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .footer,
6355
- .eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .header,
6356
- .eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .footer {
6357
- padding-right: 30px;
6358
- padding-left: 30px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6359
  }
6360
-
6361
- .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .body ul li,
6362
- .eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .body ul li {
6363
- padding-left: 30px;
 
 
 
6364
  }
6365
-
6366
- .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .body ul li,
6367
- .eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .body ul li {
6368
- padding-right: 30px;
 
6369
  }
6370
-
6371
- .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after {
6372
- transform: translateX(-80%);
 
 
 
 
 
6373
  }
6374
-
6375
- .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after {
6376
- transform: translateX(80%);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6377
  }
6378
-
6379
- .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,
6380
- .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after {
6381
- transform: translateX(0%);
 
 
 
6382
  }
6383
-
6384
- .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,
6385
- .eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .header:after,
6386
- .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,
6387
- .eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,
6388
- .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after,
6389
- .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after {
6390
- margin: 0;
6391
- width: 100%;
6392
  }
6393
-
6394
- /*--- Button Alignment ---*/
6395
- .eael-pricing-button-align-right .eael-pricing.style-1 .footer,
6396
- .eael-pricing-button-align-right .eael-pricing.style-2 .footer,
6397
- .eael-pricing-button-align-right .eael-pricing.style-3 .footer,
6398
- .eael-pricing-button-align-right .eael-pricing.style-4 .footer {
6399
- text-align: right;
6400
  }
6401
-
6402
- .eael-pricing-button-align-center .eael-pricing.style-1 .footer,
6403
- .eael-pricing-button-align-center .eael-pricing.style-2 .footer,
6404
- .eael-pricing-button-align-center .eael-pricing.style-3 .footer,
6405
- .eael-pricing-button-align-center .eael-pricing.style-4 .footer {
6406
- text-align: center;
 
 
 
 
 
6407
  }
6408
-
6409
- .eael-pricing-button-align-left .eael-pricing.style-1 .footer,
6410
- .eael-pricing-button-align-left .eael-pricing.style-2 .footer,
6411
- .eael-pricing-button-align-left .eael-pricing.style-3 .footer,
6412
- .eael-pricing-button-align-left .eael-pricing.style-4 .footer {
6413
- text-align: left;
6414
  }
6415
-
6416
- .eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-2 .footer,
6417
- .eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-4 .footer {
6418
- padding-right: 30px;
 
 
 
 
 
 
 
 
 
 
 
6419
  }
6420
-
6421
- .eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-2 .footer,
6422
- .eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-4 .footer {
6423
- padding-left: 30px;
6424
  }
6425
-
6426
- /*--- Only In Pro Alert ---*/
6427
- .only-in-pro {
6428
- width: 100%;
6429
- -webkit-display: flex;
6430
- display: flex;
6431
- align-items: center;
6432
- justify-content: center;
6433
- padding: 15px;
6434
- min-width: 200px;
6435
- background: #EF5350;
6436
  color: #fff;
6437
- text-align: center;
 
 
 
 
6438
  }
6439
-
6440
- .only-in-pro .title {
6441
- font-family: 'Roboto', sans-serif;
6442
- font-size: 24px;
6443
- line-height: 40px;
6444
- margin: 0px;
 
 
6445
  }
6446
-
6447
- /*--- Pricing Table Tooltip ---*/
6448
- div.tooltipster-sidetip.tooltipster-base.tooltipster-right .tooltipster-arrow {
 
 
 
 
 
 
 
 
 
 
 
6449
  position: absolute;
6450
- top: 50%;
 
 
 
 
 
 
 
 
6451
  }
6452
-
6453
- div.tooltipster-sidetip.tooltipster-top div.tooltipster-box {
6454
- margin-bottom: 0px !important;
 
6455
  }
6456
-
6457
- div.tooltipster-sidetip.tooltipster-bottom div.tooltipster-box {
6458
- margin-top: 0px !important;
 
6459
  }
6460
-
6461
- .tooltipster-base.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {
6462
- top: auto;
6463
- bottom: -8px;
 
6464
  }
6465
-
6466
- div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
6467
- top: -8px;
6468
- bottom: auto;
 
 
6469
  }
6470
-
6471
- @media only screen and (max-width: 480px) {
6472
- .eael-pricing.style-1 .eael-pricing-item .price-tag {
6473
- display: block;
6474
- }
 
6475
  }
6476
 
6477
  @-webkit-keyframes animateStripe {
@@ -7543,6 +7484,11 @@ span.eael-testimonial-quote {
7543
  -webkit-box-orient: vertical;
7544
  }
7545
 
 
 
 
 
 
7546
  /*----------------------*/
7547
  /* 12. weForm Styles
7548
  /*----------------------*/
269
  }
270
  }
271
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
272
  /*--------------------------*/
273
  /* 19. Call To Action
274
  /*-------------------------*/
516
  }
517
  }
518
 
519
+ @-webkit-keyframes "loaderSpin" {
520
+ 0% {
521
+ transform: rotate(0deg);
522
+ }
523
+ 100% {
524
+ transform: rotate(360deg);
525
+ }
526
+ }
527
+ @keyframes "loaderSpin" {
528
+ 0% {
529
+ transform: rotate(0deg);
530
+ }
531
+ 100% {
532
+ transform: rotate(360deg);
533
+ }
534
+ }
535
+ .eael-load-more-button-wrap {
536
+ display: flex;
537
+ }
538
+
539
+ .eael-load-more-button {
540
+ display: flex;
541
+ align-items: center;
542
+ justify-content: center;
543
+ padding: 1em 2em;
544
+ border: 0px solid;
545
+ font-size: 16px;
546
+ overflow: hidden;
547
+ }
548
+ .eael-load-more-button .button__loader {
549
+ left: -100%;
550
+ top: auto;
551
+ margin-right: 5px;
552
+ transition: all .2s;
553
+ }
554
+ .eael-load-more-button > span {
555
+ margin-left: -20px;
556
+ }
557
+
558
+ .eael-load-more-button.button--loading > span {
559
+ margin-left: 0;
560
+ }
561
+ .eael-load-more-button.button--loading .button__loader {
562
+ left: 0;
563
+ }
564
+
565
+ .eael-btn-loader {
566
+ border-radius: 50%;
567
+ width: 20px;
568
+ height: 20px;
569
+ font-size: 10px;
570
+ position: relative;
571
+ text-indent: -9999em;
572
+ border-top: 4px solid rgba(255, 255, 255, 0.2);
573
+ border-right: 4px solid rgba(255, 255, 255, 0.2);
574
+ border-bottom: 4px solid rgba(255, 255, 255, 0.2);
575
+ border-left: 4px solid #ffffff;
576
+ transform: translateZ(0);
577
+ -webkit-animation: loaderSpin 1.1s infinite linear;
578
+ animation: loaderSpin 1.1s infinite linear;
579
+ }
580
+ .eael-btn-loader:after {
581
+ border-radius: 50%;
582
+ width: 20px;
583
+ height: 20px;
584
+ }
585
+
586
+ /* ----------------------------------------- */
587
+ /* 22. Caldera Contact Form Styler
588
+ /* ----------------------------------------- */
589
+ .eael-caldera-form-align-left,
590
+ .eael-caldera-form-btn-align-left {
591
+ text-align: left;
592
+ }
593
+
594
+ .eael-caldera-form-align-right,
595
+ .eael-caldera-form-btn-align-right {
596
+ text-align: right;
597
+ }
598
+
599
+ .eael-caldera-form-align-center,
600
+ .eael-caldera-form-btn-align-center {
601
+ text-align: center;
602
+ }
603
+
604
+ .eael-caldera-form .control-label {
605
+ display: none;
606
+ }
607
+
608
+ .eael-caldera-form-labels-yes .control-label {
609
+ display: block;
610
+ }
611
+
612
+ .eael-caldera-form-button-center .form-group input[type=button],
613
+ .eael-caldera-form-button-center .form-group input[type=submit] {
614
+ display: block;
615
+ margin: 0 auto;
616
+ }
617
+
618
+ .eael-caldera-form-button-right .form-group input[type=button],
619
+ .eael-caldera-form-button-right .form-group input[type=submit] {
620
+ float: right;
621
+ }
622
+
623
+ .eael-caldera-form .intl-tel-input {
624
+ display: inherit;
625
+ }
626
+
627
+ .eael-custom-radio-checkbox .caldera-grid input[type=checkbox],
628
+ .eael-custom-radio-checkbox .caldera-grid input[type=radio] {
629
+ border-style: solid;
630
+ border-width: 0;
631
+ padding: 3px;
632
+ -webkit-appearance: none;
633
+ }
634
+
635
+ .eael-caldera-form-button-full-width .form-group input[type=submit],
636
+ .eael-caldera-form-button-full-width .form-group input[type=button] {
637
+ width: 100%;
638
+ }
639
+
640
  /*--------------------------------*/
641
  /* 11. Contact Form 7 Styles
642
  /*--------------------------------*/
779
  display: none;
780
  }
781
  }
782
+ .eael-ticker-wrap .swiper-button-next, .eael-ticker-wrap .swiper-button-prev {
783
+ background-image: none;
784
+ outline: none;
785
+ display: flex;
786
+ align-items: center;
787
+ justify-content: center;
788
+ }
789
 
790
  /*---------------------------------*/
791
  /* 05. Countdown Styles
3724
  padding-top: 40px;
3725
  }
3726
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3727
  /*--------------------------------*/
3728
  /* 10. Contact forms common
3729
  /*--------------------------------*/
5362
  }
5363
  }
5364
 
5365
+ /* -------------------------------- */
5366
+ /* 21. Pricing Table
5367
+ /* -------------------------------- */
5368
+ .eael-pricing {
5369
+ -webkit-display: flex;
5370
+ display: flex;
5371
+ justify-content: center;
5372
+ align-items: center;
 
 
 
 
 
 
5373
  }
5374
+
5375
+ .eael-pricing .eael-pricing-item {
5376
  width: 100%;
5377
+ height: auto;
5378
  margin: 0;
 
 
 
 
 
5379
  }
5380
+
5381
+ .eael-pricing .eael-pricing-button {
5382
+ display: inline-block;
5383
+ padding: 12px 25px;
5384
+ background: #00C853;
5385
+ font-size: 14px;
5386
+ font-weight: 600;
5387
+ color: #fff;
5388
+ text-transform: uppercase;
5389
+ text-decoration: none;
5390
+ transition: .3s;
5391
+ border-radius: 4px;
5392
  }
5393
+
5394
+ .eael-pricing .eael-pricing-button:hover {
5395
+ background: #03b048;
 
 
5396
  }
5397
+
5398
+ .eael-pricing .eael-pricing-item ul {
5399
+ padding: 0px;
5400
+ margin: 0px;
5401
+ list-style: none;
5402
  }
5403
+
5404
+ .eael-pricing .eael-pricing-item ul li.disable-item {
5405
+ text-decoration: line-through;
5406
+ opacity: 0.5;
 
5407
  }
5408
+
5409
+ .eael-pricing .eael-pricing-item ul li span.li-icon {
5410
+ color: #00C853;
5411
+ margin-right: 6px;
 
5412
  }
5413
+
5414
+ .eael-pricing .eael-pricing-item ul li.disable-item span.li-icon {
5415
+ color: #EF5350;
5416
  }
5417
+
5418
+ /*--- Pricing Table: Style 1 ---*/
5419
+ .eael-pricing.style-1 {
5420
+ position: relative;
5421
+ z-index: 0;
5422
+ text-align: center;
5423
  }
5424
+
5425
+ .eael-pricing.style-1 .eael-pricing-item {
5426
+ border: 1px solid rgba(9, 9, 9, 0.1);
5427
+ padding: 30px;
5428
+ border-radius: 5px;
5429
+ transition: .5s;
5430
  }
5431
+
5432
+ .eael-pricing.style-1 .eael-pricing-item:hover {
5433
+ box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
5434
  }
5435
+
5436
+ .eael-pricing.style-1 .eael-pricing-item.featured {
5437
+ position: relative;
 
 
5438
  }
5439
+
5440
+ .eael-pricing.style-1 .eael-pricing-item.ribbon-1:before {
5441
+ content: "";
5442
+ position: absolute;
5443
+ width: 100%;
5444
+ height: 3px;
5445
+ background: #00C853;
5446
+ top: 0px;
5447
+ left: 0px;
5448
+ right: 0px;
5449
+ z-index: 1;
5450
+ border-radius: 5px 5px 0px 0px;
5451
  }
5452
+
5453
+ .eael-pricing.style-1 .eael-pricing-item.ribbon-2:before {
5454
+ content: "Featured";
5455
+ position: absolute;
5456
+ width: auto;
5457
+ background: #00C853;
5458
+ color: #fff;
5459
+ top: 35px;
5460
+ right: -15px;
5461
+ z-index: 10;
5462
+ font-size: 10px;
5463
+ font-weight: 600;
5464
+ text-transform: uppercase;
5465
+ padding: 5px 10px;
5466
  }
5467
+
5468
+ .eael-pricing.style-1 .eael-pricing-item.ribbon-2:after {
5469
+ content: "";
5470
+ position: absolute;
5471
+ top: 20px;
5472
+ right: -15px;
5473
+ width: 0;
5474
+ height: 0;
5475
+ border-bottom: 15px solid #00C853;
5476
+ border-right: 15px solid transparent;
5477
+ z-index: 9;
5478
+ opacity: 0.9;
5479
  }
5480
+
5481
+ .eael-pricing.style-1 .eael-pricing-item.ribbon-3:before {
5482
+ content: "Featured";
5483
+ position: absolute;
5484
+ width: auto;
5485
+ background: rgba(0, 0, 0, 0.6);
5486
+ color: #fff;
5487
+ top: 15px;
5488
+ right: 15px;
5489
+ z-index: 10;
5490
+ font-size: 11px;
5491
+ font-weight: 600;
5492
+ text-transform: uppercase;
5493
+ padding: 5px 15px;
5494
  }
5495
+
5496
+ .eael-pricing.style-1 .eael-pricing-item .header {
5497
+ display: block;
5498
  position: relative;
5499
+ z-index: 0;
5500
+ padding-bottom: 15px;
5501
+ margin-bottom: 15px;
 
 
 
 
5502
  }
5503
+
5504
+ .eael-pricing.style-1 .eael-pricing-item .header:after {
5505
+ content: "";
5506
+ position: absolute;
5507
+ width: 140px;
5508
+ height: 1px;
5509
+ bottom: 0px;
5510
+ left: 0px;
5511
+ right: 0px;
5512
+ margin: 0 auto;
5513
+ z-index: 1;
5514
+ background: rgba(9, 9, 9, 0.1);
5515
  }
5516
+
5517
+ .eael-pricing.style-1 .eael-pricing-item .header .title {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5518
  font-weight: 700;
5519
+ line-height: 30px;
5520
+ margin: 0px;
 
 
5521
  }
5522
+
5523
+ .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag {
5524
+ position: relative;
5525
+ z-index: 0;
5526
+ padding: 15px 0px;
5527
+ margin-bottom: 15px;
5528
+ }
5529
+
5530
+ .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after {
5531
+ content: "";
 
 
 
 
 
5532
  position: absolute;
5533
+ width: 140px;
5534
+ height: 1px;
5535
+ bottom: 0px;
5536
+ left: 0px;
5537
+ right: 0px;
5538
+ margin: 0 auto;
5539
  z-index: 1;
5540
+ background: rgba(9, 9, 9, 0.04);
 
 
 
 
 
 
 
 
 
 
 
5541
  }
5542
+
5543
+ .eael-pricing.style-1 .eael-pricing-item .price-tag {
5544
+ position: relative;
 
5545
  display: inline-block;
5546
+ font-size: 28px;
5547
+ font-weight: 500;
5548
+ line-height: 0px;
5549
+ margin: 0px auto;
5550
  }
5551
+
5552
+ .eael-pricing.style-1 .eael-pricing-item .price-tag .price-currency {
5553
+ font-size: 24px;
5554
+ font-weight: 700;
 
 
5555
  }
5556
+
5557
+ .eael-pricing.style-1 .eael-pricing-item .price-period {
5558
+ color: #999;
 
 
 
 
5559
  }
5560
+
5561
+ .eael-pricing.style-1 .eael-pricing-item .body ul {
 
5562
  display: block;
5563
+ width: 100%;
5564
+ margin-bottom: 15px;
 
 
 
 
 
 
 
 
 
 
 
 
 
5565
  }
5566
+
5567
+ .eael-pricing.style-1 .eael-pricing-item .body ul li {
 
5568
  display: block;
5569
+ width: 100%;
5570
+ height: auto;
5571
+ padding: 10px 0px;
5572
  font-size: 14px;
5573
+ color: #6d6d6d;
5574
+ border-bottom: 1px solid rgba(9, 9, 9, 0.04);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5575
  }
5576
+
5577
+ .eael-pricing.style-1 .eael-pricing-item .body ul li:last-child {
5578
+ border: none;
5579
  }
5580
+
5581
+ .eael-pricing.style-1 .eael-pricing-item.featured-large {
5582
+ padding: 60px 0px;
 
 
5583
  }
5584
+
5585
+ /*--- Pricing Table : Style 2 ---*/
5586
+ .eael-pricing.style-2 {
5587
  position: relative;
5588
+ z-index: 0;
 
5589
  text-align: center;
 
 
 
 
5590
  }
5591
+
5592
+ .eael-pricing.style-2 .eael-pricing-item {
5593
+ padding: 30px 0px;
5594
+ border-radius: 5px;
5595
+ margin: 0px;
5596
+ border: 1px solid rgba(9, 9, 9, 0.1);
5597
  }
5598
+
5599
+ .eael-pricing.style-2 .eael-pricing-item.featured {
5600
+ box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
 
5601
  }
5602
+
5603
+ .eael-pricing.style-2 .eael-pricing-item.ribbon-1:before {
5604
+ content: "";
5605
+ position: absolute;
5606
  width: 100%;
5607
+ height: 3px;
5608
+ background: #00C853;
5609
+ top: 0px;
5610
+ left: 0px;
5611
+ right: 0px;
5612
+ z-index: 1;
5613
+ border-radius: 5px 5px 0px 0px;
5614
  }
5615
+
5616
+ .eael-pricing.style-2 .eael-pricing-item.ribbon-2:before {
5617
+ content: "Featured";
5618
+ position: absolute;
5619
+ width: auto;
5620
+ background: #00C853;
5621
+ color: #fff;
5622
+ top: 35px;
5623
+ right: -15px;
5624
+ z-index: 10;
5625
+ font-size: 10px;
5626
+ font-weight: 600;
5627
+ text-transform: uppercase;
5628
+ padding: 5px 10px;
5629
  }
5630
+
5631
+ .eael-pricing.style-2 .eael-pricing-item.ribbon-2:after {
5632
+ content: "";
5633
  position: absolute;
5634
+ top: 20px;
5635
+ right: -15px;
5636
+ width: 0;
5637
+ height: 0;
5638
+ border-bottom: 15px solid #00C853;
5639
+ border-right: 15px solid transparent;
5640
+ z-index: 9;
5641
+ opacity: 0.9;
5642
  }
5643
+
5644
+ .eael-pricing.style-2 .eael-pricing-item.ribbon-3:before {
5645
+ content: "Featured";
5646
+ position: absolute;
5647
+ width: auto;
5648
+ background: rgba(0, 0, 0, 0.6);
 
 
 
 
5649
  color: #fff;
5650
+ top: 15px;
5651
+ right: 15px;
5652
+ z-index: 10;
5653
+ font-size: 11px;
5654
+ font-weight: 600;
5655
+ text-transform: uppercase;
5656
+ padding: 5px 15px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5657
  }
5658
+
5659
+ .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon {
 
5660
  display: inline-block;
 
 
 
 
 
 
5661
  position: relative;
5662
+ width: 80px;
5663
+ height: 80px;
5664
+ background: #00c853;
5665
+ border-radius: 50%;
5666
+ margin-bottom: 30px;
5667
+ text-align: center;
5668
+ transition: .5s;
5669
+ overflow: hidden;
5670
  }
5671
+
5672
+ .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon img {
5673
+ position: relative;
5674
+ bottom: auto;
5675
  }
5676
+
5677
+ .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon i {
5678
+ font-size: 30px;
 
 
 
5679
  color: #fff;
5680
+ line-height: 80px;
5681
+ transition: .5s;
 
 
 
5682
  }
5683
+
5684
+ .eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon {
5685
+ background: #43A047;
 
 
 
 
 
5686
  }
5687
+
5688
+ .eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon i {
 
 
 
 
 
 
 
5689
  color: #fff;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5690
  }
5691
 
5692
+ .eael-pricing.style-2 .eael-pricing-item .header {
5693
+ background: #C8E6C9;
5694
+ padding: 25px 30px;
5695
+ margin-bottom: 15px;
5696
+ position: relative;
5697
+ z-index: 0;
 
 
5698
  }
5699
 
5700
+ .eael-pricing.style-2 .eael-pricing-item.featured .header:after {
5701
+ content: "";
5702
+ position: absolute;
5703
  width: 100%;
5704
+ height: 100%;
5705
+ top: 0px;
5706
+ left: 0px;
5707
+ right: 0px;
5708
+ bottom: 0px;
5709
+ z-index: -1;
5710
+ background: rgba(255, 255, 255, 0.4);
5711
  }
5712
 
5713
+ .eael-pricing.style-2 .eael-pricing-item .header .title {
5714
+ font-size: 28px;
5715
+ font-weight: 700;
5716
+ line-height: 40px;
5717
+ margin: 0px;
5718
+ }
5719
+
5720
+ .eael-pricing.style-2 .eael-pricing-item .header .subititle {
5721
  font-size: 14px;
5722
  font-weight: 600;
5723
+ color: #6d6d6d;
 
 
 
 
5724
  }
5725
 
5726
+ .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag {
5727
+ position: relative;
5728
+ z-index: 0;
5729
+ padding: 15px 0px;
5730
+ margin-bottom: 15px;
5731
  }
5732
 
5733
+ .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after {
5734
+ content: "";
5735
+ position: absolute;
5736
+ width: 140px;
5737
+ height: 1px;
5738
+ bottom: 0px;
5739
+ left: 0px;
5740
+ right: 0px;
5741
+ margin: 0 auto;
5742
+ z-index: 1;
5743
+ background: rgba(9, 9, 9, 0.04);
5744
  }
5745
 
5746
+ .eael-pricing.style-2 .eael-pricing-item .price-tag {
5747
+ position: relative;
5748
+ display: inline-block;
5749
+ font-size: 28px;
5750
+ font-weight: 500;
5751
+ line-height: 0px;
5752
+ margin: 0px auto;
5753
  }
5754
 
5755
+ .eael-pricing.style-2 .eael-pricing-item .price-tag .price-currency {
5756
+ font-size: 24px;
5757
+ font-weight: 700;
5758
  color: #00C853;
 
5759
  }
5760
 
5761
+ .eael-pricing.style-2 .eael-pricing-item .price-period {
5762
+ color: #999;
5763
  }
5764
 
5765
+ .eael-pricing.style-2 .eael-pricing-item .body ul {
5766
+ display: block;
5767
+ width: 100%;
5768
+ margin-bottom: 15px;
 
5769
  }
5770
 
5771
+ .eael-pricing.style-2 .eael-pricing-item .body ul li {
5772
+ display: block;
5773
+ width: 100%;
5774
+ height: auto;
5775
+ padding: 10px 15px;
5776
+ font-size: 14px;
5777
+ color: #6d6d6d;
5778
+ border-bottom: 1px solid rgba(9, 9, 9, 0.04);
5779
  }
5780
 
5781
+ .eael-pricing.style-2 .eael-pricing-item .body ul li:last-child {
5782
+ border: none;
5783
  }
5784
 
5785
+ /*--- Media Query ---*/
5786
+ @media only screen and (min-width: 768px) and (max-width: 992px) {
5787
+ .eael-pricing {
5788
+ display: block;
5789
+ }
5790
+
5791
+ .eael-pricing .eael-pricing-item,
5792
+ .eael-pricing.style-2 .eael-pricing-item,
5793
+ .eael-pricing.style-4 .eael-pricing-item {
5794
+ width: 100%;
5795
+ margin: 0 auto 30px auto;
5796
+ }
5797
  }
5798
+ @media only screen and (max-width: 480px) {
5799
+ .eael-pricing {
5800
+ display: block;
5801
+ }
5802
 
5803
+ .eael-pricing .eael-pricing-item {
5804
+ width: 100%;
5805
+ }
5806
+
5807
+ .eael-pricing .eael-pricing-item,
5808
+ .eael-pricing.style-2 .eael-pricing-item,
5809
+ .eael-pricing.style-4 .eael-pricing-item {
5810
+ margin: 0 auto 30px auto;
5811
+ }
5812
+ }
5813
+ /*--- Page Builder Related Style ---*/
5814
+ .eael-pricing-content-align-center .eael-pricing {
5815
+ text-align: center;
5816
  }
5817
 
5818
+ .eael-pricing-content-align-left .eael-pricing {
5819
+ text-align: left;
 
 
 
 
 
 
 
 
 
 
 
5820
  }
5821
 
5822
+ .eael-pricing-content-align-right .eael-pricing {
5823
+ text-align: right;
 
 
 
 
 
 
 
 
 
5824
  }
5825
 
5826
+ .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag {
5827
+ padding-left: 45px;
 
 
 
 
 
 
 
 
 
 
 
5828
  }
5829
 
5830
+ .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag:before {
5831
+ left: 30px;
 
 
 
 
5832
  }
5833
 
5834
+ .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag {
5835
+ padding-right: 30px;
 
 
 
 
 
 
 
 
 
5836
  }
5837
 
5838
+ .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .header,
5839
+ .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon,
5840
+ .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .footer,
5841
+ .eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .header,
5842
+ .eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .footer {
5843
+ padding-left: 30px;
5844
+ padding-right: 30px;
5845
  }
5846
 
5847
+ .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .header,
5848
+ .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon,
5849
+ .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .footer,
5850
+ .eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .header,
5851
+ .eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .footer {
5852
+ padding-right: 30px;
5853
+ padding-left: 30px;
5854
  }
5855
 
5856
+ .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .body ul li,
5857
+ .eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .body ul li {
5858
+ padding-left: 30px;
 
 
 
 
 
 
 
 
5859
  }
5860
 
5861
+ .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .body ul li,
5862
+ .eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .body ul li {
5863
+ padding-right: 30px;
 
 
 
 
5864
  }
5865
 
5866
+ .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after {
5867
+ transform: translateX(-80%);
 
5868
  }
5869
 
5870
+ .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after {
5871
+ transform: translateX(80%);
5872
  }
5873
 
5874
+ .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,
5875
+ .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after {
5876
+ transform: translateX(0%);
 
5877
  }
5878
 
5879
+ .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,
5880
+ .eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .header:after,
5881
+ .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,
5882
+ .eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,
5883
+ .eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after,
5884
+ .eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after {
5885
+ margin: 0;
5886
  width: 100%;
 
 
 
 
 
5887
  }
5888
 
5889
+ /*--- Button Alignment ---*/
5890
+ .eael-pricing-button-align-right .eael-pricing.style-1 .footer,
5891
+ .eael-pricing-button-align-right .eael-pricing.style-2 .footer,
5892
+ .eael-pricing-button-align-right .eael-pricing.style-3 .footer,
5893
+ .eael-pricing-button-align-right .eael-pricing.style-4 .footer {
5894
+ text-align: right;
5895
  }
5896
 
5897
+ .eael-pricing-button-align-center .eael-pricing.style-1 .footer,
5898
+ .eael-pricing-button-align-center .eael-pricing.style-2 .footer,
5899
+ .eael-pricing-button-align-center .eael-pricing.style-3 .footer,
5900
+ .eael-pricing-button-align-center .eael-pricing.style-4 .footer {
5901
+ text-align: center;
5902
  }
5903
 
5904
+ .eael-pricing-button-align-left .eael-pricing.style-1 .footer,
5905
+ .eael-pricing-button-align-left .eael-pricing.style-2 .footer,
5906
+ .eael-pricing-button-align-left .eael-pricing.style-3 .footer,
5907
+ .eael-pricing-button-align-left .eael-pricing.style-4 .footer {
5908
+ text-align: left;
5909
  }
5910
 
5911
+ .eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-2 .footer,
5912
+ .eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-4 .footer {
5913
+ padding-right: 30px;
 
 
5914
  }
5915
 
5916
+ .eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-2 .footer,
5917
+ .eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-4 .footer {
5918
+ padding-left: 30px;
5919
  }
5920
 
5921
+ /*--- Only In Pro Alert ---*/
5922
+ .only-in-pro {
 
5923
  width: 100%;
5924
+ -webkit-display: flex;
5925
+ display: flex;
5926
+ align-items: center;
5927
+ justify-content: center;
5928
+ padding: 15px;
5929
+ min-width: 200px;
5930
+ background: #EF5350;
 
 
 
 
 
 
 
5931
  color: #fff;
5932
+ text-align: center;
 
 
 
 
 
 
5933
  }
5934
 
5935
+ .only-in-pro .title {
5936
+ font-family: 'Roboto', sans-serif;
5937
+ font-size: 24px;
5938
+ line-height: 40px;
5939
+ margin: 0px;
 
 
 
 
 
 
5940
  }
5941
 
5942
+ /*--- Pricing Table Tooltip ---*/
5943
+ div.tooltipster-sidetip.tooltipster-base.tooltipster-right .tooltipster-arrow {
5944
  position: absolute;
5945
+ top: 50%;
 
 
 
 
 
 
 
 
 
5946
  }
5947
 
5948
+ div.tooltipster-sidetip.tooltipster-top div.tooltipster-box {
5949
+ margin-bottom: 0px !important;
 
 
 
 
 
 
 
 
 
5950
  }
5951
 
5952
+ div.tooltipster-sidetip.tooltipster-bottom div.tooltipster-box {
5953
+ margin-top: 0px !important;
 
5954
  }
5955
 
5956
+ .tooltipster-base.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {
5957
+ top: auto;
5958
+ bottom: -8px;
 
 
5959
  }
5960
 
5961
+ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
5962
+ top: -8px;
5963
+ bottom: auto;
5964
  }
5965
 
5966
+ @media only screen and (max-width: 480px) {
5967
+ .eael-pricing.style-1 .eael-pricing-item .price-tag {
5968
+ display: block;
5969
+ }
5970
  }
5971
 
5972
+ /*--------------------------*/
5973
+ /* 09. Product Styles
5974
+ /*--------------------------*/
5975
+ .eael-product-grid .woocommerce ul.products,
5976
+ .eael-post-grid .woocommerce ul.products {
5977
+ display: grid;
5978
+ grid-gap: 25px;
5979
+ margin: 0 !important;
5980
+ padding: 0 !important;
5981
  }
5982
+ .eael-product-grid .woocommerce ul.products:before, .eael-product-grid .woocommerce ul.products:after,
5983
+ .eael-post-grid .woocommerce ul.products:before,
5984
+ .eael-post-grid .woocommerce ul.products:after {
5985
+ display: none;
5986
+ }
5987
+ .eael-product-grid .woocommerce ul.products .product,
5988
+ .eael-post-grid .woocommerce ul.products .product {
5989
  width: 100%;
5990
+ margin: 0;
5991
+ padding: 0;
 
 
 
 
 
5992
  }
5993
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-1,
5994
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-1 {
5995
+ grid-template-columns: 100%;
 
 
 
5996
  }
5997
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-2,
5998
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-2 {
5999
+ grid-template-columns: repeat(2, 1fr);
 
 
6000
  }
6001
+ @media screen and (max-width: 480px) {
6002
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-2,
6003
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-2 {
6004
+ grid-template-columns: repeat(1, 1fr);
6005
+ }
 
6006
  }
6007
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-3,
6008
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-3 {
6009
+ grid-template-columns: repeat(3, 1fr);
 
 
 
 
 
 
 
 
 
6010
  }
6011
+ @media screen and (max-width: 767px) {
6012
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-3,
6013
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-3 {
6014
+ grid-template-columns: repeat(2, 1fr);
6015
+ }
 
 
 
6016
  }
6017
+ @media screen and (max-width: 480px) {
6018
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-3,
6019
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-3 {
6020
+ grid-template-columns: repeat(1, 1fr);
6021
+ }
6022
  }
6023
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-4,
6024
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-4 {
6025
+ grid-template-columns: repeat(4, 1fr);
6026
  }
6027
+ @media screen and (max-width: 767px) {
6028
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-4,
6029
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-4 {
6030
+ grid-template-columns: repeat(2, 1fr);
6031
+ }
6032
  }
6033
+ @media screen and (max-width: 480px) {
6034
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-4,
6035
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-4 {
6036
+ grid-template-columns: repeat(1, 1fr);
6037
+ }
 
 
 
 
6038
  }
6039
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-5,
6040
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-5 {
6041
+ grid-template-columns: repeat(5, 1fr);
6042
  }
6043
+ @media screen and (max-width: 767px) {
6044
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-5,
6045
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-5 {
6046
+ grid-template-columns: repeat(2, 1fr);
 
 
 
 
 
 
 
 
6047
  }
6048
  }
6049
+ @media screen and (max-width: 480px) {
6050
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-5,
6051
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-5 {
6052
+ grid-template-columns: repeat(1, 1fr);
6053
  }
6054
+ }
6055
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-6,
6056
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-6 {
6057
+ grid-template-columns: repeat(6, 1fr);
6058
+ }
6059
+ @media screen and (max-width: 767px) {
6060
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-6,
6061
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-6 {
6062
+ grid-template-columns: repeat(2, 1fr);
6063
  }
6064
+ }
6065
+ @media screen and (max-width: 480px) {
6066
+ .eael-product-grid .woocommerce ul.products.eael-product-columns-6,
6067
+ .eael-post-grid .woocommerce ul.products.eael-product-columns-6 {
6068
+ grid-template-columns: repeat(1, 1fr);
6069
  }
6070
  }
6071
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,
6072
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product,
6073
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product {
6074
+ position: relative;
6075
+ float: left;
6076
+ overflow: hidden;
6077
  text-align: center;
6078
+ padding: 0;
6079
+ border-radius: 0;
6080
+ background-color: #fff;
6081
+ box-shadow: none;
6082
  }
6083
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a,
6084
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a,
6085
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a {
6086
+ text-decoration: none;
6087
  }
6088
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a:hover, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,
6089
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover,
6090
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover {
6091
+ outline: none;
6092
+ box-shadow: none;
6093
  }
6094
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product img, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,
6095
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,
6096
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img {
6097
+ width: 100%;
6098
+ height: auto;
6099
+ -webkit-backface-visibility: hidden;
6100
+ backface-visibility: hidden;
6101
  }
6102
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,
6103
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,
6104
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title {
6105
+ font-size: 16px;
6106
+ font-weight: 700;
6107
+ line-height: 1;
6108
+ color: #333;
6109
+ margin: 25px 0 12px;
6110
+ padding: 0;
6111
  }
6112
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .onsale, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,
6113
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .onsale,
6114
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .onsale {
6115
+ display: block;
6116
+ line-height: 170px;
6117
+ font-size: 13px;
6118
+ text-align: center;
6119
+ letter-spacing: 0;
6120
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
6121
+ text-transform: uppercase;
6122
+ color: #fff;
6123
+ background-color: #ff2a13;
6124
+ border-radius: 0;
6125
+ border: none;
6126
+ box-shadow: none;
6127
+ position: absolute;
6128
+ height: 100px;
6129
+ width: 200px;
6130
+ z-index: 1;
6131
+ left: -100px;
6132
+ top: -50px;
6133
+ right: auto;
6134
+ margin: 0;
6135
+ padding: 0;
6136
+ transform: rotate(-45deg);
6137
  }
6138
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price,
6139
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price,
6140
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price {
6141
+ font-size: 14px;
6142
+ margin-bottom: 0;
 
 
 
6143
  }
6144
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price del, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price del,
6145
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price del,
6146
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price del {
6147
+ opacity: 0.5;
6148
+ display: inline-block;
6149
+ }
6150
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price ins, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,
6151
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price ins,
6152
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price ins {
6153
+ font-weight: 400;
6154
+ background-color: transparent;
6155
+ color: #ff2a13;
6156
+ }
6157
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .star-rating, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,
6158
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,
6159
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating {
6160
+ display: block;
6161
+ float: none;
6162
+ font-size: 14px;
6163
+ margin: 10px auto;
6164
+ }
6165
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
6166
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,
6167
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button {
6168
+ display: block;
6169
+ font-size: 14px;
6170
+ font-weight: 400;
6171
+ line-height: 38px;
6172
+ text-align: center;
6173
+ text-transform: uppercase;
6174
+ color: #fff;
6175
+ background-color: #333;
6176
+ padding: 0;
6177
+ margin: 15px;
6178
+ border-radius: 0;
6179
+ }
6180
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,
6181
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,
6182
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus {
6183
+ outline: none;
6184
+ }
6185
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,
6186
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,
6187
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart {
6188
+ display: block;
6189
+ margin: 0 0 15px 0;
6190
+ padding: 0;
6191
+ font-size: 14px;
6192
+ line-height: 1;
6193
+ text-transform: capitalize;
6194
+ color: #333;
6195
+ background-color: transparent;
6196
+ }
6197
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product,
6198
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product {
6199
+ border: 1px solid #eee;
6200
+ }
6201
+ .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,
6202
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product {
6203
+ border: 1px solid transparent;
6204
+ }
6205
+ .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
6206
+ .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,
6207
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
6208
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart {
6209
+ visibility: hidden;
6210
+ transition: none;
6211
+ }
6212
+ .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover,
6213
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover {
6214
+ border: 1px solid #eee;
6215
+ }
6216
+ .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,
6217
+ .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,
6218
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,
6219
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart {
6220
+ visibility: visible;
6221
+ }
6222
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product,
6223
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product {
6224
+ position: relative;
6225
+ float: left;
6226
+ overflow: hidden;
6227
+ text-align: center;
6228
+ padding: 0 0 15px 0;
6229
+ border-radius: 0;
6230
+ background-color: #fff;
6231
+ box-shadow: none;
6232
+ }
6233
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a,
6234
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a {
6235
+ text-decoration: none;
6236
+ }
6237
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover,
6238
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover {
6239
+ outline: none;
6240
+ box-shadow: none;
6241
  }
6242
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img,
6243
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img {
6244
+ width: 100%;
6245
+ height: auto;
6246
+ margin: 0;
6247
+ -webkit-backface-visibility: hidden;
6248
+ backface-visibility: hidden;
6249
  }
6250
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay,
6251
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay {
6252
+ position: relative;
6253
+ overflow: hidden;
6254
+ line-height: 0;
6255
  }
6256
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap,
6257
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap {
6258
+ position: absolute;
6259
+ top: 50%;
6260
+ left: 0;
6261
+ right: 0;
6262
+ text-align: center;
6263
+ transform: translateY(-50%);
6264
  }
6265
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
6266
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
6267
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,
6268
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
6269
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
6270
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart {
6271
+ display: inline-block;
6272
+ font-size: 14px;
6273
+ line-height: 38px;
6274
+ text-align: center;
6275
+ color: #fff;
6276
+ background-color: #333;
6277
+ width: 38px;
6278
+ height: 38px;
6279
+ border-style: none;
6280
+ border-radius: 50%;
6281
+ vertical-align: middle;
6282
+ padding: 0;
6283
+ margin: 0 5px;
6284
+ transform: translateY(20px);
6285
+ opacity: 0;
6286
+ transition: transform 200ms, opacity 300ms;
6287
  }
6288
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,
6289
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,
6290
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,
6291
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,
6292
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,
6293
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus {
6294
+ outline: none;
6295
  }
6296
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
6297
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button {
6298
+ font-size: 0;
 
 
 
 
 
 
6299
  }
6300
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before,
6301
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before {
6302
+ display: none;
 
 
 
 
6303
  }
6304
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after,
6305
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after {
6306
+ content: "\f217";
6307
+ font: normal normal normal 14px/1 FontAwesome;
6308
+ font-size: 14px;
6309
+ line-height: 38px;
6310
+ text-rendering: auto;
6311
+ -webkit-font-smoothing: antialiased;
6312
+ vertical-align: middle;
6313
+ margin: 0;
6314
+ padding: 0;
6315
  }
6316
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before,
6317
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before {
6318
+ display: none;
 
 
 
6319
  }
6320
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after,
6321
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after {
6322
+ content: "\f110";
6323
+ display: inline-block;
6324
+ font: normal normal normal 14px/1 FontAwesome;
6325
+ font-size: 14px;
6326
+ line-height: 38px;
6327
+ color: #fff;
6328
+ height: auto;
6329
+ width: auto;
6330
+ position: relative;
6331
+ top: 0;
6332
+ left: 0;
6333
+ margin: 0;
6334
+ padding: 0;
6335
  }
6336
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,
6337
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart {
6338
+ font-size: 0;
 
6339
  }
6340
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after,
6341
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after {
6342
+ content: "\f06e";
6343
+ font: normal normal normal 14px/1 FontAwesome;
6344
+ font-size: 14px;
6345
+ line-height: 38px;
 
 
 
 
 
6346
  color: #fff;
6347
+ text-rendering: auto;
6348
+ -webkit-font-smoothing: antialiased;
6349
+ vertical-align: middle;
6350
+ margin: 0;
6351
+ padding: 0;
6352
  }
6353
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title,
6354
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title {
6355
+ font-size: 16px;
6356
+ font-weight: 700;
6357
+ line-height: 1;
6358
+ color: #333;
6359
+ margin: 25px 0 12px;
6360
+ padding: 0;
6361
  }
6362
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .onsale,
6363
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .onsale {
6364
+ display: block;
6365
+ line-height: 170px;
6366
+ font-size: 13px;
6367
+ text-align: center;
6368
+ letter-spacing: 0;
6369
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
6370
+ text-transform: uppercase;
6371
+ color: #fff;
6372
+ background-color: #ff2a13;
6373
+ border-radius: 0;
6374
+ border: none;
6375
+ box-shadow: none;
6376
  position: absolute;
6377
+ height: 100px;
6378
+ width: 200px;
6379
+ z-index: 1;
6380
+ left: -100px;
6381
+ top: -50px;
6382
+ right: auto;
6383
+ margin: 0;
6384
+ padding: 0;
6385
+ transform: rotate(-45deg);
6386
  }
6387
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price,
6388
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price {
6389
+ font-size: 14px;
6390
+ margin-bottom: 0;
6391
  }
6392
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price del,
6393
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price del {
6394
+ opacity: 0.5;
6395
+ display: inline-block;
6396
  }
6397
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price ins,
6398
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price ins {
6399
+ font-weight: 400;
6400
+ background-color: transparent;
6401
+ color: #ff2a13;
6402
  }
6403
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating,
6404
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating {
6405
+ display: block;
6406
+ float: none;
6407
+ font-size: 14px;
6408
+ margin: 10px auto;
6409
  }
6410
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,
6411
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,
6412
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,
6413
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button {
6414
+ opacity: 1;
6415
+ transform: translateY(0);
6416
  }
6417
 
6418
  @-webkit-keyframes animateStripe {
7484
  -webkit-box-orient: vertical;
7485
  }
7486
 
7487
+ .eael-twitter-feed.swiper-container .swiper-button-next, .eael-twitter-feed.swiper-container .swiper-button-prev {
7488
+ background-image: none;
7489
+ outline: none;
7490
+ }
7491
+
7492
  /*----------------------*/
7493
  /* 12. weForm Styles
7494
  /*----------------------*/
assets/front-end/css/eael.min.css CHANGED
@@ -1,22 +1,22 @@
1
  .eael-adv-accordion{width:auto;height:auto;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header{padding:15px;border:1px solid rgba(0,0,0,.02);font-size:1rem;font-weight:600;line-height:1;transition:all .3s ease-in-out;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-toggle{transform:rotate(0);z-index:10;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-toggle{transform:rotate(90deg);z-index:10;transition:all .3s ease-in-out}.fa-accordion-icon{display:inline-block;margin-right:10px}.eael-adv-accordion .eael-accordion-list .eael-accordion-content{display:none;border:1px solid #eee;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.eael-adv-accordion .eael-accordion-list .eael-accordion-content p{margin:0}.eael-adv-accordion .eael-accordion-list .eael-accordion-content.active{display:block}@-webkit-keyframes rotate-90{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}@keyframes rotate-90{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}@-webkit-keyframes fadeIn{0%{opacity:1;transition:all .3s ease-in-out}100%{opacity:1;transition:all .3s ease-in-out}}@keyframes fadeIn{0%{opacity:1;transition:all .3s ease-in-out}100%{opacity:1;transition:all .3s ease-in-out}}
2
  .eael-advance-tabs{display:block}.eael-advance-tabs .eael-tabs-nav>ul{position:relative;padding:0;margin:0;list-style-type:none;display:flex;justify-content:flex-start;align-items:center;z-index:1}.eael-advance-tabs .eael-tabs-nav>ul li{position:relative;padding:1em 1.5em;flex:1 1 auto;cursor:pointer;display:flex;justify-content:center;align-items:center;text-align:center;background-color:#f1f1f1}.eael-advance-tabs .eael-tabs-nav>ul li:after{content:"";position:absolute;bottom:-10px;left:0;right:0;margin:0 auto;z-index:1;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #444;border-bottom:0;display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active,.eael-advance-tabs .eael-tabs-nav>ul li.active-default,.eael-advance-tabs .eael-tabs-nav>ul li:hover{background-color:#444}.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active:after{display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs .eael-tabs-nav>ul li.active:after{display:block}.eael-tabs-content{display:flex;flex:1 1 auto}.eael-advance-tabs .eael-tabs-content>div{display:none;opacity:0}.eael-advance-tabs .eael-tabs-content>div.active,.eael-advance-tabs .eael-tabs-content>div.active-default{display:block;width:100%;padding:1em;opacity:1;-webkit-animation:fadeIn linear .3s;animation:fadeIn linear .3s}.eael-tab-inline-icon li a .fa{margin-right:10px;line-height:1}.eael-tab-top-icon li{display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li a{display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li .eael-tab-title,.eael-tab-top-icon li .fa{flex:1 1 100%;line-height:1}.eael-tab-top-icon li a .eael-tab-title{margin-top:10px}.eael-advance-tabs.eael-tabs-vertical{display:flex}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav{flex:0 0 auto}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul{flex-flow:column wrap}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul>li{width:100%;justify-content:start}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul li::after{bottom:auto!important;right:-10px;top:calc(50% - 10px);left:auto!important;border-left:10px solid #444;border-right:0;border-top:10px solid transparent;border-bottom:10px solid transparent}@media only screen and (max-width:767px){.eael-advance-tabs .eael-tabs-nav>ul{flex-wrap:wrap}.eael-advance-tabs .eael-tabs-nav>ul li{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical{flex-wrap:wrap}.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul li{flex:1 100%}div.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav>ul li::after{border-left-color:transparent!important;bottom:-20px!important;left:0!important;right:0!important;top:auto!important;border-left:10px solid transparent;border-right:10px solid transparent;border-top-color:#444!important}}
3
  .eael-caldera-form-align-left,.eael-caldera-form-btn-align-left{text-align:left}.eael-caldera-form-align-right,.eael-caldera-form-btn-align-right{text-align:right}.eael-caldera-form-align-center,.eael-caldera-form-btn-align-center{text-align:center}.eael-caldera-form .control-label{display:none}.eael-caldera-form-labels-yes .control-label{display:block}.eael-caldera-form-button-center .form-group input[type=button],.eael-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.eael-caldera-form-button-right .form-group input[type=button],.eael-caldera-form-button-right .form-group input[type=submit]{float:right}.eael-caldera-form .intl-tel-input{display:inherit}.eael-custom-radio-checkbox .caldera-grid input[type=checkbox],.eael-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.eael-caldera-form-button-full-width .form-group input[type=button],.eael-caldera-form-button-full-width .form-group input[type=submit]{width:100%}
4
- .eael-call-to-action{width:100%;height:auto;display:block;padding:30px;font-size:16px;color:#4d4d4d;font-weight:400;line-height:27px;margin:0 auto}.eael-call-to-action p{margin-bottom:10px}.eael-call-to-action .title{font-size:36px;font-weight:600;line-height:36px;margin-bottom:10px;text-transform:capitalize;font-style:normal}.eael-call-to-action.cta-center{text-align:center}.eael-call-to-action.cta-right{text-align:right}.eael-call-to-action.cta-left{text-align:left}.eael-call-to-action.bg-lite{background:#f4f4f4}.eael-call-to-action.bg-img{background-image:url(../img/bg.jpg);background-repeat:no-repeat;background-position:center;background-size:cover;position:relative;z-index:0;color:rgba(255,255,255,.7)}.eael-call-to-action.bg-img .icon{color:#fff}.eael-call-to-action.bg-img:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;background:rgba(0,0,0,.8)}.eael-call-to-action.bg-img.bg-fixed{background-attachment:fixed;background-position:center center}.eael-call-to-action.bg-img .title{color:rgba(255,255,255,.9)}.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{display:flex;justify-content:space-between;align-items:flex-start}.eael-call-to-action.cta-icon-flex .icon{flex-grow:1;font-size:80px;text-align:left;line-height:130px}.eael-call-to-action.cta-icon-flex .action{flex-grow:1;text-align:right;padding-top:22px;flex-basis:22%}.eael-call-to-action.cta-icon-flex .content{flex-grow:1;padding:0 30px}.eael-call-to-action.cta-flex .content{padding:0 15px;flex-grow:1}.eael-call-to-action.cta-flex .action{flex-grow:1;text-align:right;padding-top:25px;flex-basis:23%}.eael-call-to-action .cta-button{position:relative;display:inline-block;padding:12px 30px;background:#f9f9f9;font-size:16px;text-decoration:none;color:#4d4d4d;transition:.5s;-ms-box-shadow:0 0 3px -1px rgba(0,0,0,.2);box-shadow:0 0 3px -1px rgba(0,0,0,.2);margin-right:10px;margin-top:10px;z-index:0;overflow:hidden}.eael-call-to-action .cta-button:last-child{margin-right:0}.eael-call-to-action .cta-button:focus{outline:0}.eael-call-to-action .cta-button:hover{color:#fff;background:#3f51b5;-ms-box-shadow:0 1px 12px 1px rgba(0,0,0,.1);box-shadow:0 1px 12px 1px rgba(0,0,0,.1)}.eael-call-to-action .cta-button.effect-1:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;transform:translateY(-100%);-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);z-index:-1;transition:.5s;color:#fff}.eael-call-to-action .cta-button.effect-1:hover::after{transform:translateY(0)}.eael-call-to-action .cta-button.effect-2:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;z-index:-1;transition:.5s;color:#fff;transform:translateX(-100%)}.eael-call-to-action .cta-button.effect-2:hover::after{transform:translateX(0)}@media only screen and (max-width:768px){.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{flex-wrap:wrap}.eael-call-to-action .title{font-size:28px;line-height:36px;margin-top:0}.eael-call-to-action.cta-icon-flex .icon{flex-grow:1;font-size:48px;line-height:90px;text-align:center}.eael-call-to-action.cta-flex .content,.eael-call-to-action.cta-icon-flex .content{flex-grow:1;text-align:center;padding:0}.eael-call-to-action.cta-flex .action,.eael-call-to-action.cta-icon-flex .action{text-align:center;padding-top:0}.eael-call-to-action .cta-button{padding:12px 25px}}@media only screen and (max-width:360px){.eael-call-to-action{font-size:14px;line-height:26px}.eael-call-to-action .cta-button{padding:4px 20px;font-size:12px}.eael-call-to-action .title{font-size:20px;line-height:30px}}
5
  @-webkit-keyframes loaderSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes loaderSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.eael-load-more-button-wrap{display:flex}.eael-load-more-button{display:flex;align-items:center;justify-content:center;padding:1em 2em;border:0 solid;font-size:16px;overflow:hidden}.eael-load-more-button .button__loader{left:-100%;top:auto;margin-right:5px;transition:all .2s}.eael-load-more-button>span{margin-left:-20px}.eael-load-more-button.button--loading>span{margin-left:0}.eael-load-more-button.button--loading .button__loader{left:0}.eael-btn-loader{border-radius:50%;width:20px;height:20px;font-size:10px;position:relative;text-indent:-9999em;border-top:4px solid rgba(255,255,255,.2);border-right:4px solid rgba(255,255,255,.2);border-bottom:4px solid rgba(255,255,255,.2);border-left:4px solid #fff;transform:translateZ(0);-webkit-animation:loaderSpin 1.1s infinite linear;animation:loaderSpin 1.1s infinite linear}.eael-btn-loader:after{border-radius:50%;width:20px;height:20px}
 
6
  .eael-contact-form-7.eael-contact-form-btn-align-center input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-center{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-7.eael-contact-form-btn-align-left input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-left{float:left;width:auto}.eael-contact-form-7.eael-contact-form-btn-align-right input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-right{float:right;width:auto}.eael-contact-form-7 .uneditable-input,.eael-contact-form-7 input[type=color],.eael-contact-form-7 input[type=date],.eael-contact-form-7 input[type=datetime-local],.eael-contact-form-7 input[type=datetime],.eael-contact-form-7 input[type=email],.eael-contact-form-7 input[type=month],.eael-contact-form-7 input[type=number],.eael-contact-form-7 input[type=password],.eael-contact-form-7 input[type=search],.eael-contact-form-7 input[type=tel],.eael-contact-form-7 input[type=text],.eael-contact-form-7 input[type=time],.eael-contact-form-7 input[type=url],.eael-contact-form-7 input[type=week],.eael-contact-form-7 textarea{transition:border linear .2s,box-shadow linear .2s}.eael-contact-form-7 .wpcf7-form::after,.eael-contact-form-7 .wpcf7-form::before{content:" ";clear:both;display:table}.eael-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.eael-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.eael-contact-form-7 .wpcf7-form label{display:block}.eael-contact-form-7 .wpcf7-form p{margin-bottom:0}.eael-contact-form-7.labels-hide .wpcf7-form label{display:none}.eael-contact-form-7-title{margin-bottom:10px}.eael-contact-form-7-description{margin-bottom:20px}.eael-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}.eael-contact-form-7-wrapper .eael-contact-form-align-center form{margin:0 auto}
7
- .eael-ticker-wrap{overflow:hidden;display:flex;flex-flow:row nowrap;align-items:center;width:100%}.eael-ticker-wrap .ticker-badge{flex:0 0 auto;padding:8px 12px}.eael-ticker-wrap .eael-ticker{overflow:hidden;flex:1 1 auto}.eael-ticker-wrap .eael-ticker .ticker-content{padding:8px 12px;line-height:1.8}.eael-ticker-wrap .eael-ticker .ticker-content p{margin:0}.eael-ticker-wrap .swiper-button-prev{left:auto!important;right:25px}.eael-ticker-wrap div.swiper-slide,.eael-ticker-wrap div.swiper-slide.swiper-slide-next,.eael-ticker-wrap div.swiper-slide.swiper-slide-prev{opacity:0!important}.eael-ticker-wrap div.swiper-slide.swiper-slide-active{opacity:1!important}.eael-ticker-wrap .eael-content-ticker.swiper-container .swiper-slide{text-align:left}@media only screen and (max-width:767px){.eael-ticker-wrap{flex-flow:row wrap}.content-ticker-pagination{display:none}}
8
  .eael-countdown-items{list-style:none;margin:0;padding:0;display:table;table-layout:fixed;width:100%}.eael-countdown-items>li{list-style:none;margin:0;padding:0;display:table-cell;position:relative}.eael-countdown-item>div{text-align:center;padding:20px}.eael-countdown-label-block .eael-countdown-digits,.eael-countdown-label-block .eael-countdown-label{display:block;text-align:center}.eael-countdown-digits{font-size:54px;line-height:1}.eael-countdown-label{font-size:18px;line-height:1;color:#fff}.eael-countdown-show-separator .eael-countdown-digits::after{content:":";position:absolute;left:98%;z-index:9999}.eael-countdown-item:last-child .eael-countdown-digits::after{display:none}.eael-countdown-items.style-1 .eael-countdown-item>div{background:#262625}
9
- table.eael-data-table thead .sorting,table.eael-data-table thead .sorting_asc,table.eael-data-table thead .sorting_desc{position:relative;z-index:0;outline:0;cursor:pointer}table.eael-data-table thead .sorting:after,table.eael-data-table thead .sorting_asc:after,table.eael-data-table thead .sorting_desc:after{position:absolute;top:50%;right:10px;font-family:FontAwesome;color:#fff;z-index:1;transform:translateY(-50%)}.eael-data-table-wrap .eael-data-tables_wrapper{display:flex;flex-flow:row wrap;justify-content:flex-start;width:100%}.eael-data-table-wrap .eael-data-tables_filter{flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_filter label{font-weight:700}.eael-data-table-wrap .eael-data-tables_filter label input[type=search]{height:40px;border:1px solid rgba(0,0,0,.09);outline:0;padding:10px;margin-left:10px}.eael-data-table-wrap .eael-data-tables_length{flex-grow:1;flex-basis:50%}.eael-data-table-wrap .eael-data-tables_length select{width:auto;max-width:120px;height:40px;border:1px solid rgba(0,0,0,.09);outline:0;margin-left:10px;margin-right:10px}.eael-data-table-wrap .eael-data-tables_length label{font-weight:700}.eael-data-table-wrap .eael-data-tables_info{flex-grow:1;flex-basis:50%;font-weight:700}.eael-data-table-wrap .eael-data-tables_paginate{flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button{padding:10px 15px;background:#f2f2f2;margin-right:2px;cursor:pointer;transition:all .3s}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button:hover{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.current{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.disabled{cursor:no-drop;background:#f2f2f2;opacity:.5;color:#888}.data-header-icon{margin-right:10px;position:relative;top:2px}.eael-data-table{width:100%;height:auto;margin:0;border-collapse:collapse;border:none}.eael-data-table tr{border-style:none}.eael-data-table thead tr{text-align:left}.eael-data-table thead tr th{padding:20px 15px;background:#4a4893;font-size:16px;font-weight:600;font-family:Montserrat,sans-serif;line-height:1;color:#fff;border-color:#000;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table thead tr th:hover{border-color:#000}.eael-data-table tbody tr.even{transition:background .4s ease-in-out}.eael-data-table tbody tr.even:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.even:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr.odd{background:rgba(242,242,242,.5);transition:background .2s ease-in-out}.eael-data-table tbody tr.odd:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.odd:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr td{padding:20px 15px;font-size:14px;font-family:Montserrat,sans-serif;line-height:1;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table-th-img{display:inline-block;margin:0 15px 0 0;line-height:1}.th-mobile-screen{display:none}@media (max-width:767px){.eael-data-table-wrap{overflow-x:scroll!important;padding-bottom:5px}.th-mobile-screen{display:inline-block;padding:0 .6em;margin-right:10px;text-align:center;flex-grow:0;flex-shrink:0;flex-basis:100px}.th-mobile-screen .eael-data-table-th-img{margin:0 auto 15px auto;display:block}.th-mobile-screen .data-header-icon{margin:0 auto 15px auto;display:block}.td-content-wrapper{display:flex;width:100%}.td-content{width:100%;justify-content:center}.td-content>p{width:100%;justify-content:center}.custom-responsive-option-enable .eael-data-table thead{display:none}.custom-responsive-option-enable .eael-data-table tbody tr td{float:none;clear:left;width:100%;text-align:left;display:flex;align-items:center}.eael-data-table .td-content{align-items:center;display:flex}}table.eael-data-table thead .sorting:after{content:"\f0dc"}table.eael-data-table thead .headerSortDown:after{content:"\f0dd"}table.eael-data-table thead .headerSortUp:after{content:"\f0de"}table.eael-data-table thead .sorting_disabled.sorting:after{display:none}table.eael-data-table .sorting.sorting-none:after{display:none}table.eael-data-table .sorting_desc.sorting-none:after{display:none}table.eael-data-table .sorting_asc.sorting-none:after{display:none}.eael-table-align-left table.eael-data-table{float:left}.eael-table-align-center table.eael-data-table{margin:0 auto}.eael-table-align-right table.eael-data-table{float:right}.eael-hide-elements .eael-data-tables_info{display:none}.eael-dt-th-align-left .eael-data-table thead tr th{text-align:left}.eael-dt-td-align-left .eael-data-table tbody tr td{text-align:left}.eael-dt-th-align-right .eael-data-table thead tr th{text-align:right;padding-right:30px}.eael-dt-td-align-right .eael-data-table tbody tr td{text-align:right;padding-right:30px}.eael-dt-th-align-center .eael-data-table thead tr th{text-align:center}.eael-dt-td-align-center .eael-data-table tbody tr td{text-align:center}
10
  .eael-creative-button-align-center{text-align:center}.eael-creative-button-wrapper{display:flex}.eael-creative-button{flex:0 0 auto;min-width:150px;text-align:center;vertical-align:middle;position:relative;z-index:1;border-radius:2px;padding:20px 30px;font-size:16px;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}.eael-creative-button:focus{outline:0}.eael-creative-button--winona{overflow:hidden;padding:0!important;transition:border-color .3s,background-color .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona::after{content:attr(data-text);position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;transform:translate3d(0,25%,0);display:flex;align-items:center;justify-content:center}.eael-creative-button--winona::after,.eael-creative-button--winona>.creative-button-inner{padding:1em 2em;transition:transform .3s,opacity .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona:hover::after{opacity:1;transform:translate3d(0,0,0)}.eael-creative-button--winona:hover>.creative-button-inner{opacity:0;transform:translate3d(0,0,0)}.eael-creative-button--ujarak{transition:border-color .4s,color .4s}.eael-creative-button--ujarak::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;transform:scale3d(.7,1,1);transition:transform .4s,opacity .4s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak,.eael-creative-button--ujarak::before{transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak:hover::before{opacity:1;transform:translate3d(0,0,0)}.eael-creative-button--wayra{overflow:hidden;transition:border-color .3s,color .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--wayra::before{content:'';position:absolute;top:0;left:0;width:150%;height:100%;z-index:-1;transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);transform-origin:0 100%;transition:transform .3s,opacity .3s,background-color .3s}.eael-creative-button--wayra:hover::before{opacity:1;transform:rotate3d(0,0,1,0deg);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya{float:left;min-width:150px;max-width:250px;display:block;margin:1em;padding:1em 2em;border:none;background:0 0;color:inherit;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;-moz-osx-font-smoothing:grayscale;overflow:hidden;color:#7986cb;min-width:180px}.eael-creative-button--tamaya.button--inverted{color:#37474f;border-color:#37474f}.eael-creative-button--tamaya::after,.eael-creative-button--tamaya::before{content:attr(data-text);position:absolute;width:100%;height:50%;left:0;background:#7986cb;color:#fff;overflow:hidden;transition:transform .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya.button--inverted::after,.eael-creative-button--tamaya.button--inverted::before{background:#fff;color:#37474f}.eael-creative-button--tamaya::before{top:0;padding-top:1em}.eael-creative-button--tamaya::after{bottom:0;line-height:0}.eael-creative-button--tamaya span{display:block;transform:scale3d(.2,.2,1);opacity:0;transition:transform .3s,opacity .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya:hover::before{transform:translate3d(0,-100%,0)}.eael-creative-button--tamaya:hover::after{transform:translate3d(0,100%,0)}.eael-creative-button--tamaya:hover span{opacity:1;transform:scale3d(1,1,1)}.eael-creative-button--rayen{overflow:hidden;padding:0!important}.eael-creative-button--rayen::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;transform:translate3d(-100%,0,0);display:flex;align-items:center;justify-content:center}.eael-creative-button--rayen::before,.eael-creative-button--rayen>.creative-button-inner{padding:1em 2em;transition:transform .3s;transition-timing-function:cubic-bezier(.75,0,.125,1)}.eael-creative-button--rayen:hover::before{transform:translate3d(0,0,0)}.eael-creative-button--rayen:hover>.creative-button-inner{transform:translate3d(0,100%,0)}.creative-button-inner{display:flex;flex-direction:row;align-items:center;justify-content:center}.eael-creative-button-icon-left{margin-right:5px}.eael-creative-button-icon-right{margin-left:5px}
11
- .eael-dual-header{display:block;margin-bottom:50px}.eael-dual-header .title,.eael-dual-header .title span{font-size:36px;font-weight:700;text-transform:uppercase;line-height:48px;margin:10px 0}.eael-dual-header .subtext{font-size:16px;display:block}.eael-dual-header i{display:block;padding:0;margin:20px 0 10px 0;font-size:36px}.eael-dual-header .title span.lead{color:#1abc9c}.eael-dual-header-content-align-center{text-align:center}.eael-dual-header-content-align-left{text-align:left}.eael-dual-header-content-align-right{text-align:right}
12
  .eael-facebook-feed{width:100%;margin:auto}.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{float:none;width:100%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{float:left;width:50%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{float:left;width:33.3333%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{float:left;width:25%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{float:left;width:20%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{float:left;width:16.6666%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed .eael-facebook-feed-item{display:inline-block;line-height:0}.eael-facebook-feed .eael-facebook-feed-item,.eael-facebook-feed .eael-facebook-feed-item-inner{position:relative}.eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay{display:flex;justify-content:center;text-align:center;position:absolute;top:0;bottom:0;left:0;right:0;font-size:12px;line-height:1;transform:scale(.8);opacity:0;transition:all .2s}.eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay .eael-facebook-feed-item-overlay-inner{position:relative;align-self:center}.eael-facebook-feed-overlay .eael-facebook-feed-item:hover .eael-facebook-feed-item-overlay{transform:scale(1);opacity:1}.eael-facebook-feed-overlay .eael-facebook-feed-meta{margin-bottom:0}.eael-facebook-feed-overlay .eael-facebook-feed-meta span{display:inline-block;margin:0 15px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner{margin:10px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header{padding:8px 12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user{float:left}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-avatar{float:left;display:inline-block;width:32px;height:32px;border-radius:50%;margin-right:10px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username{float:left;display:inline-block;font-size:14px;font-weight:400;line-height:32px;margin:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time{float:right;font-size:11px;font-weight:400;line-height:32px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content{position:relative;display:block;padding:12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message{font-size:14px;font-weight:400;line-height:1.3;margin:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap{padding:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-img{display:block;position:relative;margin-bottom:12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-overlay i{font-size:48px;color:#fff}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview{padding:0 12px 15px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host{font-size:12px;font-weight:400;line-height:1;text-transform:uppercase;margin-bottom:5px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title{font-size:15px;font-weight:700;line-height:1.4;margin-top:0;margin-bottom:6px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description{font-size:14px;font-weight:400;line-height:1.2;margin-bottom:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer{font-size:13px;font-weight:400;line-height:30px;padding:8px 12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer span{display:inline-block}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer span.eael-facebook-feed-post-likes{margin-right:15px}.elementor-widget-eael-facebook-feed .eael-load-more-button-wrap{justify-content:center;margin-top:15px}.elementor-widget-eael-facebook-feed .eael-load-more-button-wrap.no-pagination{display:none}
13
  .elementor-panel .pro-feature,.elementor-panel .pro-feature a{color:#a4afb7;text-transform:uppercase;letter-spacing:1px;line-height:1.8;font-style:normal}.elementor-panel .pro-feature a{text-decoration:underline;color:#f54!important}.elementor-control-data_table_content_colspan_pro_alert .elementor-control-title,.elementor-control-data_table_content_rowspan_pro_alert .elementor-control-title,.elementor-control-data_table_content_template_pro_alert .elementor-control-title,.elementor-control-data_table_header_colspan_pro_alert .elementor-control-title,.elementor-control-data_table_header_img_pro_alert .elementor-control-title,.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-title.elementor-panel-heading-title,.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-toggle{color:#f54}.elementor-panel .elementor-control-eael_control_get_pro .elementor-control-field{display:none!important}.elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title,.elementor-control-eael_img_accordion_type_pro_alert .elementor-control-title,.elementor-control-eael_pricing_table_style_pro_alert .elementor-control-title,.elementor-control-eael_section_countdown_style_pro_alert .elementor-control-title,.elementor-control-eael_section_data_table_enabled_pro_alert .elementor-control-title,.elementor-control-eael_team_members_preset_pro_alert .elementor-control-title,.elementor-control-eael_ticker_type_pro_alert .elementor-control-title{color:#f54}
14
- .elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:before{top:3px!important}.elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:after{top:45px!important}.elementor-widget-eael-feature-list.-icon-position-right .connector,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .connector{right:0;left:calc(100% - 70px)}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item{position:relative}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .connector{display:block;position:absolute;width:0;margin:0 auto;z-index:1;height:100%;top:.5em;font-size:60px;left:0;right:calc(100% - 60px);border-left:2px solid #2ecc71;border-right:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item:last-child .connector{display:none}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{z-index:2;transition:all .5s}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{background-color:#37368e;transition:all .5s;display:inline-flex}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{padding:.5em;transition:all .5s;font-size:30px;line-height:1;color:#37368e;text-align:center;display:inline-flex;display:flex;align-items:center;justify-content:center}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i{width:1em;height:1em;position:relative;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i:before{position:absolute;left:50%;transform:translateX(-50%)}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img{font-size:8px;line-height:1;max-width:inherit}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box{margin:0 0 0 20px}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-title{margin-top:-2px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-content{padding:0;margin:0;font-size:14px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items.stacked .eael-feature-list-icon-box .eael-feature-list-icon{color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.framed .eael-feature-list-icon-box .eael-feature-list-icon{background-color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner .eael-feature-list-icon{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon-inner{transform:rotate(45deg);margin:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i{transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img{transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title{margin-top:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px;position:relative}@media (max-width:767px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px;display:block}}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{content:"";position:absolute;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;top:0;z-index:1;border-left:1px solid #000;border-right:none!important;height:100%}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px;width:23px;display:block;z-index:2;border-bottom:1px dashed #000;border-top:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item .connector{display:none}@media (min-width:768px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item{padding:0 50px 0 0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item .connector{display:none}}@media (min-width:1025px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{display:flex}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item{text-align:left;flex-direction:row}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{text-align:right;flex-direction:row-reverse}}@media (max-width:1024px){.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:flex}.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item{text-align:left;flex-direction:row}.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{text-align:right;flex-direction:row-reverse}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:block;text-align:left}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{display:flex}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item{text-align:left;flex-direction:row}.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{text-align:right;flex-direction:row-reverse}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}
15
  .eael-fancy-text-container p{margin:0}.eael-fancy-text-strings{display:none}.eael-fancy-text-prefix,.eael-fancy-text-suffix{display:inline-block}.morphext>.animated{display:inline-block}.typed-cursor{opacity:1;-webkit-animation:blink_cursor .7s infinite;animation:blink_cursor .7s infinite}@keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}@-webkit-keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.eael-fancy-text-container.style-2{font-size:24px}.eael-fancy-text-container.style-2 .eael-fancy-text-strings{background:#f54;color:#fff;padding:10px 25px}
 
16
  .eael-filter-gallery-control{width:100%}.eael-filter-gallery-control ul,.eael-filter-gallery-control ul li{text-align:center}.eael-filter-gallery-control ul{margin:0 0 20px 0;padding:0;text-align:center}.eael-filter-gallery-control{display:flex;flex-flow:1 1 auto;align-items:center;justify-content:center;flex-flow:row wrap;padding:0;margin:0}.eael-filter-gallery-control ul li{list-style:none;font-size:24px;display:inline-block;text-align:center}.eael-filter-gallery-control ul li a.control{font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;padding:10px 25px;margin:10px 6px}.eael-filter-gallery-container{text-align:justify;font-size:.1px}.eael-filter-gallery-container:after{content:'';display:inline-block;width:100%}.eael-filter-gallery-container:not(.eael-cards) .item:before{content:'';display:inline-block;padding-top:56.25%}.eael-filter-gallery-container .item .caption{position:absolute;display:flex;flex-flow:1 1 100%;align-items:center;justify-content:center;z-index:1;top:0;left:0;right:0;bottom:0;transition:transform .4s}.eael-filter-gallery-container.eael-cards .item .caption{display:none}.eael-filter-gallery-container.eael-cards .item .item-img .caption{position:absolute;display:flex;flex-flow:1 1 100%;align-items:center;justify-content:center;z-index:10;top:0;left:0;right:0;bottom:0;transition:transform .4s}.gallery-item-caption-over{width:100%;height:auto}a.eael-gallery-load-more,a.eael-gallery-load-more:hover{text-decoration:none}.eael-filter-gallery-container .item .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in{transform:scale(0)}.eael-filter-gallery-container .item:hover .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in{transform:scale(1)}.eael-filter-gallery-container .item .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left{transform:translateX(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left{transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right{transform:translateX(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right{transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top{transform:translateY(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top{transform:translateY(0)}.eael-filter-gallery-container .item .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom{transform:translateY(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom{transform:translateY(0)}.eael-filter-gallery-container .item .caption a{display:inline-block;width:50px;height:50px;text-align:center;line-height:50px;border-radius:50%;margin:0 5px;font-size:20px;cursor:pointer;transition:.3s}.eael-container .item .caption a:nth-child(2),.eael-filter-gallery-container .item .caption a:nth-child(1){transition:.6s;opacity:0}.eael-filter-gallery-container .item .caption a:nth-child(1){transform:translateY(-100%)}.eael-filter-gallery-container .item .caption a:nth-child(2){transform:translateY(100%)}.eael-filter-gallery-container .item .caption:hover a:nth-child(1),.eael-filter-gallery-container .item .caption:hover a:nth-child(2){transform:translateY(0);opacity:1}.eael-filter-gallery-container .item .caption .eael-popup-link{outline:0}.eael-filter-gallery-container.eael-cards .item:before{padding-top:0}.eael-filter-gallery-container.eael-cards .item-img{position:relative;background-repeat:no-repeat;background-position:center;background-size:cover;height:220px;z-index:0;overflow:hidden}.eael-filter-gallery-container.eael-cards .item-content{padding:15px}.eael-filter-gallery-container.eael-cards .item-content .title,.eael-filter-gallery-container.eael-cards .item-content .title a{font-size:20px;line-height:1;margin-bottom:0;transition:.3s}.eael-filter-gallery-container.eael-cards .item-content p{font-size:14px;line-height:26px}.eael-fg-card-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-card-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-hoverer-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-hoverer-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-content-align-left .eael-cards .item .item-content{text-align:left}.eael-fg-content-align-center .eael-cards .item .item-content{text-align:center}.eael-fg-content-align-right .eael-cards .item .item-content{text-align:right}.mfp-wrap~div.dialog-widget{display:none!important}.eael-filterable-gallery-item-wrap{float:left;width:33.33%}.eael-filter-gallery-container.eael-col-1 .eael-filterable-gallery-item-wrap{width:100%}.eael-filter-gallery-control>ul li{font-size:13px;line-height:1.8;text-transform:uppercase;letter-spacing:1px;padding:6px 15px;cursor:pointer;margin:0 5px;font-weight:400}.eael-filter-gallery-container.eael-col-2 .eael-filterable-gallery-item-wrap{width:50%}.eael-filter-gallery-container.eael-col-4 .eael-filterable-gallery-item-wrap{width:25%}.eael-filter-gallery-container.eael-col-5 .eael-filterable-gallery-item-wrap{width:20%}.eael-gallery-grid-item{margin-left:calc(20px/2);margin-right:calc(20px/2);margin-bottom:20px;position:relative}.gallery-item-caption-wrap,.media-content-wrap{font-size:14px;text-align:left}.gallery-item-thumbnail-wrap.caption-style-card img{max-height:100%;width:100%}.gallery-item-caption-wrap.caption-style-hoverer{position:absolute;left:0;top:0;height:100%;width:100%;padding:15px;z-index:10}.eael-filterable-gallery-item-wrap .eael-gallery-grid-item .gallery-item-thumbnail-wrap>img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.fg-item-content,.fg-item-title{color:#fff;font-family:inherit}.gallery-item-caption-wrap.caption-style-card .fg-item-title{font-size:18px;margin:15px 0 15px;line-height:1}.gallery-item-caption-wrap.caption-style-card{background:#f7f7f7}.gallery-item-caption-wrap.caption-style-card .fg-item-title{margin:10px 0 15px;color:#000}.gallery-item-caption-wrap.caption-style-card .fg-item-content{color:#212529;line-height:1.5;font-weight:400}.gallery-item-buttons>a{display:inline-block;font-size:16px;color:#000;margin-right:15px}.gallery-item-buttons>a:visited{color:#000}.gallery-item-caption-wrap.caption-style-card{padding:10px;box-sizing:border-box;font-family:inherit}.gallery-item-caption-wrap .gallery-item-hoverer-bg{position:absolute;left:0;top:0;height:100%;width:100%;content:'';background:#000;z-index:-1;opacity:.7}.gallery-item-caption-wrap.caption-style-hoverer{visibility:hidden;opacity:0;transition:.6s all ease;display:flex;align-items:center}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer{opacity:1;visibility:visible}.gallery-item-caption-wrap.caption-style-hoverer h5{font-size:20px;margin-bottom:5px;line-height:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5{transform:translateY(20px);transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer p{margin-bottom:5px}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{transform:translateY(40px);transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons{transform:translateY(40px);transition:.6s all ease}.gallery-item-caption-wrap .gallery-item-buttons>a span{display:flex;align-items:center;justify-content:center;border-radius:50%;outline:0;text-decoration:none;display:inline-block;text-align:center}.gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{transform:scale(.8);transition:.6s all ease}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons,.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5,.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{transform:translate(0)}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{transform:scale(1);visibility:visible;opacity:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-none{transition:none}.gallery-item-thumbnail-wrap{position:relative}.video-popup,.video-popup-bg{position:absolute;left:0;top:0;height:100%;width:100%}.video-popup>img{width:62px;position:relative;z-index:1;transition:.3s}.video-popup{display:flex;align-items:center;justify-content:center}.video-popup:hover>img{transform:scale(1.1)}.video-popup-bg{visibility:hidden;opacity:0;transition:350ms}.eael-gallery-grid-item:hover .video-popup-bg{visibility:visible;opacity:1}.gallery-item-thumbnail-wrap>.gallery-item-caption-wrap{position:absolute;left:0;top:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center}.gallery-item-caption-wrap.card-hover-bg{visibility:hidden;opacity:0;transition:.8s}.gallery-item-thumbnail-wrap:hover .gallery-item-caption-wrap.card-hover-bg{visibility:visible;opacity:1}.gallery-item-caption-wrap .gallery-item-buttons>a>i{display:flex;align-items:center;justify-content:center;height:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-logo-grid{margin-right:-5px}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:767px){.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}.fg-layout-3-filter-controls{margin:0;padding:0;list-style:none}.fg-layout-3-item-content{text-align:center}.fg-layout-3-item-content .fg-item-title{font-size:18px;line-height:1;font-weight:500;margin:0;transition:.3s}.fg-layout-3-item-content .fg-item-content p{font-size:13px;font-weight:400}.fg-filter-wrap{position:relative;flex-basis:30%}.fg-layout-3-filter-controls{position:absolute;left:0;background:#fff;z-index:999;width:150px;visibility:hidden;opacity:0;transition:.3s;width:100%;border-radius:5px;padding-top:7px}.fg-layout-3-filter-controls.open-filters{visibility:visible;opacity:1}.fg-layout-3-filter-controls li.control{padding:5px 5px 5px 10px;cursor:pointer;transition:.3s;font-size:14px;color:#7f8995;font-weight:400}.fg-layout-3-filter-controls li.control:hover{color:#2d425a}.fg-layout-3-filter-controls li.control:first-child{border-top:0 solid}.fg-layout-3-filter-controls li.control:last-child{border-bottom:0 solid}.fg-layout-3-filters-wrap{max-width:600px;margin:15px auto 50px}.fg-filter-wrap button{width:100%;border:0 solid;border-radius:0;padding:17px 13px;font-size:14px;color:#2d425a;background:#f7f8ff;height:55px;border-right:1px solid #abb5ff;border-radius:10px 0 0 10px;outline:0;text-align:center;position:relative}.fg-filter-wrap button>i{font-size:18px;position:absolute;top:50%;transform:translateY(-50%);margin-left:10px}.fg-layout-3-search-box{flex-basis:70%;height:100%}.fg-layout-3-search-box input[type=text]{width:100%;height:100%;margin:0;padding:15px;border:0 solid;outline:0;background:0 0}.fg-layout-3-search-box input[type=text]::-webkit-input-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]::-moz-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]:-ms-input-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]:-moz-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-filters-wrap{height:55px;border-radius:5px;display:flex;flex-wrap:wrap;align-items:center}.fg-layout-3-filters-wrap .fg-layout-3-search-box{background:#f7f8ff;border-radius:0 10px 10px 0}.fg-layout-3-item-thumb{position:relative;overflow:hidden}.fg-layout-3-item-thumb .gallery-item-buttons{text-align:center;position:absolute;left:0;top:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center;z-index:4}.fg-layout-3-item-content{padding:27px 27px 30px;text-align:center}.eael-fg-card-content-align-left .fg-layout-3-item-content{text-align:left}.eael-fg-card-content-align-center .fg-layout-3-item-content{text-align:center}.eael-fg-card-content-align-right .fg-layout-3-item-content{text-align:right}.eael-filterable-gallery-item-wrap .fg-layout-3-item.eael-gallery-grid-item{box-shadow:0 0 30px 0 rgba(3,29,60,.05);border-radius:5px}.fg-caption-head{position:absolute;left:0;top:0;width:100%;display:flex;justify-content:space-between;padding:35px 35px;z-index:3;color:#fff;font-size:18px;font-weight:700}.fg-item-category>span{font-size:12px;color:#fff;background:#fa9196;padding:10px 12px;display:inline-block}.fg-layout-3-item-content{position:relative}.fg-item-category{position:absolute;left:0;top:0;text-align:center;width:100%;height:30px;margin-top:-15px;z-index:11}.fg-item-category span{border-radius:5px;line-height:1;visibility:hidden;opacity:0;transition:.3s}.fg-layout-3-item.eael-gallery-grid-item:hover .fg-item-category span{visibility:visible;opacity:1}
17
  .eael-elements-flip-box-container{position:relative;height:300px;width:100%}.eael-elements-flip-box-container .flipbox-button{display:inline-block;transition:all .4s}.eael-elements-flip-box-container a{display:block}.eael-elements-flip-box-vertical-align{width:100%}.eael-elements-flip-box-padding{padding:0 30px 5px 30px}.eael-elements-flip-box-icon-image{display:inline-block;margin:0 auto 0 auto;line-height:1}.eael-elements-flip-box-icon-image.eael_eleements_flip_front_icon_style_background{background:#ccc}.eael_eleements_flip_front_icon_style_bordered{border:2px solid #fff}.eael_flip_box_icon_border_round{border-radius:100px}.eael_eleements_flip_front_icon_style_background,.eael_eleements_flip_front_icon_style_bordered{padding:15px}.eael-elements-flip-box-icon-image i{font-size:40px}.eael-elements-slider-display-table{width:100%}.eael-elements-flip-box-front-container{text-align:center;position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;background:#0e9dd2;color:#fff;border-color:#000;-webkit-display:flex;display:flex;align-items:center}.eael-elements-flip-box-content,.eael-elements-flip-box-heading{color:#fff}.eael-elements-flip-box-heading.flipbox-linked-title{color:#fff;font-size:1.5em;font-weight:700}.eael-elements-flip-box-rear-container{text-align:center;position:absolute;top:0;left:0;width:100%;height:100%;background:#444;color:#fff;display:flex;align-items:center;border-color:#000}.eael-elements-button-floating-container{position:fixed;z-index:100}.eael-elements-button-floating-container .eael-elements-button{margin-top:0;font-size:14px;position:relative;padding:14px 20px}.eael-elements-button{cursor:pointer;display:inline-block;background:#077bbe;color:#fff;line-height:1;padding:16px 25px;margin-top:15px}.eael-elements-button:hover{background:#077bbe;color:#fff}.eael-elements-flip-box-container{perspective:1000px}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{transition-duration:.5s;transition-property:all;transition-timing-function:ease}.eael-elements-flip-box-flip-card{width:100%;height:100%;transform-style:preserve-3d;transition:all .5s ease}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateX(0);transform:rotateY(0)}.eael-animate-flip.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateX(180deg)}.eael-animate-flip.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateX(-180deg)}.eael-animate-flip.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateY(-180deg)}.eael-animate-flip.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateY(180deg)}.eael-animate-push.eael-elements-flip-box-container,.eael-animate-slide.eael-elements-flip-box-container{overflow:hidden}.eael-animate-push .eael-elements-flip-box-rear-container,.eael-animate-slide .eael-elements-flip-box-rear-container{z-index:3}.eael-animate-push.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up .eael-elements-flip-box-rear-container{top:100%}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:0}.eael-animate-push.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down .eael-elements-flip-box-rear-container{top:auto;bottom:100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:auto;bottom:0}.eael-animate-push.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left .eael-elements-flip-box-rear-container{left:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:0}.eael-animate-push.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right .eael-elements-flip-box-rear-container{left:auto;right:100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:auto;right:0}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:-100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:-100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:100%}.eael-animate-zoom-in .eael-elements-flip-box-rear-container{opacity:0;transform:scale(.75);z-index:3}.eael-animate-zoom-in.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{opacity:1;transform:scale(1)}.eael-animate-zoom-out.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0;transform:scale(.75)}.eael-animate-fade.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0}.eael-flipbox-content-align-right .eael-elements-flip-box-padding{text-align:right}.eael-flipbox-content-align-left .eael-elements-flip-box-padding{text-align:left}.eael-flipbox-content-align-center .eael-elements-flip-box-padding{text-align:center}.eael-flipbox-img-circle .eael-elements-flip-box-icon-image img,.eael-flipbox-img-circle .flipbox-back-image-icon img{border-radius:50%;overflow:hidden}
18
  .eael-fluent-form-wrapper label.ff-el-form-check-label{display:flex;align-items:center}.eael-fluent-form-wrapper label.ff-el-form-check-label input{margin-right:5px}.eael-fluentform-form-button-full-width .ff-btn-submit{width:100%;display:block}.eael-contact-form.eael-fluent-form-wrapper.error-message-hide .ff-el-is-error .text-danger{display:none}.eael-fluentform-form-button-center .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-right .ff-btn-submit{margin:0 auto;display:flex;align-items:center;justify-content:center}.eael-fluentform-form-button-right .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-right .ff-btn-submit{float:right}.eael-fluentform-form-button-left .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-right .ff-btn-submit{float:left}.eael-contact-form.eael-fluent-form-wrapper.fluent-form-labels-hide label{display:none!important}.eael-fluentform-section-break-content-left .ff-el-group.ff-el-section-break{text-align:left}.eael-fluentform-section-break-content-center .ff-el-group.ff-el-section-break{text-align:center}.eael-fluentform-section-break-content-right .ff-el-group.ff-el-section-break{text-align:right}
19
- .clearfix::after,.clearfix::before{content:" ";display:table;clear:both}.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right{padding-top:40px}.swiper-container .swiper-slide,.swiper-container-wrap .swiper-slide{text-align:center}.swiper-container .swiper-slide img,.swiper-container-wrap .swiper-slide img{width:auto}.swiper-container-dots-outside .swiper-pagination,.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev,.swiper-container-wrap .swiper-button-next,.swiper-container-wrap .swiper-button-prev{background:0 0;font-size:20px;height:auto;line-height:1;margin:0;text-align:center;transform:translateY(-50%);width:auto}.swiper-container .swiper-button-next .fa,.swiper-container .swiper-button-prev .fa,.swiper-container-wrap .swiper-button-next .fa,.swiper-container-wrap .swiper-button-prev .fa{vertical-align:top}.swiper-container-wrap .swiper-pagination{bottom:10px;left:0;width:100%}.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container-wrap .swiper-pagination-bullet{background:#ccc;margin:0 4px;opacity:1;height:8px;width:8px}.swiper-container-wrap .swiper-pagination-bullet-active{background:#000}.swiper-container-3d .swiper-slide{transition-property:all;-webkit-transition-property:all}.eael-contact-form input[type=date],.eael-contact-form input[type=email],.eael-contact-form input[type=number],.eael-contact-form input[type=tel],.eael-contact-form input[type=text],.eael-contact-form input[type=url],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;transition:all .3s ease-in-out;display:inline-block}
20
  .eael-gravity-form-align-default,.eael-gravity-form-align-left,.eael-gravity-form-btn-align-left{text-align:left}.eael-gravity-form-align-right,.eael-gravity-form-btn-align-right{text-align:right}.eael-gravity-form-align-center,.eael-gravity-form-btn-align-center{text-align:center}.eael-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.gform_wrapper form li,.gform_wrapper li{list-style:none}.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield{padding:0}.eael-gravity-form .gform_wrapper textarea{padding:0}.eael-gravity-form .gform_wrapper .gform_footer input.button,.eael-gravity-form .gform_wrapper .gform_footer input[type=submit],.eael-gravity-form .gform_wrapper .gform_page_footer input.button,.eael-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.eael-gravity-form.title-description-hide .gform_heading{display:none}.eael-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.eael-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.eael-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit]{width:100%}
21
  .eael-img-accordion{display:flex;height:50vh}.eael-img-accordion a{position:relative;flex:1;text-align:center;text-decoration:none;color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat;transition:flex .4s}.eael-grow-accordion{flex:3}.eael-img-accordion .overlay{display:flex;align-items:center;justify-content:center;padding:0 10px;position:absolute;top:0;right:0;bottom:0;left:0;transition:background-color .4s}.eael-img-accordion .overlay .overlay-inner{z-index:1}.eael-img-accordion a:after{content:"";position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;bottom:0;right:0;transition:all .3s ease-in-out}.eael-img-accordion .overlay-inner *{visibility:hidden;opacity:0;transform-style:preserve-3d}.eael-img-accordion .overlay h2{color:#fff;transform:translate3d(0,-60px,0)}.eael-img-accordion .overlay p{color:#fff;transform:translate3d(0,60px,0)}.eael-img-accordion .overlay-inner-show *{opacity:1;visibility:visible;transform:none!important;transition:all .3s .3s}@media screen and (max-width:800px){.eael-img-accordion{flex-direction:column}.eael-img-accordion a:hover{flex:1}.eael-img-accordion a:hover .overlay{background-color:transparent}}
22
  .eael-infobox .infobox-icon{height:auto}.eael-infobox .infobox-icon .infobox-icon-wrap{display:flex;width:100%;height:auto;transition:.3s;align-items:center;justify-content:center}.eael-infobox .infobox-icon .infobox-icon-wrap i{transition:.3s}.eael-infobox-content-align-left .eael-infobox .infobox-button,.eael-infobox-content-align-left .eael-infobox .infobox-content,.eael-infobox-content-align-left .eael-infobox .infobox-icon{text-align:left}.eael-infobox-content-align-right .eael-infobox .infobox-button,.eael-infobox-content-align-right .eael-infobox .infobox-content,.eael-infobox-content-align-right .eael-infobox .infobox-icon{text-align:right}.eael-infobox-content-align-center .eael-infobox .infobox-button,.eael-infobox-content-align-center .eael-infobox .infobox-content,.eael-infobox-content-align-center .eael-infobox .infobox-icon{text-align:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap{width:90px;height:90px;text-align:center}.eael-infobox-icon-hover-bg-shape-square:hover .infobox-icon .infobox-icon-wrap{border-radius:0}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-radius:hover .infobox-icon .infobox-icon-wrap{border-radius:15px}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap{display:flex;align-items:center;justify-content:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-circle:hover .infobox-icon .infobox-icon-wrap{border-radius:50%}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap i,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap i{margin-top:50%;transform:translateY(-50%)}.eael-infobox .infobox-button a.eael-infobox-button{display:inline-block;padding:5px 10px;transition:all .3s ease-in-out 0s}.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:flex-start}.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:center}.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:flex-end}.eael-infobox.icon-on-left{position:relative;z-index:0;display:flex}.eael-infobox.icon-on-left .infobox-icon-wrap,.eael-infobox.icon-on-right .infobox-icon-wrap{justify-content:center;display:flex!important;align-items:center}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:left;height:auto;display:block}.eael-infobox .infobox-content p{margin:0 0 15px}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap i{margin-top:0;transform:translateY(0)}.eael-infobox.icon-on-left .infobox-content{padding-left:15px;flex:1 1 auto}.eael-infobox.icon-on-left .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox.icon-on-right{position:relative;z-index:0;display:flex;flex-direction:row-reverse}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:right;width:auto;height:auto;display:block}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap i{margin-top:0;transform:translateY(0)}.eael-infobox.icon-on-right .infobox-content{padding-right:15px;text-align:right;flex:1 1 auto;box-sizing:border-box}.eael-infobox.icon-on-right .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox .infobox-icon img{transition:all .3s ease-in-out 0s}.eael-infobox-hover-img-shape-square:hover .eael-infobox .infobox-icon img{border-radius:0}.eael-infobox-hover-img-shape-circle:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-circle .eael-infobox .infobox-icon img{border-radius:50%}.eael-infobox-hover-img-shape-radius:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-radius .eael-infobox .infobox-icon img{border-radius:15px}
@@ -31,7 +31,7 @@ body div.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden
31
  .eael-team-item{overflow:hidden;position:relative}.team-avatar-rounded figure img{border-radius:50%;height:auto}.eael-team-image>figure{margin:0;padding:0}.eael-team-image>figure img{display:block;margin:0 auto}.eael-team-item .eael-team-content{padding:10px}.eael-team-item .eael-team-member-name{font-size:20px;font-weight:700;letter-spacing:.05em;margin:5px 0;text-transform:uppercase}.eael-team-item .eael-team-member-position{font-size:14px;font-weight:400;letter-spacing:.05em;margin:5px 0 10px;text-transform:uppercase}.eael-team-item .eael-team-content,.eael-team-item .eael-team-content .eael-team-text{font-size:14px;line-height:1.5}.eael-team-content>ul{margin:0;padding:0}.eael-team-content li{display:inline-block;list-style:outside none none;margin-right:10px;text-align:center}.eael-team-content li a{font-size:2.5rem}.eael-team-align-left .eael-team-item .eael-team-content li,.eael-team-align-left .eael-team-item .eael-team-content p,.eael-team-align-left .eael-team-item .eael-team-content ul,.eael-team-align-left .eael-team-item .eael-team-member-name,.eael-team-align-left .eael-team-item .eael-team-member-position,.eael-team-align-left .eael-team-item .eael-team-text{text-align:left}.eael-team-align-right .eael-team-item .eael-team-content li,.eael-team-align-right .eael-team-item .eael-team-content p,.eael-team-align-right .eael-team-item .eael-team-content ul,.eael-team-align-right .eael-team-item .eael-team-member-name,.eael-team-align-right .eael-team-item .eael-team-member-position,.eael-team-align-right .eael-team-item .eael-team-text{text-align:right}.eael-team-align-centered .eael-team-item .eael-team-content li,.eael-team-align-centered .eael-team-item .eael-team-content p,.eael-team-align-centered .eael-team-item .eael-team-content ul,.eael-team-align-centered .eael-team-item .eael-team-member-name,.eael-team-align-centered .eael-team-item .eael-team-member-position,.eael-team-align-centered .eael-team-item .eael-team-text{text-align:center}.eael-team-item.eael-team-members-overlay .eael-team-content{bottom:10px;left:10px;margin-bottom:0;padding-top:15%;opacity:0;overflow:hidden;text-overflow:ellipsis;position:absolute;right:10px;top:10px;transition:all 615ms cubic-bezier(.19,1,.22,1) 0s}.eael-team-item.eael-team-members-overlay:hover .eael-team-content{opacity:1}.eael-team-member-social-link>a{display:inline-block;transition:all .3s cubic-bezier(.19,1,.22,1) 0s}.eael-team-member-social-link>a:focus{outline:0}
32
  .eael-testimonial-slider{position:relative}.testimonial-star-rating{padding:0;margin:0}.testimonial-star-rating li{list-style:none;display:inline-block}.testimonial-star-rating li i{color:#d8d8d8}.rating-five .testimonial-star-rating li i{color:#f2b01e}.rating-one .testimonial-star-rating li:first-child i{color:#f2b01e}.rating-two .testimonial-star-rating li:nth-child(1) i,.rating-two .testimonial-star-rating li:nth-child(2) i{color:#f2b01e}.rating-three .testimonial-star-rating li:nth-child(1) i,.rating-three .testimonial-star-rating li:nth-child(2) i,.rating-three .testimonial-star-rating li:nth-child(3) i{color:#f2b01e}.rating-four .testimonial-star-rating li:nth-child(1) i,.rating-four .testimonial-star-rating li:nth-child(2) i,.rating-four .testimonial-star-rating li:nth-child(3) i,.rating-four .testimonial-star-rating li:nth-child(4) i{color:#f2b01e}.eael-testimonial-image img{max-width:100%}.eael-testimonial-image{padding:10px 0 0 0}.eael-testimonial-image>figure{display:block;margin:0}.testimonial-avatar-rounded figure img{border-radius:50%;height:auto}.eael-testimonial-content{margin:0;padding:10px}.eael-testimonial-item>figure{margin:0 auto;padding:0 20px}.eael-testimonial-item .center-text{text-align:center}.eael-testimonial-item .right-text{text-align:right}.eael-testimonial-item .left-text{text-align:left}.eael-testimonial-item .justify-text{text-align:justify}.eael-testimonial-content .eael-testimonial-text{font-size:100%;font-style:italic;line-height:1.5;margin-top:0;margin-bottom:10px;word-wrap:break-word}.eael-testimonial-content .eael-testimonial-user{display:inline-block;font-family:inherit;font-size:105%;font-style:italic;font-weight:400;line-height:1.5;margin-top:0;margin-bottom:0;margin-right:5px}.eael-testimonial-content .eael-testimonial-user-company{display:inline-block;font-family:inherit;font-size:90%;font-style:italic;font-weight:lighter;line-height:1.75;margin-bottom:0;margin-top:1px}.eael-testimonial-image{position:relative}.eael-testimonial-item .eael-testimonial-quote::after{color:inherit!important;content:"\f10e";font-family:"Font Awesome 5 Free";font-size:200%;font-weight:900}.eael-testimonial-slider.default-style .eael-testimonial-align-centered .eael-testimonial-image figure img{margin:0 auto}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure img{margin:0}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure{text-align:left}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-right .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .middle-style-content{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-center .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-center .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .middle-style-content{text-align:center}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-left .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .middle-style-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-text>p,.eael-testimonial-slider.icon-img-right-content .eael-testimonial-text>p{margin:0}.icon-img-left-content .eael-testimonial-image{float:left;width:30%}.icon-img-left-content .eael-testimonial-content{float:left;width:70%;text-align:left}.icon-img-left-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-left-content .eael-testimonial-quote{position:absolute;right:0}.icon-img-left-content .eael-testimonial-text{margin-top:0}.eael-testimonial-align-centered .eael-testimonial-user,.eael-testimonial-align-centered .eael-testimonial-user-company{float:none;text-align:center}.eael-testimonial-align-centered .eael-testimonial-image>figure img{display:block;margin-left:auto!important;margin-right:auto!important}.icon-img-right-content .eael-testimonial-image{float:right;width:30%}.icon-img-right-content .eael-testimonial-content{float:right;width:70%;text-align:right}.icon-img-right-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-right-content .eael-testimonial-quote{position:absolute}.icon-img-right-content .eael-testimonial-text{margin-top:0}.eael-testimonial-item{position:relative}.classic-style.testimonial-alignment-center .eael-testimonial-image,.default-style.testimonial-alignment-center .eael-testimonial-image{text-align:center}.classic-style.testimonial-alignment-right .eael-testimonial-image,.default-style.testimonial-alignment-right .eael-testimonial-image{text-align:right}.classic-style.testimonial-alignment-center .eael-testimonial-image>figure,.default-style.testimonial-alignment-center .eael-testimonial-image>figure{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}span.eael-testimonial-quote{position:absolute;right:10px;top:10px}.eael-testimonial-item.left .eael-testimonial-image{text-align:left}.eael-testimonial-item.center .eael-testimonial-image{text-align:center}.eael-testimonial-item.right .eael-testimonial-image{text-align:right}.eael-testimonial-inline-bio .eael-testimonial-image{float:left}.eael-testimonial-inline-bio .bio-text{padding-top:10px}.eael-testimonial-content.eael-testimonial-inline-bio{overflow:hidden;margin-bottom:0;padding-bottom:0}.eael-testimonial-inline-bio .bio-text,.eael-testimonial-inline-bio .testimonial-star-rating{float:left;width:65%}.eael-testimonial-content.eael-testimonial-inline-bio{text-align:left!important}.testimonial-inline-style .eael-testimonial-image{float:left;max-width:100%;padding:0;margin-right:15px}.testimonial-inline-style{overflow:hidden;text-align:left}.content-top-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-top-icon-title-inline .eael-testimonial-text{text-align:left}.content-top-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-top-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}.content-bottom-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-bottom-icon-title-inline .eael-testimonial-text{text-align:left}.content-bottom-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-bottom-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}
33
  .eael-tooltip{position:relative;display:inline-block;min-width:150px;text-align:center;padding:12px 24px;font-size:.93rem;color:#333;line-height:1;cursor:pointer;transition:all .3s ease-in-out}.eael-tooltip .eael-tooltip-text{display:block;width:100%;visibility:hidden;background-color:#000;color:#fff;text-align:center;border-radius:4px;padding:10px;position:absolute;z-index:1;font-size:.93rem;line-height:1.3}.eael-tooltip .eael-tooltip-text::after{content:"";position:absolute;border-width:5px;border-style:solid}.eael-tooltip:hover .eael-tooltip-text{visibility:visible}.eael-tooltip .eael-tooltip-text.eael-tooltip-left{top:50%;right:100%;transform:translateY(-50%);margin-right:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left{-webkit-animation:tooltipLeftIn .3s ease-in-out;animation:tooltipLeftIn .3s ease-in-out}.eael-tooltip .eael-tooltip-text.eael-tooltip-left::after{top:calc(50% - 5px);left:100%;border-color:transparent transparent transparent #000}.eael-tooltip .eael-tooltip-text.eael-tooltip-right{top:50%;left:100%;transform:translateY(-50%);transition:all .3s ease-in-out;margin-left:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right{-webkit-animation:tooltipRightIn .3s linear;animation:tooltipRightIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-right::after{top:calc(50% - 5px);right:100%;border-color:transparent #000 transparent transparent}.eael-tooltip .eael-tooltip-text.eael-tooltip-top{bottom:calc(100%);left:0;right:0;margin:0 auto 10px auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-top::after{margin-top:0;top:100%;left:calc(50% - 5px);border-color:#000 transparent transparent transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top{-webkit-animation:tooltipTopIn .3s linear;animation:tooltipTopIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom{top:100%;left:0;right:0;margin:10px auto 0 auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom::after{margin-top:0;bottom:100%;left:calc(50% - 5px);border-color:transparent transparent #000 transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom{-webkit-animation:tooltipBottomIn .3s linear;animation:tooltipBottomIn .3s linear}.eael-tooltip-align-left{display:flex;width:100%;justify-content:flex-start}.eael-tooltip-align-right{display:flex;width:100%;justify-content:flex-end}.eael-tooltip-align-center{display:flex;width:100%;justify-content:center}.eael-tooltip-align-justify .eael-tooltip{display:flex;justify-content:center;align-items:center}@-webkit-keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@-webkit-keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@-webkit-keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@-webkit-keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}@keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}
34
- .eael-twitter-feed::after,.eael-twitter-feed::before{content:"";clear:both}.eael-twitter-feed-masonry .eael-twitter-feed-item{float:left}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-2 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-3 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-4 .eael-twitter-feed-item{width:100%!important}}.eael-twitter-feed-item .eael-twitter-feed-item-inner{background:#fff;border:1px solid rgba(0,0,0,.1)}.eael-twitter-feed-item a{color:#08c;text-decoration:none}.eael-twitter-feed-item a:hover{outline:0;color:#005580}.eael-twitter-feed-item a:focus{outline:0}.eael-twitter-feed-item .eael-twitter-feed-item-header{padding:20px 15px 0;margin-bottom:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar{float:left;width:38px;margin-right:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar.avatar-circle img{border-radius:50%}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta{float:left}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-icon{color:#1da1f2;margin-right:5px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-author{color:#444;line-height:1.5em;font-weight:700}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-date{float:right;margin-right:10px;font-size:90%;color:#999}.eael-twitter-feed-item .eael-twitter-feed-item-content{padding:0 15px 15px}.eael-twitter-feed-item .eael-twitter-feed-item-content p{color:#666;margin:0 0 5px;min-height:20px;text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical}
35
  .eael-weform-container input,.eael-weform-container textarea{height:auto;padding:10px}.eael-contact-form-align-center .eael-weform-container,.eael-contact-form-btn-align-center .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-align-left .eael-weform-container,.eael-contact-form-btn-align-left .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:left;width:auto}.eael-contact-form-align-right .eael-weform-container,.eael-contact-form-btn-align-right .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:right;width:auto}.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=email],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=number],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=password],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=text],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=url],.eael-weform-container ul.wpuf-form li .wpuf-fields textarea{max-width:100%}
36
  .eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.eael-wpforms .wpforms-container .wpforms-form button[type=submit],.eael-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.eael-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.eael-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.eael-wpforms .wpforms-container .wpforms-form input[type=checkbox],.eael-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.eael-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.eael-wpforms .wpforms-container .wpforms-field select,.eael-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.eael-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.eael-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}
37
  .tooltipster-fall,.tooltipster-grow.tooltipster-show{-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-base{display:flex;pointer-events:none;position:absolute}.tooltipster-box{flex:1 1 auto}.tooltipster-content{box-sizing:border-box;max-height:100%;max-width:100%;overflow:auto}.tooltipster-ruler{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden}.tooltipster-fade{opacity:0;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;-ms-transition-property:opacity;transition-property:opacity}.tooltipster-fade.tooltipster-show{opacity:1}.tooltipster-grow{-webkit-transform:scale(0,0);-moz-transform:scale(0,0);-o-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-backface-visibility:hidden}.tooltipster-grow.tooltipster-show{-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-o-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-swing{opacity:0;-webkit-transform:rotateZ(4deg);-moz-transform:rotateZ(4deg);-o-transform:rotateZ(4deg);-ms-transform:rotateZ(4deg);transform:rotateZ(4deg);-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform}.tooltipster-swing.tooltipster-show{opacity:1;-webkit-transform:rotateZ(0);-moz-transform:rotateZ(0);-o-transform:rotateZ(0);-ms-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,1);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-moz-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-ms-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-o-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);transition-timing-function:cubic-bezier(.23,.635,.495,2.4)}.tooltipster-fall{-webkit-transition-property:top;-moz-transition-property:top;-o-transition-property:top;-ms-transition-property:top;transition-property:top;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-fall.tooltipster-initial{top:0!important}.tooltipster-fall.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;top:0!important;opacity:0}.tooltipster-slide{-webkit-transition-property:left;-moz-transition-property:left;-o-transition-property:left;-ms-transition-property:left;transition-property:left;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-slide.tooltipster-initial{left:-40px!important}.tooltipster-slide.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;left:0!important;opacity:0}@keyframes tooltipster-fading{0%{opacity:0}100%{opacity:1}}.tooltipster-update-fade{animation:tooltipster-fading .4s}@keyframes tooltipster-rotating{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}100%{transform:rotate(0)}}.tooltipster-update-rotate{animation:tooltipster-rotating .6s}@keyframes tooltipster-scaling{50%{transform:scale(1.1)}100%{transform:scale(1)}}.tooltipster-update-scale{animation:tooltipster-scaling .6s}.tooltipster-sidetip .tooltipster-box{background:#565656;border:2px solid #000;border-radius:4px}.tooltipster-sidetip.tooltipster-bottom .tooltipster-box{margin-top:8px}.tooltipster-sidetip.tooltipster-left .tooltipster-box{margin-right:8px}.tooltipster-sidetip.tooltipster-right .tooltipster-box{margin-left:8px}.tooltipster-sidetip.tooltipster-top .tooltipster-box{margin-bottom:8px}.tooltipster-sidetip .tooltipster-content{color:#fff;line-height:18px;padding:6px 14px}.tooltipster-sidetip .tooltipster-arrow{overflow:hidden;position:absolute}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{height:10px;margin-left:-10px;top:0;width:20px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow{height:20px;margin-top:-10px;right:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow{height:20px;margin-top:-10px;left:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow{bottom:0;height:10px;margin-left:-10px;width:20px}.tooltipster-sidetip .tooltipster-arrow-background,.tooltipster-sidetip .tooltipster-arrow-border{height:0;position:absolute;width:0}.tooltipster-sidetip .tooltipster-arrow-background{border:10px solid transparent}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#565656;left:0;top:3px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background{border-left-color:#565656;left:-3px;top:0}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background{border-right-color:#565656;left:3px;top:0}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background{border-top-color:#565656;left:0;top:-3px}.tooltipster-sidetip .tooltipster-arrow-border{border:10px solid transparent;left:0;top:0}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#000}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border{border-left-color:#000}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border{border-right-color:#000}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border{border-top-color:#000}.tooltipster-sidetip .tooltipster-arrow-uncropped{position:relative}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped{top:-10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped{left:-10px}
1
  .eael-adv-accordion{width:auto;height:auto;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header{padding:15px;border:1px solid rgba(0,0,0,.02);font-size:1rem;font-weight:600;line-height:1;transition:all .3s ease-in-out;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-toggle{transform:rotate(0);z-index:10;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-toggle{transform:rotate(90deg);z-index:10;transition:all .3s ease-in-out}.fa-accordion-icon{display:inline-block;margin-right:10px}.eael-adv-accordion .eael-accordion-list .eael-accordion-content{display:none;border:1px solid #eee;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.eael-adv-accordion .eael-accordion-list .eael-accordion-content p{margin:0}.eael-adv-accordion .eael-accordion-list .eael-accordion-content.active{display:block}@-webkit-keyframes rotate-90{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}@keyframes rotate-90{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}@-webkit-keyframes fadeIn{0%{opacity:1;transition:all .3s ease-in-out}100%{opacity:1;transition:all .3s ease-in-out}}@keyframes fadeIn{0%{opacity:1;transition:all .3s ease-in-out}100%{opacity:1;transition:all .3s ease-in-out}}
2
  .eael-advance-tabs{display:block}.eael-advance-tabs .eael-tabs-nav>ul{position:relative;padding:0;margin:0;list-style-type:none;display:flex;justify-content:flex-start;align-items:center;z-index:1}.eael-advance-tabs .eael-tabs-nav>ul li{position:relative;padding:1em 1.5em;flex:1 1 auto;cursor:pointer;display:flex;justify-content:center;align-items:center;text-align:center;background-color:#f1f1f1}.eael-advance-tabs .eael-tabs-nav>ul li:after{content:"";position:absolute;bottom:-10px;left:0;right:0;margin:0 auto;z-index:1;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #444;border-bottom:0;display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active,.eael-advance-tabs .eael-tabs-nav>ul li.active-default,.eael-advance-tabs .eael-tabs-nav>ul li:hover{background-color:#444}.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active:after{display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs .eael-tabs-nav>ul li.active:after{display:block}.eael-tabs-content{display:flex;flex:1 1 auto}.eael-advance-tabs .eael-tabs-content>div{display:none;opacity:0}.eael-advance-tabs .eael-tabs-content>div.active,.eael-advance-tabs .eael-tabs-content>div.active-default{display:block;width:100%;padding:1em;opacity:1;-webkit-animation:fadeIn linear .3s;animation:fadeIn linear .3s}.eael-tab-inline-icon li a .fa{margin-right:10px;line-height:1}.eael-tab-top-icon li{display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li a{display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li .eael-tab-title,.eael-tab-top-icon li .fa{flex:1 1 100%;line-height:1}.eael-tab-top-icon li a .eael-tab-title{margin-top:10px}.eael-advance-tabs.eael-tabs-vertical{display:flex}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav{flex:0 0 auto}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul{flex-flow:column wrap}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul>li{width:100%;justify-content:start}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul li::after{bottom:auto!important;right:-10px;top:calc(50% - 10px);left:auto!important;border-left:10px solid #444;border-right:0;border-top:10px solid transparent;border-bottom:10px solid transparent}@media only screen and (max-width:767px){.eael-advance-tabs .eael-tabs-nav>ul{flex-wrap:wrap}.eael-advance-tabs .eael-tabs-nav>ul li{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical{flex-wrap:wrap}.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul li{flex:1 100%}div.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav>ul li::after{border-left-color:transparent!important;bottom:-20px!important;left:0!important;right:0!important;top:auto!important;border-left:10px solid transparent;border-right:10px solid transparent;border-top-color:#444!important}}
3
  .eael-caldera-form-align-left,.eael-caldera-form-btn-align-left{text-align:left}.eael-caldera-form-align-right,.eael-caldera-form-btn-align-right{text-align:right}.eael-caldera-form-align-center,.eael-caldera-form-btn-align-center{text-align:center}.eael-caldera-form .control-label{display:none}.eael-caldera-form-labels-yes .control-label{display:block}.eael-caldera-form-button-center .form-group input[type=button],.eael-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.eael-caldera-form-button-right .form-group input[type=button],.eael-caldera-form-button-right .form-group input[type=submit]{float:right}.eael-caldera-form .intl-tel-input{display:inherit}.eael-custom-radio-checkbox .caldera-grid input[type=checkbox],.eael-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.eael-caldera-form-button-full-width .form-group input[type=button],.eael-caldera-form-button-full-width .form-group input[type=submit]{width:100%}
 
4
  @-webkit-keyframes loaderSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes loaderSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.eael-load-more-button-wrap{display:flex}.eael-load-more-button{display:flex;align-items:center;justify-content:center;padding:1em 2em;border:0 solid;font-size:16px;overflow:hidden}.eael-load-more-button .button__loader{left:-100%;top:auto;margin-right:5px;transition:all .2s}.eael-load-more-button>span{margin-left:-20px}.eael-load-more-button.button--loading>span{margin-left:0}.eael-load-more-button.button--loading .button__loader{left:0}.eael-btn-loader{border-radius:50%;width:20px;height:20px;font-size:10px;position:relative;text-indent:-9999em;border-top:4px solid rgba(255,255,255,.2);border-right:4px solid rgba(255,255,255,.2);border-bottom:4px solid rgba(255,255,255,.2);border-left:4px solid #fff;transform:translateZ(0);-webkit-animation:loaderSpin 1.1s infinite linear;animation:loaderSpin 1.1s infinite linear}.eael-btn-loader:after{border-radius:50%;width:20px;height:20px}
5
+ .eael-call-to-action{width:100%;height:auto;display:block;padding:30px;font-size:16px;color:#4d4d4d;font-weight:400;line-height:27px;margin:0 auto}.eael-call-to-action p{margin-bottom:10px}.eael-call-to-action .title{font-size:36px;font-weight:600;line-height:36px;margin-bottom:10px;text-transform:capitalize;font-style:normal}.eael-call-to-action.cta-center{text-align:center}.eael-call-to-action.cta-right{text-align:right}.eael-call-to-action.cta-left{text-align:left}.eael-call-to-action.bg-lite{background:#f4f4f4}.eael-call-to-action.bg-img{background-image:url(../img/bg.jpg);background-repeat:no-repeat;background-position:center;background-size:cover;position:relative;z-index:0;color:rgba(255,255,255,.7)}.eael-call-to-action.bg-img .icon{color:#fff}.eael-call-to-action.bg-img:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;background:rgba(0,0,0,.8)}.eael-call-to-action.bg-img.bg-fixed{background-attachment:fixed;background-position:center center}.eael-call-to-action.bg-img .title{color:rgba(255,255,255,.9)}.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{display:flex;justify-content:space-between;align-items:flex-start}.eael-call-to-action.cta-icon-flex .icon{flex-grow:1;font-size:80px;text-align:left;line-height:130px}.eael-call-to-action.cta-icon-flex .action{flex-grow:1;text-align:right;padding-top:22px;flex-basis:22%}.eael-call-to-action.cta-icon-flex .content{flex-grow:1;padding:0 30px}.eael-call-to-action.cta-flex .content{padding:0 15px;flex-grow:1}.eael-call-to-action.cta-flex .action{flex-grow:1;text-align:right;padding-top:25px;flex-basis:23%}.eael-call-to-action .cta-button{position:relative;display:inline-block;padding:12px 30px;background:#f9f9f9;font-size:16px;text-decoration:none;color:#4d4d4d;transition:.5s;-ms-box-shadow:0 0 3px -1px rgba(0,0,0,.2);box-shadow:0 0 3px -1px rgba(0,0,0,.2);margin-right:10px;margin-top:10px;z-index:0;overflow:hidden}.eael-call-to-action .cta-button:last-child{margin-right:0}.eael-call-to-action .cta-button:focus{outline:0}.eael-call-to-action .cta-button:hover{color:#fff;background:#3f51b5;-ms-box-shadow:0 1px 12px 1px rgba(0,0,0,.1);box-shadow:0 1px 12px 1px rgba(0,0,0,.1)}.eael-call-to-action .cta-button.effect-1:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;transform:translateY(-100%);-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);z-index:-1;transition:.5s;color:#fff}.eael-call-to-action .cta-button.effect-1:hover::after{transform:translateY(0)}.eael-call-to-action .cta-button.effect-2:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;z-index:-1;transition:.5s;color:#fff;transform:translateX(-100%)}.eael-call-to-action .cta-button.effect-2:hover::after{transform:translateX(0)}@media only screen and (max-width:768px){.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{flex-wrap:wrap}.eael-call-to-action .title{font-size:28px;line-height:36px;margin-top:0}.eael-call-to-action.cta-icon-flex .icon{flex-grow:1;font-size:48px;line-height:90px;text-align:center}.eael-call-to-action.cta-flex .content,.eael-call-to-action.cta-icon-flex .content{flex-grow:1;text-align:center;padding:0}.eael-call-to-action.cta-flex .action,.eael-call-to-action.cta-icon-flex .action{text-align:center;padding-top:0}.eael-call-to-action .cta-button{padding:12px 25px}}@media only screen and (max-width:360px){.eael-call-to-action{font-size:14px;line-height:26px}.eael-call-to-action .cta-button{padding:4px 20px;font-size:12px}.eael-call-to-action .title{font-size:20px;line-height:30px}}
6
  .eael-contact-form-7.eael-contact-form-btn-align-center input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-center{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-7.eael-contact-form-btn-align-left input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-left{float:left;width:auto}.eael-contact-form-7.eael-contact-form-btn-align-right input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-right{float:right;width:auto}.eael-contact-form-7 .uneditable-input,.eael-contact-form-7 input[type=color],.eael-contact-form-7 input[type=date],.eael-contact-form-7 input[type=datetime-local],.eael-contact-form-7 input[type=datetime],.eael-contact-form-7 input[type=email],.eael-contact-form-7 input[type=month],.eael-contact-form-7 input[type=number],.eael-contact-form-7 input[type=password],.eael-contact-form-7 input[type=search],.eael-contact-form-7 input[type=tel],.eael-contact-form-7 input[type=text],.eael-contact-form-7 input[type=time],.eael-contact-form-7 input[type=url],.eael-contact-form-7 input[type=week],.eael-contact-form-7 textarea{transition:border linear .2s,box-shadow linear .2s}.eael-contact-form-7 .wpcf7-form::after,.eael-contact-form-7 .wpcf7-form::before{content:" ";clear:both;display:table}.eael-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.eael-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.eael-contact-form-7 .wpcf7-form label{display:block}.eael-contact-form-7 .wpcf7-form p{margin-bottom:0}.eael-contact-form-7.labels-hide .wpcf7-form label{display:none}.eael-contact-form-7-title{margin-bottom:10px}.eael-contact-form-7-description{margin-bottom:20px}.eael-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}.eael-contact-form-7-wrapper .eael-contact-form-align-center form{margin:0 auto}
7
+ .eael-ticker-wrap{overflow:hidden;display:flex;flex-flow:row nowrap;align-items:center;width:100%}.eael-ticker-wrap .ticker-badge{flex:0 0 auto;padding:8px 12px}.eael-ticker-wrap .eael-ticker{overflow:hidden;flex:1 1 auto}.eael-ticker-wrap .eael-ticker .ticker-content{padding:8px 12px;line-height:1.8}.eael-ticker-wrap .eael-ticker .ticker-content p{margin:0}.eael-ticker-wrap .swiper-button-prev{left:auto!important;right:25px}.eael-ticker-wrap div.swiper-slide,.eael-ticker-wrap div.swiper-slide.swiper-slide-next,.eael-ticker-wrap div.swiper-slide.swiper-slide-prev{opacity:0!important}.eael-ticker-wrap div.swiper-slide.swiper-slide-active{opacity:1!important}.eael-ticker-wrap .eael-content-ticker.swiper-container .swiper-slide{text-align:left}@media only screen and (max-width:767px){.eael-ticker-wrap{flex-flow:row wrap}.content-ticker-pagination{display:none}}.eael-ticker-wrap .swiper-button-next,.eael-ticker-wrap .swiper-button-prev{background-image:none;outline:0;display:flex;align-items:center;justify-content:center}
8
  .eael-countdown-items{list-style:none;margin:0;padding:0;display:table;table-layout:fixed;width:100%}.eael-countdown-items>li{list-style:none;margin:0;padding:0;display:table-cell;position:relative}.eael-countdown-item>div{text-align:center;padding:20px}.eael-countdown-label-block .eael-countdown-digits,.eael-countdown-label-block .eael-countdown-label{display:block;text-align:center}.eael-countdown-digits{font-size:54px;line-height:1}.eael-countdown-label{font-size:18px;line-height:1;color:#fff}.eael-countdown-show-separator .eael-countdown-digits::after{content:":";position:absolute;left:98%;z-index:9999}.eael-countdown-item:last-child .eael-countdown-digits::after{display:none}.eael-countdown-items.style-1 .eael-countdown-item>div{background:#262625}
 
9
  .eael-creative-button-align-center{text-align:center}.eael-creative-button-wrapper{display:flex}.eael-creative-button{flex:0 0 auto;min-width:150px;text-align:center;vertical-align:middle;position:relative;z-index:1;border-radius:2px;padding:20px 30px;font-size:16px;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}.eael-creative-button:focus{outline:0}.eael-creative-button--winona{overflow:hidden;padding:0!important;transition:border-color .3s,background-color .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona::after{content:attr(data-text);position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;transform:translate3d(0,25%,0);display:flex;align-items:center;justify-content:center}.eael-creative-button--winona::after,.eael-creative-button--winona>.creative-button-inner{padding:1em 2em;transition:transform .3s,opacity .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona:hover::after{opacity:1;transform:translate3d(0,0,0)}.eael-creative-button--winona:hover>.creative-button-inner{opacity:0;transform:translate3d(0,0,0)}.eael-creative-button--ujarak{transition:border-color .4s,color .4s}.eael-creative-button--ujarak::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;transform:scale3d(.7,1,1);transition:transform .4s,opacity .4s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak,.eael-creative-button--ujarak::before{transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak:hover::before{opacity:1;transform:translate3d(0,0,0)}.eael-creative-button--wayra{overflow:hidden;transition:border-color .3s,color .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--wayra::before{content:'';position:absolute;top:0;left:0;width:150%;height:100%;z-index:-1;transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);transform-origin:0 100%;transition:transform .3s,opacity .3s,background-color .3s}.eael-creative-button--wayra:hover::before{opacity:1;transform:rotate3d(0,0,1,0deg);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya{float:left;min-width:150px;max-width:250px;display:block;margin:1em;padding:1em 2em;border:none;background:0 0;color:inherit;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;-moz-osx-font-smoothing:grayscale;overflow:hidden;color:#7986cb;min-width:180px}.eael-creative-button--tamaya.button--inverted{color:#37474f;border-color:#37474f}.eael-creative-button--tamaya::after,.eael-creative-button--tamaya::before{content:attr(data-text);position:absolute;width:100%;height:50%;left:0;background:#7986cb;color:#fff;overflow:hidden;transition:transform .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya.button--inverted::after,.eael-creative-button--tamaya.button--inverted::before{background:#fff;color:#37474f}.eael-creative-button--tamaya::before{top:0;padding-top:1em}.eael-creative-button--tamaya::after{bottom:0;line-height:0}.eael-creative-button--tamaya span{display:block;transform:scale3d(.2,.2,1);opacity:0;transition:transform .3s,opacity .3s;transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya:hover::before{transform:translate3d(0,-100%,0)}.eael-creative-button--tamaya:hover::after{transform:translate3d(0,100%,0)}.eael-creative-button--tamaya:hover span{opacity:1;transform:scale3d(1,1,1)}.eael-creative-button--rayen{overflow:hidden;padding:0!important}.eael-creative-button--rayen::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;transform:translate3d(-100%,0,0);display:flex;align-items:center;justify-content:center}.eael-creative-button--rayen::before,.eael-creative-button--rayen>.creative-button-inner{padding:1em 2em;transition:transform .3s;transition-timing-function:cubic-bezier(.75,0,.125,1)}.eael-creative-button--rayen:hover::before{transform:translate3d(0,0,0)}.eael-creative-button--rayen:hover>.creative-button-inner{transform:translate3d(0,100%,0)}.creative-button-inner{display:flex;flex-direction:row;align-items:center;justify-content:center}.eael-creative-button-icon-left{margin-right:5px}.eael-creative-button-icon-right{margin-left:5px}
10
+ table.eael-data-table thead .sorting,table.eael-data-table thead .sorting_asc,table.eael-data-table thead .sorting_desc{position:relative;z-index:0;outline:0;cursor:pointer}table.eael-data-table thead .sorting:after,table.eael-data-table thead .sorting_asc:after,table.eael-data-table thead .sorting_desc:after{position:absolute;top:50%;right:10px;font-family:FontAwesome;color:#fff;z-index:1;transform:translateY(-50%)}.eael-data-table-wrap .eael-data-tables_wrapper{display:flex;flex-flow:row wrap;justify-content:flex-start;width:100%}.eael-data-table-wrap .eael-data-tables_filter{flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_filter label{font-weight:700}.eael-data-table-wrap .eael-data-tables_filter label input[type=search]{height:40px;border:1px solid rgba(0,0,0,.09);outline:0;padding:10px;margin-left:10px}.eael-data-table-wrap .eael-data-tables_length{flex-grow:1;flex-basis:50%}.eael-data-table-wrap .eael-data-tables_length select{width:auto;max-width:120px;height:40px;border:1px solid rgba(0,0,0,.09);outline:0;margin-left:10px;margin-right:10px}.eael-data-table-wrap .eael-data-tables_length label{font-weight:700}.eael-data-table-wrap .eael-data-tables_info{flex-grow:1;flex-basis:50%;font-weight:700}.eael-data-table-wrap .eael-data-tables_paginate{flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button{padding:10px 15px;background:#f2f2f2;margin-right:2px;cursor:pointer;transition:all .3s}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button:hover{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.current{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.disabled{cursor:no-drop;background:#f2f2f2;opacity:.5;color:#888}.data-header-icon{margin-right:10px;position:relative;top:2px}.eael-data-table{width:100%;height:auto;margin:0;border-collapse:collapse;border:none}.eael-data-table tr{border-style:none}.eael-data-table thead tr{text-align:left}.eael-data-table thead tr th{padding:20px 15px;background:#4a4893;font-size:16px;font-weight:600;font-family:Montserrat,sans-serif;line-height:1;color:#fff;border-color:#000;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table thead tr th:hover{border-color:#000}.eael-data-table tbody tr.even{transition:background .4s ease-in-out}.eael-data-table tbody tr.even:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.even:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr.odd{background:rgba(242,242,242,.5);transition:background .2s ease-in-out}.eael-data-table tbody tr.odd:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.odd:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr td{padding:20px 15px;font-size:14px;font-family:Montserrat,sans-serif;line-height:1;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table-th-img{display:inline-block;margin:0 15px 0 0;line-height:1}.th-mobile-screen{display:none}@media (max-width:767px){.eael-data-table-wrap{overflow-x:scroll!important;padding-bottom:5px}.th-mobile-screen{display:inline-block;padding:0 .6em;margin-right:10px;text-align:center;flex-grow:0;flex-shrink:0;flex-basis:100px}.th-mobile-screen .eael-data-table-th-img{margin:0 auto 15px auto;display:block}.th-mobile-screen .data-header-icon{margin:0 auto 15px auto;display:block}.td-content-wrapper{display:flex;width:100%}.td-content{width:100%;justify-content:center}.td-content>p{width:100%;justify-content:center}.custom-responsive-option-enable .eael-data-table thead{display:none}.custom-responsive-option-enable .eael-data-table tbody tr td{float:none;clear:left;width:100%;text-align:left;display:flex;align-items:center}.eael-data-table .td-content{align-items:center;display:flex}}table.eael-data-table thead .sorting:after{content:"\f0dc"}table.eael-data-table thead .headerSortDown:after{content:"\f0dd"}table.eael-data-table thead .headerSortUp:after{content:"\f0de"}table.eael-data-table thead .sorting_disabled.sorting:after{display:none}table.eael-data-table .sorting.sorting-none:after{display:none}table.eael-data-table .sorting_desc.sorting-none:after{display:none}table.eael-data-table .sorting_asc.sorting-none:after{display:none}.eael-table-align-left table.eael-data-table{float:left}.eael-table-align-center table.eael-data-table{margin:0 auto}.eael-table-align-right table.eael-data-table{float:right}.eael-hide-elements .eael-data-tables_info{display:none}.eael-dt-th-align-left .eael-data-table thead tr th{text-align:left}.eael-dt-td-align-left .eael-data-table tbody tr td{text-align:left}.eael-dt-th-align-right .eael-data-table thead tr th{text-align:right;padding-right:30px}.eael-dt-td-align-right .eael-data-table tbody tr td{text-align:right;padding-right:30px}.eael-dt-th-align-center .eael-data-table thead tr th{text-align:center}.eael-dt-td-align-center .eael-data-table tbody tr td{text-align:center}
11
  .eael-facebook-feed{width:100%;margin:auto}.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{float:none;width:100%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{float:left;width:50%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{float:left;width:33.3333%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{float:left;width:25%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{float:left;width:20%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{float:left;width:16.6666%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed .eael-facebook-feed-item{display:inline-block;line-height:0}.eael-facebook-feed .eael-facebook-feed-item,.eael-facebook-feed .eael-facebook-feed-item-inner{position:relative}.eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay{display:flex;justify-content:center;text-align:center;position:absolute;top:0;bottom:0;left:0;right:0;font-size:12px;line-height:1;transform:scale(.8);opacity:0;transition:all .2s}.eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay .eael-facebook-feed-item-overlay-inner{position:relative;align-self:center}.eael-facebook-feed-overlay .eael-facebook-feed-item:hover .eael-facebook-feed-item-overlay{transform:scale(1);opacity:1}.eael-facebook-feed-overlay .eael-facebook-feed-meta{margin-bottom:0}.eael-facebook-feed-overlay .eael-facebook-feed-meta span{display:inline-block;margin:0 15px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner{margin:10px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header{padding:8px 12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user{float:left}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-avatar{float:left;display:inline-block;width:32px;height:32px;border-radius:50%;margin-right:10px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username{float:left;display:inline-block;font-size:14px;font-weight:400;line-height:32px;margin:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time{float:right;font-size:11px;font-weight:400;line-height:32px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content{position:relative;display:block;padding:12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message{font-size:14px;font-weight:400;line-height:1.3;margin:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap{padding:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-img{display:block;position:relative;margin-bottom:12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-overlay i{font-size:48px;color:#fff}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview{padding:0 12px 15px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host{font-size:12px;font-weight:400;line-height:1;text-transform:uppercase;margin-bottom:5px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title{font-size:15px;font-weight:700;line-height:1.4;margin-top:0;margin-bottom:6px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description{font-size:14px;font-weight:400;line-height:1.2;margin-bottom:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer{font-size:13px;font-weight:400;line-height:30px;padding:8px 12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer span{display:inline-block}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer span.eael-facebook-feed-post-likes{margin-right:15px}.elementor-widget-eael-facebook-feed .eael-load-more-button-wrap{justify-content:center;margin-top:15px}.elementor-widget-eael-facebook-feed .eael-load-more-button-wrap.no-pagination{display:none}
12
  .elementor-panel .pro-feature,.elementor-panel .pro-feature a{color:#a4afb7;text-transform:uppercase;letter-spacing:1px;line-height:1.8;font-style:normal}.elementor-panel .pro-feature a{text-decoration:underline;color:#f54!important}.elementor-control-data_table_content_colspan_pro_alert .elementor-control-title,.elementor-control-data_table_content_rowspan_pro_alert .elementor-control-title,.elementor-control-data_table_content_template_pro_alert .elementor-control-title,.elementor-control-data_table_header_colspan_pro_alert .elementor-control-title,.elementor-control-data_table_header_img_pro_alert .elementor-control-title,.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-title.elementor-panel-heading-title,.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-toggle{color:#f54}.elementor-panel .elementor-control-eael_control_get_pro .elementor-control-field{display:none!important}.elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title,.elementor-control-eael_img_accordion_type_pro_alert .elementor-control-title,.elementor-control-eael_pricing_table_style_pro_alert .elementor-control-title,.elementor-control-eael_section_countdown_style_pro_alert .elementor-control-title,.elementor-control-eael_section_data_table_enabled_pro_alert .elementor-control-title,.elementor-control-eael_team_members_preset_pro_alert .elementor-control-title,.elementor-control-eael_ticker_type_pro_alert .elementor-control-title{color:#f54}
13
+ .eael-dual-header{display:block;margin-bottom:50px}.eael-dual-header .title,.eael-dual-header .title span{font-size:36px;font-weight:700;text-transform:uppercase;line-height:48px;margin:10px 0}.eael-dual-header .subtext{font-size:16px;display:block}.eael-dual-header i{display:block;padding:0;margin:20px 0 10px 0;font-size:36px}.eael-dual-header .title span.lead{color:#1abc9c}.eael-dual-header-content-align-center{text-align:center}.eael-dual-header-content-align-left{text-align:left}.eael-dual-header-content-align-right{text-align:right}
14
  .eael-fancy-text-container p{margin:0}.eael-fancy-text-strings{display:none}.eael-fancy-text-prefix,.eael-fancy-text-suffix{display:inline-block}.morphext>.animated{display:inline-block}.typed-cursor{opacity:1;-webkit-animation:blink_cursor .7s infinite;animation:blink_cursor .7s infinite}@keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}@-webkit-keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.eael-fancy-text-container.style-2{font-size:24px}.eael-fancy-text-container.style-2 .eael-fancy-text-strings{background:#f54;color:#fff;padding:10px 25px}
15
+ .elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:before{top:3px!important}.elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:after{top:45px!important}.elementor-widget-eael-feature-list.-icon-position-right .connector,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .connector{right:0;left:calc(100% - 70px)}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item{position:relative}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .connector{display:block;position:absolute;width:0;margin:0 auto;z-index:1;height:100%;top:.5em;font-size:60px;left:0;right:calc(100% - 60px);border-left:2px solid #2ecc71;border-right:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item:last-child .connector{display:none}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{z-index:2;transition:all .5s}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{background-color:#37368e;transition:all .5s;display:inline-flex}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{padding:.5em;transition:all .5s;font-size:30px;line-height:1;color:#37368e;text-align:center;display:inline-flex;display:flex;align-items:center;justify-content:center}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i{width:1em;height:1em;position:relative;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i:before{position:absolute;left:50%;transform:translateX(-50%)}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img{font-size:8px;line-height:1;max-width:inherit}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box{margin:0 0 0 20px}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-title{margin-top:-2px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-content{padding:0;margin:0;font-size:14px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items.stacked .eael-feature-list-icon-box .eael-feature-list-icon{color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.framed .eael-feature-list-icon-box .eael-feature-list-icon{background-color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner .eael-feature-list-icon{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon-inner{transform:rotate(45deg);margin:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i{transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img{transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title{margin-top:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px;position:relative}@media (max-width:767px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px;display:block}}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{content:"";position:absolute;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;top:0;z-index:1;border-left:1px solid #000;border-right:none!important;height:100%}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px;width:23px;display:block;z-index:2;border-bottom:1px dashed #000;border-top:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item .connector{display:none}@media (min-width:768px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item{padding:0 50px 0 0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item .connector{display:none}}@media (min-width:1025px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{display:flex}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item{text-align:left;flex-direction:row}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{text-align:right;flex-direction:row-reverse}}@media (max-width:1024px){.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:flex}.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item{text-align:left;flex-direction:row}.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{text-align:right;flex-direction:row-reverse}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:block;text-align:left}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{display:flex}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item{text-align:left;flex-direction:row}.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{text-align:right;flex-direction:row-reverse}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}
16
  .eael-filter-gallery-control{width:100%}.eael-filter-gallery-control ul,.eael-filter-gallery-control ul li{text-align:center}.eael-filter-gallery-control ul{margin:0 0 20px 0;padding:0;text-align:center}.eael-filter-gallery-control{display:flex;flex-flow:1 1 auto;align-items:center;justify-content:center;flex-flow:row wrap;padding:0;margin:0}.eael-filter-gallery-control ul li{list-style:none;font-size:24px;display:inline-block;text-align:center}.eael-filter-gallery-control ul li a.control{font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;padding:10px 25px;margin:10px 6px}.eael-filter-gallery-container{text-align:justify;font-size:.1px}.eael-filter-gallery-container:after{content:'';display:inline-block;width:100%}.eael-filter-gallery-container:not(.eael-cards) .item:before{content:'';display:inline-block;padding-top:56.25%}.eael-filter-gallery-container .item .caption{position:absolute;display:flex;flex-flow:1 1 100%;align-items:center;justify-content:center;z-index:1;top:0;left:0;right:0;bottom:0;transition:transform .4s}.eael-filter-gallery-container.eael-cards .item .caption{display:none}.eael-filter-gallery-container.eael-cards .item .item-img .caption{position:absolute;display:flex;flex-flow:1 1 100%;align-items:center;justify-content:center;z-index:10;top:0;left:0;right:0;bottom:0;transition:transform .4s}.gallery-item-caption-over{width:100%;height:auto}a.eael-gallery-load-more,a.eael-gallery-load-more:hover{text-decoration:none}.eael-filter-gallery-container .item .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in{transform:scale(0)}.eael-filter-gallery-container .item:hover .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in{transform:scale(1)}.eael-filter-gallery-container .item .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left{transform:translateX(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left{transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right{transform:translateX(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right{transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top{transform:translateY(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top{transform:translateY(0)}.eael-filter-gallery-container .item .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom{transform:translateY(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom{transform:translateY(0)}.eael-filter-gallery-container .item .caption a{display:inline-block;width:50px;height:50px;text-align:center;line-height:50px;border-radius:50%;margin:0 5px;font-size:20px;cursor:pointer;transition:.3s}.eael-container .item .caption a:nth-child(2),.eael-filter-gallery-container .item .caption a:nth-child(1){transition:.6s;opacity:0}.eael-filter-gallery-container .item .caption a:nth-child(1){transform:translateY(-100%)}.eael-filter-gallery-container .item .caption a:nth-child(2){transform:translateY(100%)}.eael-filter-gallery-container .item .caption:hover a:nth-child(1),.eael-filter-gallery-container .item .caption:hover a:nth-child(2){transform:translateY(0);opacity:1}.eael-filter-gallery-container .item .caption .eael-popup-link{outline:0}.eael-filter-gallery-container.eael-cards .item:before{padding-top:0}.eael-filter-gallery-container.eael-cards .item-img{position:relative;background-repeat:no-repeat;background-position:center;background-size:cover;height:220px;z-index:0;overflow:hidden}.eael-filter-gallery-container.eael-cards .item-content{padding:15px}.eael-filter-gallery-container.eael-cards .item-content .title,.eael-filter-gallery-container.eael-cards .item-content .title a{font-size:20px;line-height:1;margin-bottom:0;transition:.3s}.eael-filter-gallery-container.eael-cards .item-content p{font-size:14px;line-height:26px}.eael-fg-card-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-card-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-hoverer-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-hoverer-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-content-align-left .eael-cards .item .item-content{text-align:left}.eael-fg-content-align-center .eael-cards .item .item-content{text-align:center}.eael-fg-content-align-right .eael-cards .item .item-content{text-align:right}.mfp-wrap~div.dialog-widget{display:none!important}.eael-filterable-gallery-item-wrap{float:left;width:33.33%}.eael-filter-gallery-container.eael-col-1 .eael-filterable-gallery-item-wrap{width:100%}.eael-filter-gallery-control>ul li{font-size:13px;line-height:1.8;text-transform:uppercase;letter-spacing:1px;padding:6px 15px;cursor:pointer;margin:0 5px;font-weight:400}.eael-filter-gallery-container.eael-col-2 .eael-filterable-gallery-item-wrap{width:50%}.eael-filter-gallery-container.eael-col-4 .eael-filterable-gallery-item-wrap{width:25%}.eael-filter-gallery-container.eael-col-5 .eael-filterable-gallery-item-wrap{width:20%}.eael-gallery-grid-item{margin-left:calc(20px/2);margin-right:calc(20px/2);margin-bottom:20px;position:relative}.gallery-item-caption-wrap,.media-content-wrap{font-size:14px;text-align:left}.gallery-item-thumbnail-wrap.caption-style-card img{max-height:100%;width:100%}.gallery-item-caption-wrap.caption-style-hoverer{position:absolute;left:0;top:0;height:100%;width:100%;padding:15px;z-index:10}.eael-filterable-gallery-item-wrap .eael-gallery-grid-item .gallery-item-thumbnail-wrap>img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.fg-item-content,.fg-item-title{color:#fff;font-family:inherit}.gallery-item-caption-wrap.caption-style-card .fg-item-title{font-size:18px;margin:15px 0 15px;line-height:1}.gallery-item-caption-wrap.caption-style-card{background:#f7f7f7}.gallery-item-caption-wrap.caption-style-card .fg-item-title{margin:10px 0 15px;color:#000}.gallery-item-caption-wrap.caption-style-card .fg-item-content{color:#212529;line-height:1.5;font-weight:400}.gallery-item-buttons>a{display:inline-block;font-size:16px;color:#000;margin-right:15px}.gallery-item-buttons>a:visited{color:#000}.gallery-item-caption-wrap.caption-style-card{padding:10px;box-sizing:border-box;font-family:inherit}.gallery-item-caption-wrap .gallery-item-hoverer-bg{position:absolute;left:0;top:0;height:100%;width:100%;content:'';background:#000;z-index:-1;opacity:.7}.gallery-item-caption-wrap.caption-style-hoverer{visibility:hidden;opacity:0;transition:.6s all ease;display:flex;align-items:center}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer{opacity:1;visibility:visible}.gallery-item-caption-wrap.caption-style-hoverer h5{font-size:20px;margin-bottom:5px;line-height:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5{transform:translateY(20px);transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer p{margin-bottom:5px}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{transform:translateY(40px);transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons{transform:translateY(40px);transition:.6s all ease}.gallery-item-caption-wrap .gallery-item-buttons>a span{display:flex;align-items:center;justify-content:center;border-radius:50%;outline:0;text-decoration:none;display:inline-block;text-align:center}.gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{transform:scale(.8);transition:.6s all ease}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons,.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5,.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{transform:translate(0)}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{transform:scale(1);visibility:visible;opacity:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-none{transition:none}.gallery-item-thumbnail-wrap{position:relative}.video-popup,.video-popup-bg{position:absolute;left:0;top:0;height:100%;width:100%}.video-popup>img{width:62px;position:relative;z-index:1;transition:.3s}.video-popup{display:flex;align-items:center;justify-content:center}.video-popup:hover>img{transform:scale(1.1)}.video-popup-bg{visibility:hidden;opacity:0;transition:350ms}.eael-gallery-grid-item:hover .video-popup-bg{visibility:visible;opacity:1}.gallery-item-thumbnail-wrap>.gallery-item-caption-wrap{position:absolute;left:0;top:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center}.gallery-item-caption-wrap.card-hover-bg{visibility:hidden;opacity:0;transition:.8s}.gallery-item-thumbnail-wrap:hover .gallery-item-caption-wrap.card-hover-bg{visibility:visible;opacity:1}.gallery-item-caption-wrap .gallery-item-buttons>a>i{display:flex;align-items:center;justify-content:center;height:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-logo-grid{margin-right:-5px}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:767px){.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}.fg-layout-3-filter-controls{margin:0;padding:0;list-style:none}.fg-layout-3-item-content{text-align:center}.fg-layout-3-item-content .fg-item-title{font-size:18px;line-height:1;font-weight:500;margin:0;transition:.3s}.fg-layout-3-item-content .fg-item-content p{font-size:13px;font-weight:400}.fg-filter-wrap{position:relative;flex-basis:30%}.fg-layout-3-filter-controls{position:absolute;left:0;background:#fff;z-index:999;width:150px;visibility:hidden;opacity:0;transition:.3s;width:100%;border-radius:5px;padding-top:7px}.fg-layout-3-filter-controls.open-filters{visibility:visible;opacity:1}.fg-layout-3-filter-controls li.control{padding:5px 5px 5px 10px;cursor:pointer;transition:.3s;font-size:14px;color:#7f8995;font-weight:400}.fg-layout-3-filter-controls li.control:hover{color:#2d425a}.fg-layout-3-filter-controls li.control:first-child{border-top:0 solid}.fg-layout-3-filter-controls li.control:last-child{border-bottom:0 solid}.fg-layout-3-filters-wrap{max-width:600px;margin:15px auto 50px}.fg-filter-wrap button{width:100%;border:0 solid;border-radius:0;padding:17px 13px;font-size:14px;color:#2d425a;background:#f7f8ff;height:55px;border-right:1px solid #abb5ff;border-radius:10px 0 0 10px;outline:0;text-align:center;position:relative}.fg-filter-wrap button>i{font-size:18px;position:absolute;top:50%;transform:translateY(-50%);margin-left:10px}.fg-layout-3-search-box{flex-basis:70%;height:100%}.fg-layout-3-search-box input[type=text]{width:100%;height:100%;margin:0;padding:15px;border:0 solid;outline:0;background:0 0}.fg-layout-3-search-box input[type=text]::-webkit-input-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]::-moz-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]:-ms-input-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]:-moz-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-filters-wrap{height:55px;border-radius:5px;display:flex;flex-wrap:wrap;align-items:center}.fg-layout-3-filters-wrap .fg-layout-3-search-box{background:#f7f8ff;border-radius:0 10px 10px 0}.fg-layout-3-item-thumb{position:relative;overflow:hidden}.fg-layout-3-item-thumb .gallery-item-buttons{text-align:center;position:absolute;left:0;top:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center;z-index:4}.fg-layout-3-item-content{padding:27px 27px 30px;text-align:center}.eael-fg-card-content-align-left .fg-layout-3-item-content{text-align:left}.eael-fg-card-content-align-center .fg-layout-3-item-content{text-align:center}.eael-fg-card-content-align-right .fg-layout-3-item-content{text-align:right}.eael-filterable-gallery-item-wrap .fg-layout-3-item.eael-gallery-grid-item{box-shadow:0 0 30px 0 rgba(3,29,60,.05);border-radius:5px}.fg-caption-head{position:absolute;left:0;top:0;width:100%;display:flex;justify-content:space-between;padding:35px 35px;z-index:3;color:#fff;font-size:18px;font-weight:700}.fg-item-category>span{font-size:12px;color:#fff;background:#fa9196;padding:10px 12px;display:inline-block}.fg-layout-3-item-content{position:relative}.fg-item-category{position:absolute;left:0;top:0;text-align:center;width:100%;height:30px;margin-top:-15px;z-index:11}.fg-item-category span{border-radius:5px;line-height:1;visibility:hidden;opacity:0;transition:.3s}.fg-layout-3-item.eael-gallery-grid-item:hover .fg-item-category span{visibility:visible;opacity:1}
17
  .eael-elements-flip-box-container{position:relative;height:300px;width:100%}.eael-elements-flip-box-container .flipbox-button{display:inline-block;transition:all .4s}.eael-elements-flip-box-container a{display:block}.eael-elements-flip-box-vertical-align{width:100%}.eael-elements-flip-box-padding{padding:0 30px 5px 30px}.eael-elements-flip-box-icon-image{display:inline-block;margin:0 auto 0 auto;line-height:1}.eael-elements-flip-box-icon-image.eael_eleements_flip_front_icon_style_background{background:#ccc}.eael_eleements_flip_front_icon_style_bordered{border:2px solid #fff}.eael_flip_box_icon_border_round{border-radius:100px}.eael_eleements_flip_front_icon_style_background,.eael_eleements_flip_front_icon_style_bordered{padding:15px}.eael-elements-flip-box-icon-image i{font-size:40px}.eael-elements-slider-display-table{width:100%}.eael-elements-flip-box-front-container{text-align:center;position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;background:#0e9dd2;color:#fff;border-color:#000;-webkit-display:flex;display:flex;align-items:center}.eael-elements-flip-box-content,.eael-elements-flip-box-heading{color:#fff}.eael-elements-flip-box-heading.flipbox-linked-title{color:#fff;font-size:1.5em;font-weight:700}.eael-elements-flip-box-rear-container{text-align:center;position:absolute;top:0;left:0;width:100%;height:100%;background:#444;color:#fff;display:flex;align-items:center;border-color:#000}.eael-elements-button-floating-container{position:fixed;z-index:100}.eael-elements-button-floating-container .eael-elements-button{margin-top:0;font-size:14px;position:relative;padding:14px 20px}.eael-elements-button{cursor:pointer;display:inline-block;background:#077bbe;color:#fff;line-height:1;padding:16px 25px;margin-top:15px}.eael-elements-button:hover{background:#077bbe;color:#fff}.eael-elements-flip-box-container{perspective:1000px}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{transition-duration:.5s;transition-property:all;transition-timing-function:ease}.eael-elements-flip-box-flip-card{width:100%;height:100%;transform-style:preserve-3d;transition:all .5s ease}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateX(0);transform:rotateY(0)}.eael-animate-flip.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateX(180deg)}.eael-animate-flip.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateX(-180deg)}.eael-animate-flip.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateY(-180deg)}.eael-animate-flip.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateY(180deg)}.eael-animate-push.eael-elements-flip-box-container,.eael-animate-slide.eael-elements-flip-box-container{overflow:hidden}.eael-animate-push .eael-elements-flip-box-rear-container,.eael-animate-slide .eael-elements-flip-box-rear-container{z-index:3}.eael-animate-push.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up .eael-elements-flip-box-rear-container{top:100%}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:0}.eael-animate-push.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down .eael-elements-flip-box-rear-container{top:auto;bottom:100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:auto;bottom:0}.eael-animate-push.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left .eael-elements-flip-box-rear-container{left:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:0}.eael-animate-push.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right .eael-elements-flip-box-rear-container{left:auto;right:100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:auto;right:0}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:-100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:-100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:100%}.eael-animate-zoom-in .eael-elements-flip-box-rear-container{opacity:0;transform:scale(.75);z-index:3}.eael-animate-zoom-in.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{opacity:1;transform:scale(1)}.eael-animate-zoom-out.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0;transform:scale(.75)}.eael-animate-fade.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0}.eael-flipbox-content-align-right .eael-elements-flip-box-padding{text-align:right}.eael-flipbox-content-align-left .eael-elements-flip-box-padding{text-align:left}.eael-flipbox-content-align-center .eael-elements-flip-box-padding{text-align:center}.eael-flipbox-img-circle .eael-elements-flip-box-icon-image img,.eael-flipbox-img-circle .flipbox-back-image-icon img{border-radius:50%;overflow:hidden}
18
  .eael-fluent-form-wrapper label.ff-el-form-check-label{display:flex;align-items:center}.eael-fluent-form-wrapper label.ff-el-form-check-label input{margin-right:5px}.eael-fluentform-form-button-full-width .ff-btn-submit{width:100%;display:block}.eael-contact-form.eael-fluent-form-wrapper.error-message-hide .ff-el-is-error .text-danger{display:none}.eael-fluentform-form-button-center .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-right .ff-btn-submit{margin:0 auto;display:flex;align-items:center;justify-content:center}.eael-fluentform-form-button-right .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-right .ff-btn-submit{float:right}.eael-fluentform-form-button-left .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-right .ff-btn-submit{float:left}.eael-contact-form.eael-fluent-form-wrapper.fluent-form-labels-hide label{display:none!important}.eael-fluentform-section-break-content-left .ff-el-group.ff-el-section-break{text-align:left}.eael-fluentform-section-break-content-center .ff-el-group.ff-el-section-break{text-align:center}.eael-fluentform-section-break-content-right .ff-el-group.ff-el-section-break{text-align:right}
19
+ .clearfix::after,.clearfix::before{content:" ";display:table;clear:both}.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right{padding-top:40px}.eael-contact-form input[type=date],.eael-contact-form input[type=email],.eael-contact-form input[type=number],.eael-contact-form input[type=tel],.eael-contact-form input[type=text],.eael-contact-form input[type=url],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;transition:all .3s ease-in-out;display:inline-block}
20
  .eael-gravity-form-align-default,.eael-gravity-form-align-left,.eael-gravity-form-btn-align-left{text-align:left}.eael-gravity-form-align-right,.eael-gravity-form-btn-align-right{text-align:right}.eael-gravity-form-align-center,.eael-gravity-form-btn-align-center{text-align:center}.eael-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.gform_wrapper form li,.gform_wrapper li{list-style:none}.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield{padding:0}.eael-gravity-form .gform_wrapper textarea{padding:0}.eael-gravity-form .gform_wrapper .gform_footer input.button,.eael-gravity-form .gform_wrapper .gform_footer input[type=submit],.eael-gravity-form .gform_wrapper .gform_page_footer input.button,.eael-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.eael-gravity-form.title-description-hide .gform_heading{display:none}.eael-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.eael-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.eael-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit]{width:100%}
21
  .eael-img-accordion{display:flex;height:50vh}.eael-img-accordion a{position:relative;flex:1;text-align:center;text-decoration:none;color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat;transition:flex .4s}.eael-grow-accordion{flex:3}.eael-img-accordion .overlay{display:flex;align-items:center;justify-content:center;padding:0 10px;position:absolute;top:0;right:0;bottom:0;left:0;transition:background-color .4s}.eael-img-accordion .overlay .overlay-inner{z-index:1}.eael-img-accordion a:after{content:"";position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;bottom:0;right:0;transition:all .3s ease-in-out}.eael-img-accordion .overlay-inner *{visibility:hidden;opacity:0;transform-style:preserve-3d}.eael-img-accordion .overlay h2{color:#fff;transform:translate3d(0,-60px,0)}.eael-img-accordion .overlay p{color:#fff;transform:translate3d(0,60px,0)}.eael-img-accordion .overlay-inner-show *{opacity:1;visibility:visible;transform:none!important;transition:all .3s .3s}@media screen and (max-width:800px){.eael-img-accordion{flex-direction:column}.eael-img-accordion a:hover{flex:1}.eael-img-accordion a:hover .overlay{background-color:transparent}}
22
  .eael-infobox .infobox-icon{height:auto}.eael-infobox .infobox-icon .infobox-icon-wrap{display:flex;width:100%;height:auto;transition:.3s;align-items:center;justify-content:center}.eael-infobox .infobox-icon .infobox-icon-wrap i{transition:.3s}.eael-infobox-content-align-left .eael-infobox .infobox-button,.eael-infobox-content-align-left .eael-infobox .infobox-content,.eael-infobox-content-align-left .eael-infobox .infobox-icon{text-align:left}.eael-infobox-content-align-right .eael-infobox .infobox-button,.eael-infobox-content-align-right .eael-infobox .infobox-content,.eael-infobox-content-align-right .eael-infobox .infobox-icon{text-align:right}.eael-infobox-content-align-center .eael-infobox .infobox-button,.eael-infobox-content-align-center .eael-infobox .infobox-content,.eael-infobox-content-align-center .eael-infobox .infobox-icon{text-align:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap{width:90px;height:90px;text-align:center}.eael-infobox-icon-hover-bg-shape-square:hover .infobox-icon .infobox-icon-wrap{border-radius:0}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-radius:hover .infobox-icon .infobox-icon-wrap{border-radius:15px}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap{display:flex;align-items:center;justify-content:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-circle:hover .infobox-icon .infobox-icon-wrap{border-radius:50%}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap i,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap i{margin-top:50%;transform:translateY(-50%)}.eael-infobox .infobox-button a.eael-infobox-button{display:inline-block;padding:5px 10px;transition:all .3s ease-in-out 0s}.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:flex-start}.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:center}.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:flex-end}.eael-infobox.icon-on-left{position:relative;z-index:0;display:flex}.eael-infobox.icon-on-left .infobox-icon-wrap,.eael-infobox.icon-on-right .infobox-icon-wrap{justify-content:center;display:flex!important;align-items:center}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:left;height:auto;display:block}.eael-infobox .infobox-content p{margin:0 0 15px}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap i{margin-top:0;transform:translateY(0)}.eael-infobox.icon-on-left .infobox-content{padding-left:15px;flex:1 1 auto}.eael-infobox.icon-on-left .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox.icon-on-right{position:relative;z-index:0;display:flex;flex-direction:row-reverse}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:right;width:auto;height:auto;display:block}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap i{margin-top:0;transform:translateY(0)}.eael-infobox.icon-on-right .infobox-content{padding-right:15px;text-align:right;flex:1 1 auto;box-sizing:border-box}.eael-infobox.icon-on-right .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox .infobox-icon img{transition:all .3s ease-in-out 0s}.eael-infobox-hover-img-shape-square:hover .eael-infobox .infobox-icon img{border-radius:0}.eael-infobox-hover-img-shape-circle:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-circle .eael-infobox .infobox-icon img{border-radius:50%}.eael-infobox-hover-img-shape-radius:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-radius .eael-infobox .infobox-icon img{border-radius:15px}
31
  .eael-team-item{overflow:hidden;position:relative}.team-avatar-rounded figure img{border-radius:50%;height:auto}.eael-team-image>figure{margin:0;padding:0}.eael-team-image>figure img{display:block;margin:0 auto}.eael-team-item .eael-team-content{padding:10px}.eael-team-item .eael-team-member-name{font-size:20px;font-weight:700;letter-spacing:.05em;margin:5px 0;text-transform:uppercase}.eael-team-item .eael-team-member-position{font-size:14px;font-weight:400;letter-spacing:.05em;margin:5px 0 10px;text-transform:uppercase}.eael-team-item .eael-team-content,.eael-team-item .eael-team-content .eael-team-text{font-size:14px;line-height:1.5}.eael-team-content>ul{margin:0;padding:0}.eael-team-content li{display:inline-block;list-style:outside none none;margin-right:10px;text-align:center}.eael-team-content li a{font-size:2.5rem}.eael-team-align-left .eael-team-item .eael-team-content li,.eael-team-align-left .eael-team-item .eael-team-content p,.eael-team-align-left .eael-team-item .eael-team-content ul,.eael-team-align-left .eael-team-item .eael-team-member-name,.eael-team-align-left .eael-team-item .eael-team-member-position,.eael-team-align-left .eael-team-item .eael-team-text{text-align:left}.eael-team-align-right .eael-team-item .eael-team-content li,.eael-team-align-right .eael-team-item .eael-team-content p,.eael-team-align-right .eael-team-item .eael-team-content ul,.eael-team-align-right .eael-team-item .eael-team-member-name,.eael-team-align-right .eael-team-item .eael-team-member-position,.eael-team-align-right .eael-team-item .eael-team-text{text-align:right}.eael-team-align-centered .eael-team-item .eael-team-content li,.eael-team-align-centered .eael-team-item .eael-team-content p,.eael-team-align-centered .eael-team-item .eael-team-content ul,.eael-team-align-centered .eael-team-item .eael-team-member-name,.eael-team-align-centered .eael-team-item .eael-team-member-position,.eael-team-align-centered .eael-team-item .eael-team-text{text-align:center}.eael-team-item.eael-team-members-overlay .eael-team-content{bottom:10px;left:10px;margin-bottom:0;padding-top:15%;opacity:0;overflow:hidden;text-overflow:ellipsis;position:absolute;right:10px;top:10px;transition:all 615ms cubic-bezier(.19,1,.22,1) 0s}.eael-team-item.eael-team-members-overlay:hover .eael-team-content{opacity:1}.eael-team-member-social-link>a{display:inline-block;transition:all .3s cubic-bezier(.19,1,.22,1) 0s}.eael-team-member-social-link>a:focus{outline:0}
32
  .eael-testimonial-slider{position:relative}.testimonial-star-rating{padding:0;margin:0}.testimonial-star-rating li{list-style:none;display:inline-block}.testimonial-star-rating li i{color:#d8d8d8}.rating-five .testimonial-star-rating li i{color:#f2b01e}.rating-one .testimonial-star-rating li:first-child i{color:#f2b01e}.rating-two .testimonial-star-rating li:nth-child(1) i,.rating-two .testimonial-star-rating li:nth-child(2) i{color:#f2b01e}.rating-three .testimonial-star-rating li:nth-child(1) i,.rating-three .testimonial-star-rating li:nth-child(2) i,.rating-three .testimonial-star-rating li:nth-child(3) i{color:#f2b01e}.rating-four .testimonial-star-rating li:nth-child(1) i,.rating-four .testimonial-star-rating li:nth-child(2) i,.rating-four .testimonial-star-rating li:nth-child(3) i,.rating-four .testimonial-star-rating li:nth-child(4) i{color:#f2b01e}.eael-testimonial-image img{max-width:100%}.eael-testimonial-image{padding:10px 0 0 0}.eael-testimonial-image>figure{display:block;margin:0}.testimonial-avatar-rounded figure img{border-radius:50%;height:auto}.eael-testimonial-content{margin:0;padding:10px}.eael-testimonial-item>figure{margin:0 auto;padding:0 20px}.eael-testimonial-item .center-text{text-align:center}.eael-testimonial-item .right-text{text-align:right}.eael-testimonial-item .left-text{text-align:left}.eael-testimonial-item .justify-text{text-align:justify}.eael-testimonial-content .eael-testimonial-text{font-size:100%;font-style:italic;line-height:1.5;margin-top:0;margin-bottom:10px;word-wrap:break-word}.eael-testimonial-content .eael-testimonial-user{display:inline-block;font-family:inherit;font-size:105%;font-style:italic;font-weight:400;line-height:1.5;margin-top:0;margin-bottom:0;margin-right:5px}.eael-testimonial-content .eael-testimonial-user-company{display:inline-block;font-family:inherit;font-size:90%;font-style:italic;font-weight:lighter;line-height:1.75;margin-bottom:0;margin-top:1px}.eael-testimonial-image{position:relative}.eael-testimonial-item .eael-testimonial-quote::after{color:inherit!important;content:"\f10e";font-family:"Font Awesome 5 Free";font-size:200%;font-weight:900}.eael-testimonial-slider.default-style .eael-testimonial-align-centered .eael-testimonial-image figure img{margin:0 auto}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure img{margin:0}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure{text-align:left}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-right .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .middle-style-content{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-center .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-center .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .middle-style-content{text-align:center}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-left .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .middle-style-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-text>p,.eael-testimonial-slider.icon-img-right-content .eael-testimonial-text>p{margin:0}.icon-img-left-content .eael-testimonial-image{float:left;width:30%}.icon-img-left-content .eael-testimonial-content{float:left;width:70%;text-align:left}.icon-img-left-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-left-content .eael-testimonial-quote{position:absolute;right:0}.icon-img-left-content .eael-testimonial-text{margin-top:0}.eael-testimonial-align-centered .eael-testimonial-user,.eael-testimonial-align-centered .eael-testimonial-user-company{float:none;text-align:center}.eael-testimonial-align-centered .eael-testimonial-image>figure img{display:block;margin-left:auto!important;margin-right:auto!important}.icon-img-right-content .eael-testimonial-image{float:right;width:30%}.icon-img-right-content .eael-testimonial-content{float:right;width:70%;text-align:right}.icon-img-right-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-right-content .eael-testimonial-quote{position:absolute}.icon-img-right-content .eael-testimonial-text{margin-top:0}.eael-testimonial-item{position:relative}.classic-style.testimonial-alignment-center .eael-testimonial-image,.default-style.testimonial-alignment-center .eael-testimonial-image{text-align:center}.classic-style.testimonial-alignment-right .eael-testimonial-image,.default-style.testimonial-alignment-right .eael-testimonial-image{text-align:right}.classic-style.testimonial-alignment-center .eael-testimonial-image>figure,.default-style.testimonial-alignment-center .eael-testimonial-image>figure{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}span.eael-testimonial-quote{position:absolute;right:10px;top:10px}.eael-testimonial-item.left .eael-testimonial-image{text-align:left}.eael-testimonial-item.center .eael-testimonial-image{text-align:center}.eael-testimonial-item.right .eael-testimonial-image{text-align:right}.eael-testimonial-inline-bio .eael-testimonial-image{float:left}.eael-testimonial-inline-bio .bio-text{padding-top:10px}.eael-testimonial-content.eael-testimonial-inline-bio{overflow:hidden;margin-bottom:0;padding-bottom:0}.eael-testimonial-inline-bio .bio-text,.eael-testimonial-inline-bio .testimonial-star-rating{float:left;width:65%}.eael-testimonial-content.eael-testimonial-inline-bio{text-align:left!important}.testimonial-inline-style .eael-testimonial-image{float:left;max-width:100%;padding:0;margin-right:15px}.testimonial-inline-style{overflow:hidden;text-align:left}.content-top-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-top-icon-title-inline .eael-testimonial-text{text-align:left}.content-top-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-top-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}.content-bottom-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-bottom-icon-title-inline .eael-testimonial-text{text-align:left}.content-bottom-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-bottom-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}
33
  .eael-tooltip{position:relative;display:inline-block;min-width:150px;text-align:center;padding:12px 24px;font-size:.93rem;color:#333;line-height:1;cursor:pointer;transition:all .3s ease-in-out}.eael-tooltip .eael-tooltip-text{display:block;width:100%;visibility:hidden;background-color:#000;color:#fff;text-align:center;border-radius:4px;padding:10px;position:absolute;z-index:1;font-size:.93rem;line-height:1.3}.eael-tooltip .eael-tooltip-text::after{content:"";position:absolute;border-width:5px;border-style:solid}.eael-tooltip:hover .eael-tooltip-text{visibility:visible}.eael-tooltip .eael-tooltip-text.eael-tooltip-left{top:50%;right:100%;transform:translateY(-50%);margin-right:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left{-webkit-animation:tooltipLeftIn .3s ease-in-out;animation:tooltipLeftIn .3s ease-in-out}.eael-tooltip .eael-tooltip-text.eael-tooltip-left::after{top:calc(50% - 5px);left:100%;border-color:transparent transparent transparent #000}.eael-tooltip .eael-tooltip-text.eael-tooltip-right{top:50%;left:100%;transform:translateY(-50%);transition:all .3s ease-in-out;margin-left:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right{-webkit-animation:tooltipRightIn .3s linear;animation:tooltipRightIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-right::after{top:calc(50% - 5px);right:100%;border-color:transparent #000 transparent transparent}.eael-tooltip .eael-tooltip-text.eael-tooltip-top{bottom:calc(100%);left:0;right:0;margin:0 auto 10px auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-top::after{margin-top:0;top:100%;left:calc(50% - 5px);border-color:#000 transparent transparent transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top{-webkit-animation:tooltipTopIn .3s linear;animation:tooltipTopIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom{top:100%;left:0;right:0;margin:10px auto 0 auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom::after{margin-top:0;bottom:100%;left:calc(50% - 5px);border-color:transparent transparent #000 transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom{-webkit-animation:tooltipBottomIn .3s linear;animation:tooltipBottomIn .3s linear}.eael-tooltip-align-left{display:flex;width:100%;justify-content:flex-start}.eael-tooltip-align-right{display:flex;width:100%;justify-content:flex-end}.eael-tooltip-align-center{display:flex;width:100%;justify-content:center}.eael-tooltip-align-justify .eael-tooltip{display:flex;justify-content:center;align-items:center}@-webkit-keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@-webkit-keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@-webkit-keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@-webkit-keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}@keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}
34
+ .eael-twitter-feed::after,.eael-twitter-feed::before{content:"";clear:both}.eael-twitter-feed-masonry .eael-twitter-feed-item{float:left}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-2 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-3 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-4 .eael-twitter-feed-item{width:100%!important}}.eael-twitter-feed-item .eael-twitter-feed-item-inner{background:#fff;border:1px solid rgba(0,0,0,.1)}.eael-twitter-feed-item a{color:#08c;text-decoration:none}.eael-twitter-feed-item a:hover{outline:0;color:#005580}.eael-twitter-feed-item a:focus{outline:0}.eael-twitter-feed-item .eael-twitter-feed-item-header{padding:20px 15px 0;margin-bottom:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar{float:left;width:38px;margin-right:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar.avatar-circle img{border-radius:50%}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta{float:left}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-icon{color:#1da1f2;margin-right:5px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-author{color:#444;line-height:1.5em;font-weight:700}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-date{float:right;margin-right:10px;font-size:90%;color:#999}.eael-twitter-feed-item .eael-twitter-feed-item-content{padding:0 15px 15px}.eael-twitter-feed-item .eael-twitter-feed-item-content p{color:#666;margin:0 0 5px;min-height:20px;text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical}.eael-twitter-feed.swiper-container .swiper-button-next,.eael-twitter-feed.swiper-container .swiper-button-prev{background-image:none;outline:0}
35
  .eael-weform-container input,.eael-weform-container textarea{height:auto;padding:10px}.eael-contact-form-align-center .eael-weform-container,.eael-contact-form-btn-align-center .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-align-left .eael-weform-container,.eael-contact-form-btn-align-left .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:left;width:auto}.eael-contact-form-align-right .eael-weform-container,.eael-contact-form-btn-align-right .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:right;width:auto}.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=email],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=number],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=password],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=text],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=url],.eael-weform-container ul.wpuf-form li .wpuf-fields textarea{max-width:100%}
36
  .eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.eael-wpforms .wpforms-container .wpforms-form button[type=submit],.eael-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.eael-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.eael-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.eael-wpforms .wpforms-container .wpforms-form input[type=checkbox],.eael-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.eael-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.eael-wpforms .wpforms-container .wpforms-field select,.eael-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.eael-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.eael-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}
37
  .tooltipster-fall,.tooltipster-grow.tooltipster-show{-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-base{display:flex;pointer-events:none;position:absolute}.tooltipster-box{flex:1 1 auto}.tooltipster-content{box-sizing:border-box;max-height:100%;max-width:100%;overflow:auto}.tooltipster-ruler{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden}.tooltipster-fade{opacity:0;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;-ms-transition-property:opacity;transition-property:opacity}.tooltipster-fade.tooltipster-show{opacity:1}.tooltipster-grow{-webkit-transform:scale(0,0);-moz-transform:scale(0,0);-o-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-backface-visibility:hidden}.tooltipster-grow.tooltipster-show{-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-o-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-swing{opacity:0;-webkit-transform:rotateZ(4deg);-moz-transform:rotateZ(4deg);-o-transform:rotateZ(4deg);-ms-transform:rotateZ(4deg);transform:rotateZ(4deg);-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform}.tooltipster-swing.tooltipster-show{opacity:1;-webkit-transform:rotateZ(0);-moz-transform:rotateZ(0);-o-transform:rotateZ(0);-ms-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,1);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-moz-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-ms-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-o-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);transition-timing-function:cubic-bezier(.23,.635,.495,2.4)}.tooltipster-fall{-webkit-transition-property:top;-moz-transition-property:top;-o-transition-property:top;-ms-transition-property:top;transition-property:top;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-fall.tooltipster-initial{top:0!important}.tooltipster-fall.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;top:0!important;opacity:0}.tooltipster-slide{-webkit-transition-property:left;-moz-transition-property:left;-o-transition-property:left;-ms-transition-property:left;transition-property:left;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-slide.tooltipster-initial{left:-40px!important}.tooltipster-slide.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;left:0!important;opacity:0}@keyframes tooltipster-fading{0%{opacity:0}100%{opacity:1}}.tooltipster-update-fade{animation:tooltipster-fading .4s}@keyframes tooltipster-rotating{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}100%{transform:rotate(0)}}.tooltipster-update-rotate{animation:tooltipster-rotating .6s}@keyframes tooltipster-scaling{50%{transform:scale(1.1)}100%{transform:scale(1)}}.tooltipster-update-scale{animation:tooltipster-scaling .6s}.tooltipster-sidetip .tooltipster-box{background:#565656;border:2px solid #000;border-radius:4px}.tooltipster-sidetip.tooltipster-bottom .tooltipster-box{margin-top:8px}.tooltipster-sidetip.tooltipster-left .tooltipster-box{margin-right:8px}.tooltipster-sidetip.tooltipster-right .tooltipster-box{margin-left:8px}.tooltipster-sidetip.tooltipster-top .tooltipster-box{margin-bottom:8px}.tooltipster-sidetip .tooltipster-content{color:#fff;line-height:18px;padding:6px 14px}.tooltipster-sidetip .tooltipster-arrow{overflow:hidden;position:absolute}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{height:10px;margin-left:-10px;top:0;width:20px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow{height:20px;margin-top:-10px;right:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow{height:20px;margin-top:-10px;left:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow{bottom:0;height:10px;margin-left:-10px;width:20px}.tooltipster-sidetip .tooltipster-arrow-background,.tooltipster-sidetip .tooltipster-arrow-border{height:0;position:absolute;width:0}.tooltipster-sidetip .tooltipster-arrow-background{border:10px solid transparent}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#565656;left:0;top:3px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background{border-left-color:#565656;left:-3px;top:0}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background{border-right-color:#565656;left:3px;top:0}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background{border-top-color:#565656;left:0;top:-3px}.tooltipster-sidetip .tooltipster-arrow-border{border:10px solid transparent;left:0;top:0}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#000}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border{border-left-color:#000}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border{border-right-color:#000}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border{border-top-color:#000}.tooltipster-sidetip .tooltipster-arrow-uncropped{position:relative}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped{top:-10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped{left:-10px}
assets/front-end/css/general/index.css CHANGED
@@ -24,72 +24,6 @@
24
  padding-top: 40px;
25
  }
26
 
27
- /*----------------------------*/
28
- /* 28. Swiper
29
- /*----------------------------*/
30
- .swiper-container-wrap .swiper-slide,
31
- .swiper-container .swiper-slide {
32
- text-align: center;
33
- }
34
-
35
- .swiper-container-wrap .swiper-slide img,
36
- .swiper-container .swiper-slide img {
37
- width: auto;
38
- }
39
-
40
- .swiper-container-wrap-dots-outside .swiper-pagination,
41
- .swiper-container-dots-outside .swiper-pagination {
42
- position: static;
43
- }
44
-
45
- .swiper-container-wrap .swiper-button-next,
46
- .swiper-container-wrap .swiper-button-prev,
47
- .swiper-container .swiper-button-next,
48
- .swiper-container .swiper-button-prev {
49
- background: transparent;
50
- font-size: 20px;
51
- height: auto;
52
- line-height: 1;
53
- margin: 0;
54
- text-align: center;
55
- transform: translateY(-50%);
56
- width: auto;
57
- }
58
-
59
- .swiper-container-wrap .swiper-button-next .fa,
60
- .swiper-container-wrap .swiper-button-prev .fa,
61
- .swiper-container .swiper-button-next .fa,
62
- .swiper-container .swiper-button-prev .fa {
63
- vertical-align: top;
64
- }
65
-
66
- .swiper-container-wrap .swiper-pagination {
67
- bottom: 10px;
68
- left: 0;
69
- width: 100%;
70
- }
71
-
72
- .swiper-container-wrap-dots-outside .swiper-pagination {
73
- position: static;
74
- }
75
-
76
- .swiper-container-wrap .swiper-pagination-bullet {
77
- background: #ccc;
78
- margin: 0 4px;
79
- opacity: 1;
80
- height: 8px;
81
- width: 8px;
82
- }
83
-
84
- .swiper-container-wrap .swiper-pagination-bullet-active {
85
- background: #000;
86
- }
87
-
88
- .swiper-container-3d .swiper-slide {
89
- transition-property: all;
90
- -webkit-transition-property: all;
91
- }
92
-
93
  /*--------------------------------*/
94
  /* 10. Contact forms common
95
  /*--------------------------------*/
24
  padding-top: 40px;
25
  }
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  /*--------------------------------*/
28
  /* 10. Contact forms common
29
  /*--------------------------------*/
assets/front-end/css/general/index.min.css CHANGED
@@ -1 +1 @@
1
- .clearfix::after,.clearfix::before{content:" ";display:table;clear:both}.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right{padding-top:40px}.swiper-container .swiper-slide,.swiper-container-wrap .swiper-slide{text-align:center}.swiper-container .swiper-slide img,.swiper-container-wrap .swiper-slide img{width:auto}.swiper-container-dots-outside .swiper-pagination,.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev,.swiper-container-wrap .swiper-button-next,.swiper-container-wrap .swiper-button-prev{background:0 0;font-size:20px;height:auto;line-height:1;margin:0;text-align:center;transform:translateY(-50%);width:auto}.swiper-container .swiper-button-next .fa,.swiper-container .swiper-button-prev .fa,.swiper-container-wrap .swiper-button-next .fa,.swiper-container-wrap .swiper-button-prev .fa{vertical-align:top}.swiper-container-wrap .swiper-pagination{bottom:10px;left:0;width:100%}.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container-wrap .swiper-pagination-bullet{background:#ccc;margin:0 4px;opacity:1;height:8px;width:8px}.swiper-container-wrap .swiper-pagination-bullet-active{background:#000}.swiper-container-3d .swiper-slide{transition-property:all;-webkit-transition-property:all}.eael-contact-form input[type=date],.eael-contact-form input[type=email],.eael-contact-form input[type=number],.eael-contact-form input[type=tel],.eael-contact-form input[type=text],.eael-contact-form input[type=url],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;transition:all .3s ease-in-out;display:inline-block}
1
+ .clearfix::after,.clearfix::before{content:" ";display:table;clear:both}.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right{padding-top:40px}.eael-contact-form input[type=date],.eael-contact-form input[type=email],.eael-contact-form input[type=number],.eael-contact-form input[type=tel],.eael-contact-form input[type=text],.eael-contact-form input[type=url],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;transition:all .3s ease-in-out;display:inline-block}
assets/front-end/css/twitter-feed/index.css CHANGED
@@ -84,3 +84,8 @@
84
  -webkit-line-clamp: 5;
85
  -webkit-box-orient: vertical;
86
  }
 
 
 
 
 
84
  -webkit-line-clamp: 5;
85
  -webkit-box-orient: vertical;
86
  }
87
+
88
+ .eael-twitter-feed.swiper-container .swiper-button-next, .eael-twitter-feed.swiper-container .swiper-button-prev {
89
+ background-image: none;
90
+ outline: none;
91
+ }
assets/front-end/css/twitter-feed/index.min.css CHANGED
@@ -1 +1 @@
1
- .eael-twitter-feed::after,.eael-twitter-feed::before{content:"";clear:both}.eael-twitter-feed-masonry .eael-twitter-feed-item{float:left}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-2 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-3 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-4 .eael-twitter-feed-item{width:100%!important}}.eael-twitter-feed-item .eael-twitter-feed-item-inner{background:#fff;border:1px solid rgba(0,0,0,.1)}.eael-twitter-feed-item a{color:#08c;text-decoration:none}.eael-twitter-feed-item a:hover{outline:0;color:#005580}.eael-twitter-feed-item a:focus{outline:0}.eael-twitter-feed-item .eael-twitter-feed-item-header{padding:20px 15px 0;margin-bottom:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar{float:left;width:38px;margin-right:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar.avatar-circle img{border-radius:50%}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta{float:left}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-icon{color:#1da1f2;margin-right:5px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-author{color:#444;line-height:1.5em;font-weight:700}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-date{float:right;margin-right:10px;font-size:90%;color:#999}.eael-twitter-feed-item .eael-twitter-feed-item-content{padding:0 15px 15px}.eael-twitter-feed-item .eael-twitter-feed-item-content p{color:#666;margin:0 0 5px;min-height:20px;text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical}
1
+ .eael-twitter-feed::after,.eael-twitter-feed::before{content:"";clear:both}.eael-twitter-feed-masonry .eael-twitter-feed-item{float:left}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-2 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-3 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-4 .eael-twitter-feed-item{width:100%!important}}.eael-twitter-feed-item .eael-twitter-feed-item-inner{background:#fff;border:1px solid rgba(0,0,0,.1)}.eael-twitter-feed-item a{color:#08c;text-decoration:none}.eael-twitter-feed-item a:hover{outline:0;color:#005580}.eael-twitter-feed-item a:focus{outline:0}.eael-twitter-feed-item .eael-twitter-feed-item-header{padding:20px 15px 0;margin-bottom:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar{float:left;width:38px;margin-right:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar.avatar-circle img{border-radius:50%}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta{float:left}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-icon{color:#1da1f2;margin-right:5px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-author{color:#444;line-height:1.5em;font-weight:700}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-date{float:right;margin-right:10px;font-size:90%;color:#999}.eael-twitter-feed-item .eael-twitter-feed-item-content{padding:0 15px 15px}.eael-twitter-feed-item .eael-twitter-feed-item-content p{color:#666;margin:0 0 5px;min-height:20px;text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical}.eael-twitter-feed.swiper-container .swiper-button-next,.eael-twitter-feed.swiper-container .swiper-button-prev{background-image:none;outline:0}
assets/front-end/js/eael.js CHANGED
@@ -144,4463 +144,506 @@ return /******/ (function(modules) { // webpackBootstrap
144
  /* 0 */
145
  /***/ (function(module, exports, __webpack_require__) {
146
 
147
- update: function () {
148
- if (--this.seconds >= 0) {
149
- this.output("seconds");
150
- } else {
151
- this.seconds = 59;
152
-
153
- if (--this.minutes >= 0) {
154
- this.output("minutes");
155
- } else {
156
- this.minutes = 59;
157
-
158
- if (--this.hours >= 0) {
159
- this.output("hours");
160
- } else {
161
- this.hours = 23;
162
-
163
- if (--this.days >= 0) {
164
- this.output("days");
165
- } else {
166
- this.end();
167
- }
168
- }
169
- }
170
- }
171
- },
172
-
173
- output: function (type) {
174
- if (!this.found) {
175
- this.$element.empty().html(this.template());
176
- return;
177
- }
178
-
179
- switch (type) {
180
- case "deciseconds":
181
- this.$seconds.text(this.getSecondsText());
182
- break;
183
-
184
- case "seconds":
185
- this.$seconds.text(this.seconds);
186
- break;
187
-
188
- case "minutes":
189
- this.$minutes.text(this.minutes);
190
- break;
191
-
192
- case "hours":
193
- this.$hours.text(this.hours);
194
- break;
195
-
196
- case "days":
197
- this.$days.text(this.days);
198
- break;
199
-
200
- // No default
201
- }
202
- },
203
-
204
- template: function () {
205
- return this.defaults.text
206
- .replace("%s", this.days)
207
- .replace("%s", this.hours)
208
- .replace("%s", this.minutes)
209
- .replace("%s", this.getSecondsText());
210
- },
211
-
212
- getSecondsText: function () {
213
- return this.active && this.defaults.fast ? (this.seconds + "." + this.deciseconds) : this.seconds;
214
- }
215
- };
216
-
217
- // Default settings
218
- Countdown.defaults = {
219
- autoStart: true,
220
- date: null,
221
- fast: false,
222
- end: $.noop,
223
- text: "%s days, %s hours, %s minutes, %s seconds"
224
- };
225
-
226
- // Set default settings
227
- Countdown.setDefaults = function (options) {
228
- $.extend(Countdown.defaults, options);
229
- };
230
-
231
- // Register as jQuery plugin
232
- $.fn.countdown = function (options) {
233
- return this.each(function () {
234
- var $this = $(this),
235
- data = $this.data("countdown");
236
-
237
- if (!data) {
238
- $this.data("countdown", (data = new Countdown(this, options)));
239
- }
240
-
241
- if (typeof options === "string" && $.isFunction(data[options])) {
242
- data[options]();
243
- }
244
- });
245
- };
246
-
247
- $.fn.countdown.constructor = Countdown;
248
- $.fn.countdown.setDefaults = Countdown.setDefaults;
249
-
250
- $(function () {
251
- $("[countdown]").countdown();
252
- });
253
-
254
- });
255
-
256
- /*!
257
- * imagesLoaded PACKAGED v4.1.4
258
- * JavaScript is all like "You images are done yet or what?"
259
- * MIT License
260
- */
261
-
262
- /**
263
- * EvEmitter v1.1.0
264
- * Lil' event emitter
265
- * MIT License
266
- */
267
-
268
- /* jshint unused: true, undef: true, strict: true */
269
-
270
- ( function( global, factory ) {
271
- // universal module definition
272
- /* jshint strict: false */ /* globals define, module, window */
273
- if ( typeof define == 'function' && define.amd ) {
274
- // AMD - RequireJS
275
- define( 'ev-emitter/ev-emitter',factory );
276
- } else if ( typeof module == 'object' && module.exports ) {
277
- // CommonJS - Browserify, Webpack
278
- module.exports = factory();
279
- } else {
280
- // Browser globals
281
- global.EvEmitter = factory();
282
- }
283
-
284
- }( typeof window != 'undefined' ? window : this, function() {
285
-
286
-
287
-
288
- function EvEmitter() {}
289
-
290
- var proto = EvEmitter.prototype;
291
-
292
- proto.on = function( eventName, listener ) {
293
- if ( !eventName || !listener ) {
294
- return;
295
- }
296
- // set events hash
297
- var events = this._events = this._events || {};
298
- // set listeners array
299
- var listeners = events[ eventName ] = events[ eventName ] || [];
300
- // only add once
301
- if ( listeners.indexOf( listener ) == -1 ) {
302
- listeners.push( listener );
303
- }
304
-
305
- return this;
306
- };
307
-
308
- proto.once = function( eventName, listener ) {
309
- if ( !eventName || !listener ) {
310
- return;
311
- }
312
- // add event
313
- this.on( eventName, listener );
314
- // set once flag
315
- // set onceEvents hash
316
- var onceEvents = this._onceEvents = this._onceEvents || {};
317
- // set onceListeners object
318
- var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
319
- // set flag
320
- onceListeners[ listener ] = true;
321
-
322
- return this;
323
- };
324
-
325
- proto.off = function( eventName, listener ) {
326
- var listeners = this._events && this._events[ eventName ];
327
- if ( !listeners || !listeners.length ) {
328
- return;
329
- }
330
- var index = listeners.indexOf( listener );
331
- if ( index != -1 ) {
332
- listeners.splice( index, 1 );
333
- }
334
-
335
- return this;
336
- };
337
-
338
- proto.emitEvent = function( eventName, args ) {
339
- var listeners = this._events && this._events[ eventName ];
340
- if ( !listeners || !listeners.length ) {
341
- return;
342
- }
343
- // copy over to avoid interference if .off() in listener
344
- listeners = listeners.slice(0);
345
- args = args || [];
346
- // once stuff
347
- var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
348
-
349
- for ( var i=0; i < listeners.length; i++ ) {
350
- var listener = listeners[i]
351
- var isOnce = onceListeners && onceListeners[ listener ];
352
- if ( isOnce ) {
353
- // remove listener
354
- // remove before trigger to prevent recursion
355
- this.off( eventName, listener );
356
- // unset once flag
357
- delete onceListeners[ listener ];
358
- }
359
- // trigger listener
360
- listener.apply( this, args );
361
- }
362
-
363
- return this;
364
- };
365
-
366
- proto.allOff = function() {
367
- delete this._events;
368
- delete this._onceEvents;
369
- };
370
-
371
- return EvEmitter;
372
-
373
- }));
374
-
375
- /*!
376
- * imagesLoaded v4.1.4
377
- * JavaScript is all like "You images are done yet or what?"
378
- * MIT License
379
- */
380
-
381
- ( function( window, factory ) { 'use strict';
382
- // universal module definition
383
-
384
- /*global define: false, module: false, require: false */
385
-
386
- if ( typeof define == 'function' && define.amd ) {
387
- // AMD
388
- define( [
389
- 'ev-emitter/ev-emitter'
390
- ], function( EvEmitter ) {
391
- return factory( window, EvEmitter );
392
- });
393
- } else if ( typeof module == 'object' && module.exports ) {
394
- // CommonJS
395
- module.exports = factory(
396
- window,
397
- require('ev-emitter')
398
- );
399
- } else {
400
- // browser global
401
- window.imagesLoaded = factory(
402
- window,
403
- window.EvEmitter
404
- );
405
- }
406
-
407
- })( typeof window !== 'undefined' ? window : this,
408
-
409
- // -------------------------- factory -------------------------- //
410
-
411
- function factory( window, EvEmitter ) {
412
-
413
-
414
-
415
- var $ = window.jQuery;
416
- var console = window.console;
417
-
418
- // -------------------------- helpers -------------------------- //
419
-
420
- // extend objects
421
- function extend( a, b ) {
422
- for ( var prop in b ) {
423
- a[ prop ] = b[ prop ];
424
- }
425
- return a;
426
- }
427
-
428
- var arraySlice = Array.prototype.slice;
429
-
430
- // turn element or nodeList into an array
431
- function makeArray( obj ) {
432
- if ( Array.isArray( obj ) ) {
433
- // use object if already an array
434
- return obj;
435
- }
436
-
437
- var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
438
- if ( isArrayLike ) {
439
- // convert nodeList to array
440
- return arraySlice.call( obj );
441
- }
442
-
443
- // array of single index
444
- return [ obj ];
445
- }
446
-
447
- // -------------------------- imagesLoaded -------------------------- //
448
-
449
- /**
450
- * @param {Array, Element, NodeList, String} elem
451
- * @param {Object or Function} options - if function, use as callback
452
- * @param {Function} onAlways - callback function
453
- */
454
- function ImagesLoaded( elem, options, onAlways ) {
455
- // coerce ImagesLoaded() without new, to be new ImagesLoaded()
456
- if ( !( this instanceof ImagesLoaded ) ) {
457
- return new ImagesLoaded( elem, options, onAlways );
458
- }
459
- // use elem as selector string
460
- var queryElem = elem;
461
- if ( typeof elem == 'string' ) {
462
- queryElem = document.querySelectorAll( elem );
463
- }
464
- // bail if bad element
465
- if ( !queryElem ) {
466
- console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) );
467
- return;
468
- }
469
-
470
- this.elements = makeArray( queryElem );
471
- this.options = extend( {}, this.options );
472
- // shift arguments if no options set
473
- if ( typeof options == 'function' ) {
474
- onAlways = options;
475
- } else {
476
- extend( this.options, options );
477
- }
478
-
479
- if ( onAlways ) {
480
- this.on( 'always', onAlways );
481
- }
482
-
483
- this.getImages();
484
-
485
- if ( $ ) {
486
- // add jQuery Deferred object
487
- this.jqDeferred = new $.Deferred();
488
- }
489
-
490
- // HACK check async to allow time to bind listeners
491
- setTimeout( this.check.bind( this ) );
492
- }
493
-
494
- ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
495
-
496
- ImagesLoaded.prototype.options = {};
497
-
498
- ImagesLoaded.prototype.getImages = function() {
499
- this.images = [];
500
-
501
- // filter & find items if we have an item selector
502
- this.elements.forEach( this.addElementImages, this );
503
- };
504
-
505
- /**
506
- * @param {Node} element
507
- */
508
- ImagesLoaded.prototype.addElementImages = function( elem ) {
509
- // filter siblings
510
- if ( elem.nodeName == 'IMG' ) {
511
- this.addImage( elem );
512
- }
513
- // get background image on element
514
- if ( this.options.background === true ) {
515
- this.addElementBackgroundImages( elem );
516
- }
517
-
518
- // find children
519
- // no non-element nodes, #143
520
- var nodeType = elem.nodeType;
521
- if ( !nodeType || !elementNodeTypes[ nodeType ] ) {
522
- return;
523
- }
524
- var childImgs = elem.querySelectorAll('img');
525
- // concat childElems to filterFound array
526
- for ( var i=0; i < childImgs.length; i++ ) {
527
- var img = childImgs[i];
528
- this.addImage( img );
529
- }
530
-
531
- // get child background images
532
- if ( typeof this.options.background == 'string' ) {
533
- var children = elem.querySelectorAll( this.options.background );
534
- for ( i=0; i < children.length; i++ ) {
535
- var child = children[i];
536
- this.addElementBackgroundImages( child );
537
- }
538
- }
539
- };
540
-
541
- var elementNodeTypes = {
542
- 1: true,
543
- 9: true,
544
- 11: true
545
- };
546
-
547
- ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
548
- var style = getComputedStyle( elem );
549
- if ( !style ) {
550
- // Firefox returns null if in a hidden iframe https://bugzil.la/548397
551
- return;
552
- }
553
- // get url inside url("...")
554
- var reURL = /url\((['"])?(.*?)\1\)/gi;
555
- var matches = reURL.exec( style.backgroundImage );
556
- while ( matches !== null ) {
557
- var url = matches && matches[2];
558
- if ( url ) {
559
- this.addBackground( url, elem );
560
- }
561
- matches = reURL.exec( style.backgroundImage );
562
- }
563
- };
564
-
565
- /**
566
- * @param {Image} img
567
- */
568
- ImagesLoaded.prototype.addImage = function( img ) {
569
- var loadingImage = new LoadingImage( img );
570
- this.images.push( loadingImage );
571
- };
572
-
573
- ImagesLoaded.prototype.addBackground = function( url, elem ) {
574
- var background = new Background( url, elem );
575
- this.images.push( background );
576
- };
577
-
578
- ImagesLoaded.prototype.check = function() {
579
- var _this = this;
580
- this.progressedCount = 0;
581
- this.hasAnyBroken = false;
582
- // complete if no images
583
- if ( !this.images.length ) {
584
- this.complete();
585
- return;
586
- }
587
-
588
- function onProgress( image, elem, message ) {
589
- // HACK - Chrome triggers event before object properties have changed. #83
590
- setTimeout( function() {
591
- _this.progress( image, elem, message );
592
- });
593
- }
594
-
595
- this.images.forEach( function( loadingImage ) {
596
- loadingImage.once( 'progress', onProgress );
597
- loadingImage.check();
598
- });
599
- };
600
-
601
- ImagesLoaded.prototype.progress = function( image, elem, message ) {
602
- this.progressedCount++;
603
- this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
604
- // progress event
605
- this.emitEvent( 'progress', [ this, image, elem ] );
606
- if ( this.jqDeferred && this.jqDeferred.notify ) {
607
- this.jqDeferred.notify( this, image );
608
- }
609
- // check if completed
610
- if ( this.progressedCount == this.images.length ) {
611
- this.complete();
612
- }
613
-
614
- if ( this.options.debug && console ) {
615
- console.log( 'progress: ' + message, image, elem );
616
- }
617
- };
618
-
619
- ImagesLoaded.prototype.complete = function() {
620
- var eventName = this.hasAnyBroken ? 'fail' : 'done';
621
- this.isComplete = true;
622
- this.emitEvent( eventName, [ this ] );
623
- this.emitEvent( 'always', [ this ] );
624
- if ( this.jqDeferred ) {
625
- var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
626
- this.jqDeferred[ jqMethod ]( this );
627
- }
628
- };
629
-
630
- // -------------------------- -------------------------- //
631
-
632
- function LoadingImage( img ) {
633
- this.img = img;
634
- }
635
-
636
- LoadingImage.prototype = Object.create( EvEmitter.prototype );
637
-
638
- LoadingImage.prototype.check = function() {
639
- // If complete is true and browser supports natural sizes,
640
- // try to check for image status manually.
641
- var isComplete = this.getIsImageComplete();
642
- if ( isComplete ) {
643
- // report based on naturalWidth
644
- this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
645
- return;
646
- }
647
-
648
- // If none of the checks above matched, simulate loading on detached element.
649
- this.proxyImage = new Image();
650
- this.proxyImage.addEventListener( 'load', this );
651
- this.proxyImage.addEventListener( 'error', this );
652
- // bind to image as well for Firefox. #191
653
- this.img.addEventListener( 'load', this );
654
- this.img.addEventListener( 'error', this );
655
- this.proxyImage.src = this.img.src;
656
- };
657
-
658
- LoadingImage.prototype.getIsImageComplete = function() {
659
- // check for non-zero, non-undefined naturalWidth
660
- // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671
661
- return this.img.complete && this.img.naturalWidth;
662
- };
663
-
664
- LoadingImage.prototype.confirm = function( isLoaded, message ) {
665
- this.isLoaded = isLoaded;
666
- this.emitEvent( 'progress', [ this, this.img, message ] );
667
- };
668
-
669
- // ----- events ----- //
670
-
671
- // trigger specified handler for event type
672
- LoadingImage.prototype.handleEvent = function( event ) {
673
- var method = 'on' + event.type;
674
- if ( this[ method ] ) {
675
- this[ method ]( event );
676
- }
677
- };
678
-
679
- LoadingImage.prototype.onload = function() {
680
- this.confirm( true, 'onload' );
681
- this.unbindEvents();
682
- };
683
-
684
- LoadingImage.prototype.onerror = function() {
685
- this.confirm( false, 'onerror' );
686
- this.unbindEvents();
687
- };
688
-
689
- LoadingImage.prototype.unbindEvents = function() {
690
- this.proxyImage.removeEventListener( 'load', this );
691
- this.proxyImage.removeEventListener( 'error', this );
692
- this.img.removeEventListener( 'load', this );
693
- this.img.removeEventListener( 'error', this );
694
- };
695
-
696
- // -------------------------- Background -------------------------- //
697
-
698
- function Background( url, element ) {
699
- this.url = url;
700
- this.element = element;
701
- this.img = new Image();
702
- }
703
-
704
- // inherit LoadingImage prototype
705
- Background.prototype = Object.create( LoadingImage.prototype );
706
-
707
- Background.prototype.check = function() {
708
- this.img.addEventListener( 'load', this );
709
- this.img.addEventListener( 'error', this );
710
- this.img.src = this.url;
711
- // check if image is already complete
712
- var isComplete = this.getIsImageComplete();
713
- if ( isComplete ) {
714
- this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
715
- this.unbindEvents();
716
- }
717
- };
718
-
719
- Background.prototype.unbindEvents = function() {
720
- this.img.removeEventListener( 'load', this );
721
- this.img.removeEventListener( 'error', this );
722
- };
723
-
724
- Background.prototype.confirm = function( isLoaded, message ) {
725
- this.isLoaded = isLoaded;
726
- this.emitEvent( 'progress', [ this, this.element, message ] );
727
- };
728
-
729
- // -------------------------- jQuery -------------------------- //
730
-
731
- ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
732
- jQuery = jQuery || window.jQuery;
733
- if ( !jQuery ) {
734
- return;
735
- }
736
- // set local variable
737
- $ = jQuery;
738
- // $().imagesLoaded()
739
- $.fn.imagesLoaded = function( options, callback ) {
740
- var instance = new ImagesLoaded( this, options, callback );
741
- return instance.jqDeferred.promise( $(this) );
742
- };
743
- };
744
- // try making plugin
745
- ImagesLoaded.makeJQueryPlugin();
746
-
747
- // -------------------------- -------------------------- //
748
-
749
- return ImagesLoaded;
750
-
751
- });
752
-
753
-
754
- /*!
755
- * Isotope PACKAGED v3.0.6
756
- *
757
- * Licensed GPLv3 for open source use
758
- * or Isotope Commercial License for commercial use
759
- *
760
- * https://isotope.metafizzy.co
761
- * Copyright 2010-2018 Metafizzy
762
- */
763
-
764
- /**
765
- * Bridget makes jQuery widgets
766
- * v2.0.1
767
- * MIT license
768
- */
769
-
770
- /* jshint browser: true, strict: true, undef: true, unused: true */
771
-
772
- ( function( window, factory ) {
773
- // universal module definition
774
- /*jshint strict: false */ /* globals define, module, require */
775
- if ( typeof define == 'function' && define.amd ) {
776
- // AMD
777
- define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
778
- return factory( window, jQuery );
779
- });
780
- } else if ( typeof module == 'object' && module.exports ) {
781
- // CommonJS
782
- module.exports = factory(
783
- window,
784
- require('jquery')
785
- );
786
- } else {
787
- // browser global
788
- window.jQueryBridget = factory(
789
- window,
790
- window.jQuery
791
- );
792
- }
793
-
794
- }( window, function factory( window, jQuery ) {
795
- 'use strict';
796
-
797
- // ----- utils ----- //
798
-
799
- var arraySlice = Array.prototype.slice;
800
-
801
- // helper function for logging errors
802
- // $.error breaks jQuery chaining
803
- var console = window.console;
804
- var logError = typeof console == 'undefined' ? function() {} :
805
- function( message ) {
806
- console.error( message );
807
- };
808
-
809
- // ----- jQueryBridget ----- //
810
-
811
- function jQueryBridget( namespace, PluginClass, $ ) {
812
- $ = $ || jQuery || window.jQuery;
813
- if ( !$ ) {
814
- return;
815
- }
816
-
817
- // add option method -> $().plugin('option', {...})
818
- if ( !PluginClass.prototype.option ) {
819
- // option setter
820
- PluginClass.prototype.option = function( opts ) {
821
- // bail out if not an object
822
- if ( !$.isPlainObject( opts ) ){
823
- return;
824
- }
825
- this.options = $.extend( true, this.options, opts );
826
- };
827
- }
828
-
829
- // make jQuery plugin
830
- $.fn[ namespace ] = function( arg0 /*, arg1 */ ) {
831
- if ( typeof arg0 == 'string' ) {
832
- // method call $().plugin( 'methodName', { options } )
833
- // shift arguments by 1
834
- var args = arraySlice.call( arguments, 1 );
835
- return methodCall( this, arg0, args );
836
- }
837
- // just $().plugin({ options })
838
- plainCall( this, arg0 );
839
- return this;
840
- };
841
-
842
- // $().plugin('methodName')
843
- function methodCall( $elems, methodName, args ) {
844
- var returnValue;
845
- var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
846
-
847
- $elems.each( function( i, elem ) {
848
- // get instance
849
- var instance = $.data( elem, namespace );
850
- if ( !instance ) {
851
- logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
852
- pluginMethodStr );
853
- return;
854
- }
855
-
856
- var method = instance[ methodName ];
857
- if ( !method || methodName.charAt(0) == '_' ) {
858
- logError( pluginMethodStr + ' is not a valid method' );
859
- return;
860
- }
861
-
862
- // apply method, get return value
863
- var value = method.apply( instance, args );
864
- // set return value if value is returned, use only first value
865
- returnValue = returnValue === undefined ? value : returnValue;
866
- });
867
-
868
- return returnValue !== undefined ? returnValue : $elems;
869
- }
870
-
871
- function plainCall( $elems, options ) {
872
- $elems.each( function( i, elem ) {
873
- var instance = $.data( elem, namespace );
874
- if ( instance ) {
875
- // set options & init
876
- instance.option( options );
877
- instance._init();
878
- } else {
879
- // initialize new instance
880
- instance = new PluginClass( elem, options );
881
- $.data( elem, namespace, instance );
882
- }
883
- });
884
- }
885
-
886
- updateJQuery( $ );
887
-
888
- }
889
-
890
- // ----- updateJQuery ----- //
891
-
892
- // set $.bridget for v1 backwards compatibility
893
- function updateJQuery( $ ) {
894
- if ( !$ || ( $ && $.bridget ) ) {
895
- return;
896
- }
897
- $.bridget = jQueryBridget;
898
- }
899
-
900
- updateJQuery( jQuery || window.jQuery );
901
-
902
- // ----- ----- //
903
-
904
- return jQueryBridget;
905
-
906
- }));
907
-
908
- /**
909
- * EvEmitter v1.1.0
910
- * Lil' event emitter
911
- * MIT License
912
- */
913
-
914
- /* jshint unused: true, undef: true, strict: true */
915
-
916
- ( function( global, factory ) {
917
- // universal module definition
918
- /* jshint strict: false */ /* globals define, module, window */
919
- if ( typeof define == 'function' && define.amd ) {
920
- // AMD - RequireJS
921
- define( 'ev-emitter/ev-emitter',factory );
922
- } else if ( typeof module == 'object' && module.exports ) {
923
- // CommonJS - Browserify, Webpack
924
- module.exports = factory();
925
- } else {
926
- // Browser globals
927
- global.EvEmitter = factory();
928
- }
929
-
930
- }( typeof window != 'undefined' ? window : this, function() {
931
-
932
-
933
-
934
- function EvEmitter() {}
935
-
936
- var proto = EvEmitter.prototype;
937
-
938
- proto.on = function( eventName, listener ) {
939
- if ( !eventName || !listener ) {
940
- return;
941
- }
942
- // set events hash
943
- var events = this._events = this._events || {};
944
- // set listeners array
945
- var listeners = events[ eventName ] = events[ eventName ] || [];
946
- // only add once
947
- if ( listeners.indexOf( listener ) == -1 ) {
948
- listeners.push( listener );
949
- }
950
-
951
- return this;
952
- };
953
-
954
- proto.once = function( eventName, listener ) {
955
- if ( !eventName || !listener ) {
956
- return;
957
- }
958
- // add event
959
- this.on( eventName, listener );
960
- // set once flag
961
- // set onceEvents hash
962
- var onceEvents = this._onceEvents = this._onceEvents || {};
963
- // set onceListeners object
964
- var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
965
- // set flag
966
- onceListeners[ listener ] = true;
967
-
968
- return this;
969
- };
970
-
971
- proto.off = function( eventName, listener ) {
972
- var listeners = this._events && this._events[ eventName ];
973
- if ( !listeners || !listeners.length ) {
974
- return;
975
- }
976
- var index = listeners.indexOf( listener );
977
- if ( index != -1 ) {
978
- listeners.splice( index, 1 );
979
- }
980
-
981
- return this;
982
- };
983
-
984
- proto.emitEvent = function( eventName, args ) {
985
- var listeners = this._events && this._events[ eventName ];
986
- if ( !listeners || !listeners.length ) {
987
- return;
988
- }
989
- // copy over to avoid interference if .off() in listener
990
- listeners = listeners.slice(0);
991
- args = args || [];
992
- // once stuff
993
- var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
994
-
995
- for ( var i=0; i < listeners.length; i++ ) {
996
- var listener = listeners[i]
997
- var isOnce = onceListeners && onceListeners[ listener ];
998
- if ( isOnce ) {
999
- // remove listener
1000
- // remove before trigger to prevent recursion
1001
- this.off( eventName, listener );
1002
- // unset once flag
1003
- delete onceListeners[ listener ];
1004
- }
1005
- // trigger listener
1006
- listener.apply( this, args );
1007
- }
1008
-
1009
- return this;
1010
- };
1011
-
1012
- proto.allOff = function() {
1013
- delete this._events;
1014
- delete this._onceEvents;
1015
- };
1016
-
1017
- return EvEmitter;
1018
-
1019
- }));
1020
-
1021
- /*!
1022
- * getSize v2.0.3
1023
- * measure size of elements
1024
- * MIT license
1025
- */
1026
-
1027
- /* jshint browser: true, strict: true, undef: true, unused: true */
1028
- /* globals console: false */
1029
-
1030
- ( function( window, factory ) {
1031
- /* jshint strict: false */ /* globals define, module */
1032
- if ( typeof define == 'function' && define.amd ) {
1033
- // AMD
1034
- define( 'get-size/get-size',factory );
1035
- } else if ( typeof module == 'object' && module.exports ) {
1036
- // CommonJS
1037
- module.exports = factory();
1038
- } else {
1039
- // browser global
1040
- window.getSize = factory();
1041
- }
1042
-
1043
- })( window, function factory() {
1044
- 'use strict';
1045
-
1046
- // -------------------------- helpers -------------------------- //
1047
-
1048
- // get a number from a string, not a percentage
1049
- function getStyleSize( value ) {
1050
- var num = parseFloat( value );
1051
- // not a percent like '100%', and a number
1052
- var isValid = value.indexOf('%') == -1 && !isNaN( num );
1053
- return isValid && num;
1054
- }
1055
-
1056
- function noop() {}
1057
-
1058
- var logError = typeof console == 'undefined' ? noop :
1059
- function( message ) {
1060
- console.error( message );
1061
- };
1062
-
1063
- // -------------------------- measurements -------------------------- //
1064
-
1065
- var measurements = [
1066
- 'paddingLeft',
1067
- 'paddingRight',
1068
- 'paddingTop',
1069
- 'paddingBottom',
1070
- 'marginLeft',
1071
- 'marginRight',
1072
- 'marginTop',
1073
- 'marginBottom',
1074
- 'borderLeftWidth',
1075
- 'borderRightWidth',
1076
- 'borderTopWidth',
1077
- 'borderBottomWidth'
1078
- ];
1079
-
1080
- var measurementsLength = measurements.length;
1081
-
1082
- function getZeroSize() {
1083
- var size = {
1084
- width: 0,
1085
- height: 0,
1086
- innerWidth: 0,
1087
- innerHeight: 0,
1088
- outerWidth: 0,
1089
- outerHeight: 0
1090
- };
1091
- for ( var i=0; i < measurementsLength; i++ ) {
1092
- var measurement = measurements[i];
1093
- size[ measurement ] = 0;
1094
- }
1095
- return size;
1096
- }
1097
-
1098
- // -------------------------- getStyle -------------------------- //
1099
-
1100
- /**
1101
- * getStyle, get style of element, check for Firefox bug
1102
- * https://bugzilla.mozilla.org/show_bug.cgi?id=548397
1103
- */
1104
- function getStyle( elem ) {
1105
- var style = getComputedStyle( elem );
1106
- if ( !style ) {
1107
- logError( 'Style returned ' + style +
1108
- '. Are you running this code in a hidden iframe on Firefox? ' +
1109
- 'See https://bit.ly/getsizebug1' );
1110
- }
1111
- return style;
1112
- }
1113
-
1114
- // -------------------------- setup -------------------------- //
1115
-
1116
- var isSetup = false;
1117
-
1118
- var isBoxSizeOuter;
1119
-
1120
- /**
1121
- * setup
1122
- * check isBoxSizerOuter
1123
- * do on first getSize() rather than on page load for Firefox bug
1124
- */
1125
- function setup() {
1126
- // setup once
1127
- if ( isSetup ) {
1128
- return;
1129
- }
1130
- isSetup = true;
1131
-
1132
- // -------------------------- box sizing -------------------------- //
1133
-
1134
- /**
1135
- * Chrome & Safari measure the outer-width on style.width on border-box elems
1136
- * IE11 & Firefox<29 measures the inner-width
1137
- */
1138
- var div = document.createElement('div');
1139
- div.style.width = '200px';
1140
- div.style.padding = '1px 2px 3px 4px';
1141
- div.style.borderStyle = 'solid';
1142
- div.style.borderWidth = '1px 2px 3px 4px';
1143
- div.style.boxSizing = 'border-box';
1144
-
1145
- var body = document.body || document.documentElement;
1146
- body.appendChild( div );
1147
- var style = getStyle( div );
1148
- // round value for browser zoom. desandro/masonry#928
1149
- isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
1150
- getSize.isBoxSizeOuter = isBoxSizeOuter;
1151
-
1152
- body.removeChild( div );
1153
- }
1154
-
1155
- // -------------------------- getSize -------------------------- //
1156
-
1157
- function getSize( elem ) {
1158
- setup();
1159
-
1160
- // use querySeletor if elem is string
1161
- if ( typeof elem == 'string' ) {
1162
- elem = document.querySelector( elem );
1163
- }
1164
-
1165
- // do not proceed on non-objects
1166
- if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
1167
- return;
1168
- }
1169
-
1170
- var style = getStyle( elem );
1171
-
1172
- // if hidden, everything is 0
1173
- if ( style.display == 'none' ) {
1174
- return getZeroSize();
1175
- }
1176
-
1177
- var size = {};
1178
- size.width = elem.offsetWidth;
1179
- size.height = elem.offsetHeight;
1180
-
1181
- var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
1182
-
1183
- // get all measurements
1184
- for ( var i=0; i < measurementsLength; i++ ) {
1185
- var measurement = measurements[i];
1186
- var value = style[ measurement ];
1187
- var num = parseFloat( value );
1188
- // any 'auto', 'medium' value will be 0
1189
- size[ measurement ] = !isNaN( num ) ? num : 0;
1190
- }
1191
-
1192
- var paddingWidth = size.paddingLeft + size.paddingRight;
1193
- var paddingHeight = size.paddingTop + size.paddingBottom;
1194
- var marginWidth = size.marginLeft + size.marginRight;
1195
- var marginHeight = size.marginTop + size.marginBottom;
1196
- var borderWidth = size.borderLeftWidth + size.borderRightWidth;
1197
- var borderHeight = size.borderTopWidth + size.borderBottomWidth;
1198
-
1199
- var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
1200
-
1201
- // overwrite width and height if we can get it from style
1202
- var styleWidth = getStyleSize( style.width );
1203
- if ( styleWidth !== false ) {
1204
- size.width = styleWidth +
1205
- // add padding and border unless it's already including it
1206
- ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
1207
- }
1208
-
1209
- var styleHeight = getStyleSize( style.height );
1210
- if ( styleHeight !== false ) {
1211
- size.height = styleHeight +
1212
- // add padding and border unless it's already including it
1213
- ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
1214
- }
1215
-
1216
- size.innerWidth = size.width - ( paddingWidth + borderWidth );
1217
- size.innerHeight = size.height - ( paddingHeight + borderHeight );
1218
-
1219
- size.outerWidth = size.width + marginWidth;
1220
- size.outerHeight = size.height + marginHeight;
1221
-
1222
- return size;
1223
- }
1224
-
1225
- return getSize;
1226
-
1227
- });
1228
-
1229
- /**
1230
- * matchesSelector v2.0.2
1231
- * matchesSelector( element, '.selector' )
1232
- * MIT license
1233
- */
1234
-
1235
- /*jshint browser: true, strict: true, undef: true, unused: true */
1236
-
1237
- ( function( window, factory ) {
1238
- /*global define: false, module: false */
1239
- 'use strict';
1240
- // universal module definition
1241
- if ( typeof define == 'function' && define.amd ) {
1242
- // AMD
1243
- define( 'desandro-matches-selector/matches-selector',factory );
1244
- } else if ( typeof module == 'object' && module.exports ) {
1245
- // CommonJS
1246
- module.exports = factory();
1247
- } else {
1248
- // browser global
1249
- window.matchesSelector = factory();
1250
- }
1251
-
1252
- }( window, function factory() {
1253
- 'use strict';
1254
-
1255
- var matchesMethod = ( function() {
1256
- var ElemProto = window.Element.prototype;
1257
- // check for the standard method name first
1258
- if ( ElemProto.matches ) {
1259
- return 'matches';
1260
- }
1261
- // check un-prefixed
1262
- if ( ElemProto.matchesSelector ) {
1263
- return 'matchesSelector';
1264
- }
1265
- // check vendor prefixes
1266
- var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
1267
-
1268
- for ( var i=0; i < prefixes.length; i++ ) {
1269
- var prefix = prefixes[i];
1270
- var method = prefix + 'MatchesSelector';
1271
- if ( ElemProto[ method ] ) {
1272
- return method;
1273
- }
1274
- }
1275
- })();
1276
-
1277
- return function matchesSelector( elem, selector ) {
1278
- return elem[ matchesMethod ]( selector );
1279
- };
1280
-
1281
- }));
1282
-
1283
- /**
1284
- * Fizzy UI utils v2.0.7
1285
- * MIT license
1286
- */
1287
-
1288
- /*jshint browser: true, undef: true, unused: true, strict: true */
1289
-
1290
- ( function( window, factory ) {
1291
- // universal module definition
1292
- /*jshint strict: false */ /*globals define, module, require */
1293
-
1294
- if ( typeof define == 'function' && define.amd ) {
1295
- // AMD
1296
- define( 'fizzy-ui-utils/utils',[
1297
- 'desandro-matches-selector/matches-selector'
1298
- ], function( matchesSelector ) {
1299
- return factory( window, matchesSelector );
1300
- });
1301
- } else if ( typeof module == 'object' && module.exports ) {
1302
- // CommonJS
1303
- module.exports = factory(
1304
- window,
1305
- require('desandro-matches-selector')
1306
- );
1307
- } else {
1308
- // browser global
1309
- window.fizzyUIUtils = factory(
1310
- window,
1311
- window.matchesSelector
1312
- );
1313
- }
1314
-
1315
- }( window, function factory( window, matchesSelector ) {
1316
-
1317
-
1318
-
1319
- var utils = {};
1320
-
1321
- // ----- extend ----- //
1322
-
1323
- // extends objects
1324
- utils.extend = function( a, b ) {
1325
- for ( var prop in b ) {
1326
- a[ prop ] = b[ prop ];
1327
- }
1328
- return a;
1329
- };
1330
-
1331
- // ----- modulo ----- //
1332
-
1333
- utils.modulo = function( num, div ) {
1334
- return ( ( num % div ) + div ) % div;
1335
- };
1336
-
1337
- // ----- makeArray ----- //
1338
-
1339
- var arraySlice = Array.prototype.slice;
1340
-
1341
- // turn element or nodeList into an array
1342
- utils.makeArray = function( obj ) {
1343
- if ( Array.isArray( obj ) ) {
1344
- // use object if already an array
1345
- return obj;
1346
- }
1347
- // return empty array if undefined or null. #6
1348
- if ( obj === null || obj === undefined ) {
1349
- return [];
1350
- }
1351
-
1352
- var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
1353
- if ( isArrayLike ) {
1354
- // convert nodeList to array
1355
- return arraySlice.call( obj );
1356
- }
1357
-
1358
- // array of single index
1359
- return [ obj ];
1360
- };
1361
-
1362
- // ----- removeFrom ----- //
1363
-
1364
- utils.removeFrom = function( ary, obj ) {
1365
- var index = ary.indexOf( obj );
1366
- if ( index != -1 ) {
1367
- ary.splice( index, 1 );
1368
- }
1369
- };
1370
-
1371
- // ----- getParent ----- //
1372
-
1373
- utils.getParent = function( elem, selector ) {
1374
- while ( elem.parentNode && elem != document.body ) {
1375
- elem = elem.parentNode;
1376
- if ( matchesSelector( elem, selector ) ) {
1377
- return elem;
1378
- }
1379
- }
1380
- };
1381
-
1382
- // ----- getQueryElement ----- //
1383
-
1384
- // use element as selector string
1385
- utils.getQueryElement = function( elem ) {
1386
- if ( typeof elem == 'string' ) {
1387
- return document.querySelector( elem );
1388
- }
1389
- return elem;
1390
- };
1391
-
1392
- // ----- handleEvent ----- //
1393
-
1394
- // enable .ontype to trigger from .addEventListener( elem, 'type' )
1395
- utils.handleEvent = function( event ) {
1396
- var method = 'on' + event.type;
1397
- if ( this[ method ] ) {
1398
- this[ method ]( event );
1399
- }
1400
- };
1401
-
1402
- // ----- filterFindElements ----- //
1403
-
1404
- utils.filterFindElements = function( elems, selector ) {
1405
- // make array of elems
1406
- elems = utils.makeArray( elems );
1407
- var ffElems = [];
1408
-
1409
- elems.forEach( function( elem ) {
1410
- // check that elem is an actual element
1411
- if ( !( elem instanceof HTMLElement ) ) {
1412
- return;
1413
- }
1414
- // add elem if no selector
1415
- if ( !selector ) {
1416
- ffElems.push( elem );
1417
- return;
1418
- }
1419
- // filter & find items if we have a selector
1420
- // filter
1421
- if ( matchesSelector( elem, selector ) ) {
1422
- ffElems.push( elem );
1423
- }
1424
- // find children
1425
- var childElems = elem.querySelectorAll( selector );
1426
- // concat childElems to filterFound array
1427
- for ( var i=0; i < childElems.length; i++ ) {
1428
- ffElems.push( childElems[i] );
1429
- }
1430
- });
1431
-
1432
- return ffElems;
1433
- };
1434
-
1435
- // ----- debounceMethod ----- //
1436
-
1437
- utils.debounceMethod = function( _class, methodName, threshold ) {
1438
- threshold = threshold || 100;
1439
- // original method
1440
- var method = _class.prototype[ methodName ];
1441
- var timeoutName = methodName + 'Timeout';
1442
-
1443
- _class.prototype[ methodName ] = function() {
1444
- var timeout = this[ timeoutName ];
1445
- clearTimeout( timeout );
1446
-
1447
- var args = arguments;
1448
- var _this = this;
1449
- this[ timeoutName ] = setTimeout( function() {
1450
- method.apply( _this, args );
1451
- delete _this[ timeoutName ];
1452
- }, threshold );
1453
- };
1454
- };
1455
-
1456
- // ----- docReady ----- //
1457
-
1458
- utils.docReady = function( callback ) {
1459
- var readyState = document.readyState;
1460
- if ( readyState == 'complete' || readyState == 'interactive' ) {
1461
- // do async to allow for other scripts to run. metafizzy/flickity#441
1462
- setTimeout( callback );
1463
- } else {
1464
- document.addEventListener( 'DOMContentLoaded', callback );
1465
- }
1466
- };
1467
-
1468
- // ----- htmlInit ----- //
1469
-
1470
- // http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
1471
- utils.toDashed = function( str ) {
1472
- return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
1473
- return $1 + '-' + $2;
1474
- }).toLowerCase();
1475
- };
1476
-
1477
- var console = window.console;
1478
- /**
1479
- * allow user to initialize classes via [data-namespace] or .js-namespace class
1480
- * htmlInit( Widget, 'widgetName' )
1481
- * options are parsed from data-namespace-options
1482
- */
1483
- utils.htmlInit = function( WidgetClass, namespace ) {
1484
- utils.docReady( function() {
1485
- var dashedNamespace = utils.toDashed( namespace );
1486
- var dataAttr = 'data-' + dashedNamespace;
1487
- var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
1488
- var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
1489
- var elems = utils.makeArray( dataAttrElems )
1490
- .concat( utils.makeArray( jsDashElems ) );
1491
- var dataOptionsAttr = dataAttr + '-options';
1492
- var jQuery = window.jQuery;
1493
-
1494
- elems.forEach( function( elem ) {
1495
- var attr = elem.getAttribute( dataAttr ) ||
1496
- elem.getAttribute( dataOptionsAttr );
1497
- var options;
1498
- try {
1499
- options = attr && JSON.parse( attr );
1500
- } catch ( error ) {
1501
- // log error, do not initialize
1502
- if ( console ) {
1503
- console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
1504
- ': ' + error );
1505
- }
1506
- return;
1507
- }
1508
- // initialize
1509
- var instance = new WidgetClass( elem, options );
1510
- // make available via $().data('namespace')
1511
- if ( jQuery ) {
1512
- jQuery.data( elem, namespace, instance );
1513
- }
1514
- });
1515
-
1516
- });
1517
- };
1518
-
1519
- // ----- ----- //
1520
-
1521
- return utils;
1522
-
1523
- }));
1524
-
1525
- /**
1526
- * Outlayer Item
1527
- */
1528
-
1529
- ( function( window, factory ) {
1530
- // universal module definition
1531
- /* jshint strict: false */ /* globals define, module, require */
1532
- if ( typeof define == 'function' && define.amd ) {
1533
- // AMD - RequireJS
1534
- define( 'outlayer/item',[
1535
- 'ev-emitter/ev-emitter',
1536
- 'get-size/get-size'
1537
- ],
1538
- factory
1539
- );
1540
- } else if ( typeof module == 'object' && module.exports ) {
1541
- // CommonJS - Browserify, Webpack
1542
- module.exports = factory(
1543
- require('ev-emitter'),
1544
- require('get-size')
1545
- );
1546
- } else {
1547
- // browser global
1548
- window.Outlayer = {};
1549
- window.Outlayer.Item = factory(
1550
- window.EvEmitter,
1551
- window.getSize
1552
- );
1553
- }
1554
-
1555
- }( window, function factory( EvEmitter, getSize ) {
1556
- 'use strict';
1557
-
1558
- // ----- helpers ----- //
1559
-
1560
- function isEmptyObj( obj ) {
1561
- for ( var prop in obj ) {
1562
- return false;
1563
- }
1564
- prop = null;
1565
- return true;
1566
- }
1567
-
1568
- // -------------------------- CSS3 support -------------------------- //
1569
-
1570
-
1571
- var docElemStyle = document.documentElement.style;
1572
-
1573
- var transitionProperty = typeof docElemStyle.transition == 'string' ?
1574
- 'transition' : 'WebkitTransition';
1575
- var transformProperty = typeof docElemStyle.transform == 'string' ?
1576
- 'transform' : 'WebkitTransform';
1577
-
1578
- var transitionEndEvent = {
1579
- WebkitTransition: 'webkitTransitionEnd',
1580
- transition: 'transitionend'
1581
- }[ transitionProperty ];
1582
-
1583
- // cache all vendor properties that could have vendor prefix
1584
- var vendorProperties = {
1585
- transform: transformProperty,
1586
- transition: transitionProperty,
1587
- transitionDuration: transitionProperty + 'Duration',
1588
- transitionProperty: transitionProperty + 'Property',
1589
- transitionDelay: transitionProperty + 'Delay'
1590
- };
1591
-
1592
- // -------------------------- Item -------------------------- //
1593
-
1594
- function Item( element, layout ) {
1595
- if ( !element ) {
1596
- return;
1597
- }
1598
-
1599
- this.element = element;
1600
- // parent layout class, i.e. Masonry, Isotope, or Packery
1601
- this.layout = layout;
1602
- this.position = {
1603
- x: 0,
1604
- y: 0
1605
- };
1606
-
1607
- this._create();
1608
- }
1609
-
1610
- // inherit EvEmitter
1611
- var proto = Item.prototype = Object.create( EvEmitter.prototype );
1612
- proto.constructor = Item;
1613
-
1614
- proto._create = function() {
1615
- // transition objects
1616
- this._transn = {
1617
- ingProperties: {},
1618
- clean: {},
1619
- onEnd: {}
1620
- };
1621
-
1622
- this.css({
1623
- position: 'absolute'
1624
- });
1625
- };
1626
-
1627
- // trigger specified handler for event type
1628
- proto.handleEvent = function( event ) {
1629
- var method = 'on' + event.type;
1630
- if ( this[ method ] ) {
1631
- this[ method ]( event );
1632
- }
1633
- };
1634
-
1635
- proto.getSize = function() {
1636
- this.size = getSize( this.element );
1637
- };
1638
-
1639
- /**
1640
- * apply CSS styles to element
1641
- * @param {Object} style
1642
- */
1643
- proto.css = function( style ) {
1644
- var elemStyle = this.element.style;
1645
-
1646
- for ( var prop in style ) {
1647
- // use vendor property if available
1648
- var supportedProp = vendorProperties[ prop ] || prop;
1649
- elemStyle[ supportedProp ] = style[ prop ];
1650
- }
1651
- };
1652
-
1653
- // measure position, and sets it
1654
- proto.getPosition = function() {
1655
- var style = getComputedStyle( this.element );
1656
- var isOriginLeft = this.layout._getOption('originLeft');
1657
- var isOriginTop = this.layout._getOption('originTop');
1658
- var xValue = style[ isOriginLeft ? 'left' : 'right' ];
1659
- var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
1660
- var x = parseFloat( xValue );
1661
- var y = parseFloat( yValue );
1662
- // convert percent to pixels
1663
- var layoutSize = this.layout.size;
1664
- if ( xValue.indexOf('%') != -1 ) {
1665
- x = ( x / 100 ) * layoutSize.width;
1666
- }
1667
- if ( yValue.indexOf('%') != -1 ) {
1668
- y = ( y / 100 ) * layoutSize.height;
1669
- }
1670
- // clean up 'auto' or other non-integer values
1671
- x = isNaN( x ) ? 0 : x;
1672
- y = isNaN( y ) ? 0 : y;
1673
- // remove padding from measurement
1674
- x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
1675
- y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
1676
-
1677
- this.position.x = x;
1678
- this.position.y = y;
1679
- };
1680
-
1681
- // set settled position, apply padding
1682
- proto.layoutPosition = function() {
1683
- var layoutSize = this.layout.size;
1684
- var style = {};
1685
- var isOriginLeft = this.layout._getOption('originLeft');
1686
- var isOriginTop = this.layout._getOption('originTop');
1687
-
1688
- // x
1689
- var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
1690
- var xProperty = isOriginLeft ? 'left' : 'right';
1691
- var xResetProperty = isOriginLeft ? 'right' : 'left';
1692
-
1693
- var x = this.position.x + layoutSize[ xPadding ];
1694
- // set in percentage or pixels
1695
- style[ xProperty ] = this.getXValue( x );
1696
- // reset other property
1697
- style[ xResetProperty ] = '';
1698
-
1699
- // y
1700
- var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
1701
- var yProperty = isOriginTop ? 'top' : 'bottom';
1702
- var yResetProperty = isOriginTop ? 'bottom' : 'top';
1703
-
1704
- var y = this.position.y + layoutSize[ yPadding ];
1705
- // set in percentage or pixels
1706
- style[ yProperty ] = this.getYValue( y );
1707
- // reset other property
1708
- style[ yResetProperty ] = '';
1709
-
1710
- this.css( style );
1711
- this.emitEvent( 'layout', [ this ] );
1712
- };
1713
-
1714
- proto.getXValue = function( x ) {
1715
- var isHorizontal = this.layout._getOption('horizontal');
1716
- return this.layout.options.percentPosition && !isHorizontal ?
1717
- ( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
1718
- };
1719
-
1720
- proto.getYValue = function( y ) {
1721
- var isHorizontal = this.layout._getOption('horizontal');
1722
- return this.layout.options.percentPosition && isHorizontal ?
1723
- ( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
1724
- };
1725
-
1726
- proto._transitionTo = function( x, y ) {
1727
- this.getPosition();
1728
- // get current x & y from top/left
1729
- var curX = this.position.x;
1730
- var curY = this.position.y;
1731
-
1732
- var didNotMove = x == this.position.x && y == this.position.y;
1733
-
1734
- // save end position
1735
- this.setPosition( x, y );
1736
-
1737
- // if did not move and not transitioning, just go to layout
1738
- if ( didNotMove && !this.isTransitioning ) {
1739
- this.layoutPosition();
1740
- return;
1741
- }
1742
-
1743
- var transX = x - curX;
1744
- var transY = y - curY;
1745
- var transitionStyle = {};
1746
- transitionStyle.transform = this.getTranslate( transX, transY );
1747
-
1748
- this.transition({
1749
- to: transitionStyle,
1750
- onTransitionEnd: {
1751
- transform: this.layoutPosition
1752
- },
1753
- isCleaning: true
1754
- });
1755
- };
1756
-
1757
- proto.getTranslate = function( x, y ) {
1758
- // flip cooridinates if origin on right or bottom
1759
- var isOriginLeft = this.layout._getOption('originLeft');
1760
- var isOriginTop = this.layout._getOption('originTop');
1761
- x = isOriginLeft ? x : -x;
1762
- y = isOriginTop ? y : -y;
1763
- return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
1764
- };
1765
-
1766
- // non transition + transform support
1767
- proto.goTo = function( x, y ) {
1768
- this.setPosition( x, y );
1769
- this.layoutPosition();
1770
- };
1771
-
1772
- proto.moveTo = proto._transitionTo;
1773
-
1774
- proto.setPosition = function( x, y ) {
1775
- this.position.x = parseFloat( x );
1776
- this.position.y = parseFloat( y );
1777
- };
1778
-
1779
- // ----- transition ----- //
1780
-
1781
- /**
1782
- * @param {Object} style - CSS
1783
- * @param {Function} onTransitionEnd
1784
- */
1785
-
1786
- // non transition, just trigger callback
1787
- proto._nonTransition = function( args ) {
1788
- this.css( args.to );
1789
- if ( args.isCleaning ) {
1790
- this._removeStyles( args.to );
1791
- }
1792
- for ( var prop in args.onTransitionEnd ) {
1793
- args.onTransitionEnd[ prop ].call( this );
1794
- }
1795
- };
1796
-
1797
- /**
1798
- * proper transition
1799
- * @param {Object} args - arguments
1800
- * @param {Object} to - style to transition to
1801
- * @param {Object} from - style to start transition from
1802
- * @param {Boolean} isCleaning - removes transition styles after transition
1803
- * @param {Function} onTransitionEnd - callback
1804
- */
1805
- proto.transition = function( args ) {
1806
- // redirect to nonTransition if no transition duration
1807
- if ( !parseFloat( this.layout.options.transitionDuration ) ) {
1808
- this._nonTransition( args );
1809
- return;
1810
- }
1811
-
1812
- var _transition = this._transn;
1813
- // keep track of onTransitionEnd callback by css property
1814
- for ( var prop in args.onTransitionEnd ) {
1815
- _transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
1816
- }
1817
- // keep track of properties that are transitioning
1818
- for ( prop in args.to ) {
1819
- _transition.ingProperties[ prop ] = true;
1820
- // keep track of properties to clean up when transition is done
1821
- if ( args.isCleaning ) {
1822
- _transition.clean[ prop ] = true;
1823
- }
1824
- }
1825
-
1826
- // set from styles
1827
- if ( args.from ) {
1828
- this.css( args.from );
1829
- // force redraw. http://blog.alexmaccaw.com/css-transitions
1830
- var h = this.element.offsetHeight;
1831
- // hack for JSHint to hush about unused var
1832
- h = null;
1833
- }
1834
- // enable transition
1835
- this.enableTransition( args.to );
1836
- // set styles that are transitioning
1837
- this.css( args.to );
1838
-
1839
- this.isTransitioning = true;
1840
-
1841
- };
1842
-
1843
- // dash before all cap letters, including first for
1844
- // WebkitTransform => -webkit-transform
1845
- function toDashedAll( str ) {
1846
- return str.replace( /([A-Z])/g, function( $1 ) {
1847
- return '-' + $1.toLowerCase();
1848
- });
1849
- }
1850
-
1851
- var transitionProps = 'opacity,' + toDashedAll( transformProperty );
1852
-
1853
- proto.enableTransition = function(/* style */) {
1854
- // HACK changing transitionProperty during a transition
1855
- // will cause transition to jump
1856
- if ( this.isTransitioning ) {
1857
- return;
1858
- }
1859
-
1860
- // make `transition: foo, bar, baz` from style object
1861
- // HACK un-comment this when enableTransition can work
1862
- // while a transition is happening
1863
- // var transitionValues = [];
1864
- // for ( var prop in style ) {
1865
- // // dash-ify camelCased properties like WebkitTransition
1866
- // prop = vendorProperties[ prop ] || prop;
1867
- // transitionValues.push( toDashedAll( prop ) );
1868
- // }
1869
- // munge number to millisecond, to match stagger
1870
- var duration = this.layout.options.transitionDuration;
1871
- duration = typeof duration == 'number' ? duration + 'ms' : duration;
1872
- // enable transition styles
1873
- this.css({
1874
- transitionProperty: transitionProps,
1875
- transitionDuration: duration,
1876
- transitionDelay: this.staggerDelay || 0
1877
- });
1878
- // listen for transition end event
1879
- this.element.addEventListener( transitionEndEvent, this, false );
1880
- };
1881
-
1882
- // ----- events ----- //
1883
-
1884
- proto.onwebkitTransitionEnd = function( event ) {
1885
- this.ontransitionend( event );
1886
- };
1887
-
1888
- proto.onotransitionend = function( event ) {
1889
- this.ontransitionend( event );
1890
- };
1891
-
1892
- // properties that I munge to make my life easier
1893
- var dashedVendorProperties = {
1894
- '-webkit-transform': 'transform'
1895
- };
1896
-
1897
- proto.ontransitionend = function( event ) {
1898
- // disregard bubbled events from children
1899
- if ( event.target !== this.element ) {
1900
- return;
1901
- }
1902
- var _transition = this._transn;
1903
- // get property name of transitioned property, convert to prefix-free
1904
- var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;
1905
-
1906
- // remove property that has completed transitioning
1907
- delete _transition.ingProperties[ propertyName ];
1908
- // check if any properties are still transitioning
1909
- if ( isEmptyObj( _transition.ingProperties ) ) {
1910
- // all properties have completed transitioning
1911
- this.disableTransition();
1912
- }
1913
- // clean style
1914
- if ( propertyName in _transition.clean ) {
1915
- // clean up style
1916
- this.element.style[ event.propertyName ] = '';
1917
- delete _transition.clean[ propertyName ];
1918
- }
1919
- // trigger onTransitionEnd callback
1920
- if ( propertyName in _transition.onEnd ) {
1921
- var onTransitionEnd = _transition.onEnd[ propertyName ];
1922
- onTransitionEnd.call( this );
1923
- delete _transition.onEnd[ propertyName ];
1924
- }
1925
-
1926
- this.emitEvent( 'transitionEnd', [ this ] );
1927
- };
1928
-
1929
- proto.disableTransition = function() {
1930
- this.removeTransitionStyles();
1931
- this.element.removeEventListener( transitionEndEvent, this, false );
1932
- this.isTransitioning = false;
1933
- };
1934
-
1935
- /**
1936
- * removes style property from element
1937
- * @param {Object} style
1938
- **/
1939
- proto._removeStyles = function( style ) {
1940
- // clean up transition styles
1941
- var cleanStyle = {};
1942
- for ( var prop in style ) {
1943
- cleanStyle[ prop ] = '';
1944
- }
1945
- this.css( cleanStyle );
1946
- };
1947
-
1948
- var cleanTransitionStyle = {
1949
- transitionProperty: '',
1950
- transitionDuration: '',
1951
- transitionDelay: ''
1952
- };
1953
-
1954
- proto.removeTransitionStyles = function() {
1955
- // remove transition
1956
- this.css( cleanTransitionStyle );
1957
- };
1958
-
1959
- // ----- stagger ----- //
1960
-
1961
- proto.stagger = function( delay ) {
1962
- delay = isNaN( delay ) ? 0 : delay;
1963
- this.staggerDelay = delay + 'ms';
1964
- };
1965
-
1966
- // ----- show/hide/remove ----- //
1967
-
1968
- // remove element from DOM
1969
- proto.removeElem = function() {
1970
- this.element.parentNode.removeChild( this.element );
1971
- // remove display: none
1972
- this.css({ display: '' });
1973
- this.emitEvent( 'remove', [ this ] );
1974
- };
1975
-
1976
- proto.remove = function() {
1977
- // just remove element if no transition support or no transition
1978
- if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
1979
- this.removeElem();
1980
- return;
1981
- }
1982
-
1983
- // start transition
1984
- this.once( 'transitionEnd', function() {
1985
- this.removeElem();
1986
- });
1987
- this.hide();
1988
- };
1989
-
1990
- proto.reveal = function() {
1991
- delete this.isHidden;
1992
- // remove display: none
1993
- this.css({ display: '' });
1994
-
1995
- var options = this.layout.options;
1996
-
1997
- var onTransitionEnd = {};
1998
- var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
1999
- onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
2000
-
2001
- this.transition({
2002
- from: options.hiddenStyle,
2003
- to: options.visibleStyle,
2004
- isCleaning: true,
2005
- onTransitionEnd: onTransitionEnd
2006
- });
2007
- };
2008
-
2009
- proto.onRevealTransitionEnd = function() {
2010
- // check if still visible
2011
- // during transition, item may have been hidden
2012
- if ( !this.isHidden ) {
2013
- this.emitEvent('reveal');
2014
- }
2015
- };
2016
-
2017
- /**
2018
- * get style property use for hide/reveal transition end
2019
- * @param {String} styleProperty - hiddenStyle/visibleStyle
2020
- * @returns {String}
2021
- */
2022
- proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
2023
- var optionStyle = this.layout.options[ styleProperty ];
2024
- // use opacity
2025
- if ( optionStyle.opacity ) {
2026
- return 'opacity';
2027
- }
2028
- // get first property
2029
- for ( var prop in optionStyle ) {
2030
- return prop;
2031
- }
2032
- };
2033
-
2034
- proto.hide = function() {
2035
- // set flag
2036
- this.isHidden = true;
2037
- // remove display: none
2038
- this.css({ display: '' });
2039
-
2040
- var options = this.layout.options;
2041
-
2042
- var onTransitionEnd = {};
2043
- var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
2044
- onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
2045
-
2046
- this.transition({
2047
- from: options.visibleStyle,
2048
- to: options.hiddenStyle,
2049
- // keep hidden stuff hidden
2050
- isCleaning: true,
2051
- onTransitionEnd: onTransitionEnd
2052
- });
2053
- };
2054
-
2055
- proto.onHideTransitionEnd = function() {
2056
- // check if still hidden
2057
- // during transition, item may have been un-hidden
2058
- if ( this.isHidden ) {
2059
- this.css({ display: 'none' });
2060
- this.emitEvent('hide');
2061
- }
2062
- };
2063
-
2064
- proto.destroy = function() {
2065
- this.css({
2066
- position: '',
2067
- left: '',
2068
- right: '',
2069
- top: '',
2070
- bottom: '',
2071
- transition: '',
2072
- transform: ''
2073
- });
2074
- };
2075
-
2076
- return Item;
2077
-
2078
- }));
2079
-
2080
- /*!
2081
- * Outlayer v2.1.1
2082
- * the brains and guts of a layout library
2083
- * MIT license
2084
- */
2085
-
2086
- ( function( window, factory ) {
2087
- 'use strict';
2088
- // universal module definition
2089
- /* jshint strict: false */ /* globals define, module, require */
2090
- if ( typeof define == 'function' && define.amd ) {
2091
- // AMD - RequireJS
2092
- define( 'outlayer/outlayer',[
2093
- 'ev-emitter/ev-emitter',
2094
- 'get-size/get-size',
2095
- 'fizzy-ui-utils/utils',
2096
- './item'
2097
- ],
2098
- function( EvEmitter, getSize, utils, Item ) {
2099
- return factory( window, EvEmitter, getSize, utils, Item);
2100
- }
2101
- );
2102
- } else if ( typeof module == 'object' && module.exports ) {
2103
- // CommonJS - Browserify, Webpack
2104
- module.exports = factory(
2105
- window,
2106
- require('ev-emitter'),
2107
- require('get-size'),
2108
- require('fizzy-ui-utils'),
2109
- require('./item')
2110
- );
2111
- } else {
2112
- // browser global
2113
- window.Outlayer = factory(
2114
- window,
2115
- window.EvEmitter,
2116
- window.getSize,
2117
- window.fizzyUIUtils,
2118
- window.Outlayer.Item
2119
- );
2120
- }
2121
-
2122
- }( window, function factory( window, EvEmitter, getSize, utils, Item ) {
2123
- 'use strict';
2124
-
2125
- // ----- vars ----- //
2126
-
2127
- var console = window.console;
2128
- var jQuery = window.jQuery;
2129
- var noop = function() {};
2130
-
2131
- // -------------------------- Outlayer -------------------------- //
2132
-
2133
- // globally unique identifiers
2134
- var GUID = 0;
2135
- // internal store of all Outlayer intances
2136
- var instances = {};
2137
-
2138
-
2139
- /**
2140
- * @param {Element, String} element
2141
- * @param {Object} options
2142
- * @constructor
2143
- */
2144
- function Outlayer( element, options ) {
2145
- var queryElement = utils.getQueryElement( element );
2146
- if ( !queryElement ) {
2147
- if ( console ) {
2148
- console.error( 'Bad element for ' + this.constructor.namespace +
2149
- ': ' + ( queryElement || element ) );
2150
- }
2151
- return;
2152
- }
2153
- this.element = queryElement;
2154
- // add jQuery
2155
- if ( jQuery ) {
2156
- this.$element = jQuery( this.element );
2157
- }
2158
-
2159
- // options
2160
- this.options = utils.extend( {}, this.constructor.defaults );
2161
- this.option( options );
2162
-
2163
- // add id for Outlayer.getFromElement
2164
- var id = ++GUID;
2165
- this.element.outlayerGUID = id; // expando
2166
- instances[ id ] = this; // associate via id
2167
-
2168
- // kick it off
2169
- this._create();
2170
-
2171
- var isInitLayout = this._getOption('initLayout');
2172
- if ( isInitLayout ) {
2173
- this.layout();
2174
- }
2175
- }
2176
-
2177
- // settings are for internal use only
2178
- Outlayer.namespace = 'outlayer';
2179
- Outlayer.Item = Item;
2180
-
2181
- // default options
2182
- Outlayer.defaults = {
2183
- containerStyle: {
2184
- position: 'relative'
2185
- },
2186
- initLayout: true,
2187
- originLeft: true,
2188
- originTop: true,
2189
- resize: true,
2190
- resizeContainer: true,
2191
- // item options
2192
- transitionDuration: '0.4s',
2193
- hiddenStyle: {
2194
- opacity: 0,
2195
- transform: 'scale(0.001)'
2196
- },
2197
- visibleStyle: {
2198
- opacity: 1,
2199
- transform: 'scale(1)'
2200
- }
2201
- };
2202
-
2203
- var proto = Outlayer.prototype;
2204
- // inherit EvEmitter
2205
- utils.extend( proto, EvEmitter.prototype );
2206
-
2207
- /**
2208
- * set options
2209
- * @param {Object} opts
2210
- */
2211
- proto.option = function( opts ) {
2212
- utils.extend( this.options, opts );
2213
- };
2214
-
2215
- /**
2216
- * get backwards compatible option value, check old name
2217
- */
2218
- proto._getOption = function( option ) {
2219
- var oldOption = this.constructor.compatOptions[ option ];
2220
- return oldOption && this.options[ oldOption ] !== undefined ?
2221
- this.options[ oldOption ] : this.options[ option ];
2222
- };
2223
-
2224
- Outlayer.compatOptions = {
2225
- // currentName: oldName
2226
- initLayout: 'isInitLayout',
2227
- horizontal: 'isHorizontal',
2228
- layoutInstant: 'isLayoutInstant',
2229
- originLeft: 'isOriginLeft',
2230
- originTop: 'isOriginTop',
2231
- resize: 'isResizeBound',
2232
- resizeContainer: 'isResizingContainer'
2233
- };
2234
-
2235
- proto._create = function() {
2236
- // get items from children
2237
- this.reloadItems();
2238
- // elements that affect layout, but are not laid out
2239
- this.stamps = [];
2240
- this.stamp( this.options.stamp );
2241
- // set container style
2242
- utils.extend( this.element.style, this.options.containerStyle );
2243
-
2244
- // bind resize method
2245
- var canBindResize = this._getOption('resize');
2246
- if ( canBindResize ) {
2247
- this.bindResize();
2248
- }
2249
- };
2250
-
2251
- // goes through all children again and gets bricks in proper order
2252
- proto.reloadItems = function() {
2253
- // collection of item elements
2254
- this.items = this._itemize( this.element.children );
2255
- };
2256
-
2257
-
2258
- /**
2259
- * turn elements into Outlayer.Items to be used in layout
2260
- * @param {Array or NodeList or HTMLElement} elems
2261
- * @returns {Array} items - collection of new Outlayer Items
2262
- */
2263
- proto._itemize = function( elems ) {
2264
-
2265
- var itemElems = this._filterFindItemElements( elems );
2266
- var Item = this.constructor.Item;
2267
-
2268
- // create new Outlayer Items for collection
2269
- var items = [];
2270
- for ( var i=0; i < itemElems.length; i++ ) {
2271
- var elem = itemElems[i];
2272
- var item = new Item( elem, this );
2273
- items.push( item );
2274
- }
2275
-
2276
- return items;
2277
- };
2278
-
2279
- /**
2280
- * get item elements to be used in layout
2281
- * @param {Array or NodeList or HTMLElement} elems
2282
- * @returns {Array} items - item elements
2283
- */
2284
- proto._filterFindItemElements = function( elems ) {
2285
- return utils.filterFindElements( elems, this.options.itemSelector );
2286
- };
2287
-
2288
- /**
2289
- * getter method for getting item elements
2290
- * @returns {Array} elems - collection of item elements
2291
- */
2292
- proto.getItemElements = function() {
2293
- return this.items.map( function( item ) {
2294
- return item.element;
2295
- });
2296
- };
2297
-
2298
- // ----- init & layout ----- //
2299
-
2300
- /**
2301
- * lays out all items
2302
- */
2303
- proto.layout = function() {
2304
- this._resetLayout();
2305
- this._manageStamps();
2306
-
2307
- // don't animate first layout
2308
- var layoutInstant = this._getOption('layoutInstant');
2309
- var isInstant = layoutInstant !== undefined ?
2310
- layoutInstant : !this._isLayoutInited;
2311
- this.layoutItems( this.items, isInstant );
2312
-
2313
- // flag for initalized
2314
- this._isLayoutInited = true;
2315
- };
2316
-
2317
- // _init is alias for layout
2318
- proto._init = proto.layout;
2319
-
2320
- /**
2321
- * logic before any new layout
2322
- */
2323
- proto._resetLayout = function() {
2324
- this.getSize();
2325
- };
2326
-
2327
-
2328
- proto.getSize = function() {
2329
- this.size = getSize( this.element );
2330
- };
2331
-
2332
- /**
2333
- * get measurement from option, for columnWidth, rowHeight, gutter
2334
- * if option is String -> get element from selector string, & get size of element
2335
- * if option is Element -> get size of element
2336
- * else use option as a number
2337
- *
2338
- * @param {String} measurement
2339
- * @param {String} size - width or height
2340
- * @private
2341
- */
2342
- proto._getMeasurement = function( measurement, size ) {
2343
- var option = this.options[ measurement ];
2344
- var elem;
2345
- if ( !option ) {
2346
- // default to 0
2347
- this[ measurement ] = 0;
2348
- } else {
2349
- // use option as an element
2350
- if ( typeof option == 'string' ) {
2351
- elem = this.element.querySelector( option );
2352
- } else if ( option instanceof HTMLElement ) {
2353
- elem = option;
2354
- }
2355
- // use size of element, if element
2356
- this[ measurement ] = elem ? getSize( elem )[ size ] : option;
2357
- }
2358
- };
2359
-
2360
- /**
2361
- * layout a collection of item elements
2362
- * @api public
2363
- */
2364
- proto.layoutItems = function( items, isInstant ) {
2365
- items = this._getItemsForLayout( items );
2366
-
2367
- this._layoutItems( items, isInstant );
2368
-
2369
- this._postLayout();
2370
- };
2371
-
2372
- /**
2373
- * get the items to be laid out
2374
- * you may want to skip over some items
2375
- * @param {Array} items
2376
- * @returns {Array} items
2377
- */
2378
- proto._getItemsForLayout = function( items ) {
2379
- return items.filter( function( item ) {
2380
- return !item.isIgnored;
2381
- });
2382
- };
2383
-
2384
- /**
2385
- * layout items
2386
- * @param {Array} items
2387
- * @param {Boolean} isInstant
2388
- */
2389
- proto._layoutItems = function( items, isInstant ) {
2390
- this._emitCompleteOnItems( 'layout', items );
2391
-
2392
- if ( !items || !items.length ) {
2393
- // no items, emit event with empty array
2394
- return;
2395
- }
2396
-
2397
- var queue = [];
2398
-
2399
- items.forEach( function( item ) {
2400
- // get x/y object from method
2401
- var position = this._getItemLayoutPosition( item );
2402
- // enqueue
2403
- position.item = item;
2404
- position.isInstant = isInstant || item.isLayoutInstant;
2405
- queue.push( position );
2406
- }, this );
2407
-
2408
- this._processLayoutQueue( queue );
2409
- };
2410
-
2411
- /**
2412
- * get item layout position
2413
- * @param {Outlayer.Item} item
2414
- * @returns {Object} x and y position
2415
- */
2416
- proto._getItemLayoutPosition = function( /* item */ ) {
2417
- return {
2418
- x: 0,
2419
- y: 0
2420
- };
2421
- };
2422
-
2423
- /**
2424
- * iterate over array and position each item
2425
- * Reason being - separating this logic prevents 'layout invalidation'
2426
- * thx @paul_irish
2427
- * @param {Array} queue
2428
- */
2429
- proto._processLayoutQueue = function( queue ) {
2430
- this.updateStagger();
2431
- queue.forEach( function( obj, i ) {
2432
- this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
2433
- }, this );
2434
- };
2435
-
2436
- // set stagger from option in milliseconds number
2437
- proto.updateStagger = function() {
2438
- var stagger = this.options.stagger;
2439
- if ( stagger === null || stagger === undefined ) {
2440
- this.stagger = 0;
2441
- return;
2442
- }
2443
- this.stagger = getMilliseconds( stagger );
2444
- return this.stagger;
2445
- };
2446
-
2447
- /**
2448
- * Sets position of item in DOM
2449
- * @param {Outlayer.Item} item
2450
- * @param {Number} x - horizontal position
2451
- * @param {Number} y - vertical position
2452
- * @param {Boolean} isInstant - disables transitions
2453
- */
2454
- proto._positionItem = function( item, x, y, isInstant, i ) {
2455
- if ( isInstant ) {
2456
- // if not transition, just set CSS
2457
- item.goTo( x, y );
2458
- } else {
2459
- item.stagger( i * this.stagger );
2460
- item.moveTo( x, y );
2461
- }
2462
- };
2463
-
2464
- /**
2465
- * Any logic you want to do after each layout,
2466
- * i.e. size the container
2467
- */
2468
- proto._postLayout = function() {
2469
- this.resizeContainer();
2470
- };
2471
-
2472
- proto.resizeContainer = function() {
2473
- var isResizingContainer = this._getOption('resizeContainer');
2474
- if ( !isResizingContainer ) {
2475
- return;
2476
- }
2477
- var size = this._getContainerSize();
2478
- if ( size ) {
2479
- this._setContainerMeasure( size.width, true );
2480
- this._setContainerMeasure( size.height, false );
2481
- }
2482
- };
2483
-
2484
- /**
2485
- * Sets width or height of container if returned
2486
- * @returns {Object} size
2487
- * @param {Number} width
2488
- * @param {Number} height
2489
- */
2490
- proto._getContainerSize = noop;
2491
-
2492
- /**
2493
- * @param {Number} measure - size of width or height
2494
- * @param {Boolean} isWidth
2495
- */
2496
- proto._setContainerMeasure = function( measure, isWidth ) {
2497
- if ( measure === undefined ) {
2498
- return;
2499
- }
2500
-
2501
- var elemSize = this.size;
2502
- // add padding and border width if border box
2503
- if ( elemSize.isBorderBox ) {
2504
- measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
2505
- elemSize.borderLeftWidth + elemSize.borderRightWidth :
2506
- elemSize.paddingBottom + elemSize.paddingTop +
2507
- elemSize.borderTopWidth + elemSize.borderBottomWidth;
2508
- }
2509
-
2510
- measure = Math.max( measure, 0 );
2511
- this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
2512
- };
2513
-
2514
- /**
2515
- * emit eventComplete on a collection of items events
2516
- * @param {String} eventName
2517
- * @param {Array} items - Outlayer.Items
2518
- */
2519
- proto._emitCompleteOnItems = function( eventName, items ) {
2520
- var _this = this;
2521
- function onComplete() {
2522
- _this.dispatchEvent( eventName + 'Complete', null, [ items ] );
2523
- }
2524
-
2525
- var count = items.length;
2526
- if ( !items || !count ) {
2527
- onComplete();
2528
- return;
2529
- }
2530
-
2531
- var doneCount = 0;
2532
- function tick() {
2533
- doneCount++;
2534
- if ( doneCount == count ) {
2535
- onComplete();
2536
- }
2537
- }
2538
-
2539
- // bind callback
2540
- items.forEach( function( item ) {
2541
- item.once( eventName, tick );
2542
- });
2543
- };
2544
-
2545
- /**
2546
- * emits events via EvEmitter and jQuery events
2547
- * @param {String} type - name of event
2548
- * @param {Event} event - original event
2549
- * @param {Array} args - extra arguments
2550
- */
2551
- proto.dispatchEvent = function( type, event, args ) {
2552
- // add original event to arguments
2553
- var emitArgs = event ? [ event ].concat( args ) : args;
2554
- this.emitEvent( type, emitArgs );
2555
-
2556
- if ( jQuery ) {
2557
- // set this.$element
2558
- this.$element = this.$element || jQuery( this.element );
2559
- if ( event ) {
2560
- // create jQuery event
2561
- var $event = jQuery.Event( event );
2562
- $event.type = type;
2563
- this.$element.trigger( $event, args );
2564
- } else {
2565
- // just trigger with type if no event available
2566
- this.$element.trigger( type, args );
2567
- }
2568
- }
2569
- };
2570
-
2571
- // -------------------------- ignore & stamps -------------------------- //
2572
-
2573
-
2574
- /**
2575
- * keep item in collection, but do not lay it out
2576
- * ignored items do not get skipped in layout
2577
- * @param {Element} elem
2578
- */
2579
- proto.ignore = function( elem ) {
2580
- var item = this.getItem( elem );
2581
- if ( item ) {
2582
- item.isIgnored = true;
2583
- }
2584
- };
2585
-
2586
- /**
2587
- * return item to layout collection
2588
- * @param {Element} elem
2589
- */
2590
- proto.unignore = function( elem ) {
2591
- var item = this.getItem( elem );
2592
- if ( item ) {
2593
- delete item.isIgnored;
2594
- }
2595
- };
2596
-
2597
- /**
2598
- * adds elements to stamps
2599
- * @param {NodeList, Array, Element, or String} elems
2600
- */
2601
- proto.stamp = function( elems ) {
2602
- elems = this._find( elems );
2603
- if ( !elems ) {
2604
- return;
2605
- }
2606
-
2607
- this.stamps = this.stamps.concat( elems );
2608
- // ignore
2609
- elems.forEach( this.ignore, this );
2610
- };
2611
-
2612
- /**
2613
- * removes elements to stamps
2614
- * @param {NodeList, Array, or Element} elems
2615
- */
2616
- proto.unstamp = function( elems ) {
2617
- elems = this._find( elems );
2618
- if ( !elems ){
2619
- return;
2620
- }
2621
-
2622
- elems.forEach( function( elem ) {
2623
- // filter out removed stamp elements
2624
- utils.removeFrom( this.stamps, elem );
2625
- this.unignore( elem );
2626
- }, this );
2627
- };
2628
-
2629
- /**
2630
- * finds child elements
2631
- * @param {NodeList, Array, Element, or String} elems
2632
- * @returns {Array} elems
2633
- */
2634
- proto._find = function( elems ) {
2635
- if ( !elems ) {
2636
- return;
2637
- }
2638
- // if string, use argument as selector string
2639
- if ( typeof elems == 'string' ) {
2640
- elems = this.element.querySelectorAll( elems );
2641
- }
2642
- elems = utils.makeArray( elems );
2643
- return elems;
2644
- };
2645
-
2646
- proto._manageStamps = function() {
2647
- if ( !this.stamps || !this.stamps.length ) {
2648
- return;
2649
- }
2650
-
2651
- this._getBoundingRect();
2652
-
2653
- this.stamps.forEach( this._manageStamp, this );
2654
- };
2655
-
2656
- // update boundingLeft / Top
2657
- proto._getBoundingRect = function() {
2658
- // get bounding rect for container element
2659
- var boundingRect = this.element.getBoundingClientRect();
2660
- var size = this.size;
2661
- this._boundingRect = {
2662
- left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,
2663
- top: boundingRect.top + size.paddingTop + size.borderTopWidth,
2664
- right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),
2665
- bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )
2666
- };
2667
- };
2668
-
2669
- /**
2670
- * @param {Element} stamp
2671
- **/
2672
- proto._manageStamp = noop;
2673
-
2674
- /**
2675
- * get x/y position of element relative to container element
2676
- * @param {Element} elem
2677
- * @returns {Object} offset - has left, top, right, bottom
2678
- */
2679
- proto._getElementOffset = function( elem ) {
2680
- var boundingRect = elem.getBoundingClientRect();
2681
- var thisRect = this._boundingRect;
2682
- var size = getSize( elem );
2683
- var offset = {
2684
- left: boundingRect.left - thisRect.left - size.marginLeft,
2685
- top: boundingRect.top - thisRect.top - size.marginTop,
2686
- right: thisRect.right - boundingRect.right - size.marginRight,
2687
- bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom
2688
- };
2689
- return offset;
2690
- };
2691
-
2692
- // -------------------------- resize -------------------------- //
2693
-
2694
- // enable event handlers for listeners
2695
- // i.e. resize -> onresize
2696
- proto.handleEvent = utils.handleEvent;
2697
-
2698
- /**
2699
- * Bind layout to window resizing
2700
- */
2701
- proto.bindResize = function() {
2702
- window.addEventListener( 'resize', this );
2703
- this.isResizeBound = true;
2704
- };
2705
-
2706
- /**
2707
- * Unbind layout to window resizing
2708
- */
2709
- proto.unbindResize = function() {
2710
- window.removeEventListener( 'resize', this );
2711
- this.isResizeBound = false;
2712
- };
2713
-
2714
- proto.onresize = function() {
2715
- this.resize();
2716
- };
2717
-
2718
- utils.debounceMethod( Outlayer, 'onresize', 100 );
2719
-
2720
- proto.resize = function() {
2721
- // don't trigger if size did not change
2722
- // or if resize was unbound. See #9
2723
- if ( !this.isResizeBound || !this.needsResizeLayout() ) {
2724
- return;
2725
- }
2726
-
2727
- this.layout();
2728
- };
2729
-
2730
- /**
2731
- * check if layout is needed post layout
2732
- * @returns Boolean
2733
- */
2734
- proto.needsResizeLayout = function() {
2735
- var size = getSize( this.element );
2736
- // check that this.size and size are there
2737
- // IE8 triggers resize on body size change, so they might not be
2738
- var hasSizes = this.size && size;
2739
- return hasSizes && size.innerWidth !== this.size.innerWidth;
2740
- };
2741
-
2742
- // -------------------------- methods -------------------------- //
2743
-
2744
- /**
2745
- * add items to Outlayer instance
2746
- * @param {Array or NodeList or Element} elems
2747
- * @returns {Array} items - Outlayer.Items
2748
- **/
2749
- proto.addItems = function( elems ) {
2750
- var items = this._itemize( elems );
2751
- // add items to collection
2752
- if ( items.length ) {
2753
- this.items = this.items.concat( items );
2754
- }
2755
- return items;
2756
- };
2757
-
2758
- /**
2759
- * Layout newly-appended item elements
2760
- * @param {Array or NodeList or Element} elems
2761
- */
2762
- proto.appended = function( elems ) {
2763
- var items = this.addItems( elems );
2764
- if ( !items.length ) {
2765
- return;
2766
- }
2767
- // layout and reveal just the new items
2768
- this.layoutItems( items, true );
2769
- this.reveal( items );
2770
- };
2771
-
2772
- /**
2773
- * Layout prepended elements
2774
- * @param {Array or NodeList or Element} elems
2775
- */
2776
- proto.prepended = function( elems ) {
2777
- var items = this._itemize( elems );
2778
- if ( !items.length ) {
2779
- return;
2780
- }
2781
- // add items to beginning of collection
2782
- var previousItems = this.items.slice(0);
2783
- this.items = items.concat( previousItems );
2784
- // start new layout
2785
- this._resetLayout();
2786
- this._manageStamps();
2787
- // layout new stuff without transition
2788
- this.layoutItems( items, true );
2789
- this.reveal( items );
2790
- // layout previous items
2791
- this.layoutItems( previousItems );
2792
- };
2793
-
2794
- /**
2795
- * reveal a collection of items
2796
- * @param {Array of Outlayer.Items} items
2797
- */
2798
- proto.reveal = function( items ) {
2799
- this._emitCompleteOnItems( 'reveal', items );
2800
- if ( !items || !items.length ) {
2801
- return;
2802
- }
2803
- var stagger = this.updateStagger();
2804
- items.forEach( function( item, i ) {
2805
- item.stagger( i * stagger );
2806
- item.reveal();
2807
- });
2808
- };
2809
-
2810
- /**
2811
- * hide a collection of items
2812
- * @param {Array of Outlayer.Items} items
2813
- */
2814
- proto.hide = function( items ) {
2815
- this._emitCompleteOnItems( 'hide', items );
2816
- if ( !items || !items.length ) {
2817
- return;
2818
- }
2819
- var stagger = this.updateStagger();
2820
- items.forEach( function( item, i ) {
2821
- item.stagger( i * stagger );
2822
- item.hide();
2823
- });
2824
- };
2825
-
2826
- /**
2827
- * reveal item elements
2828
- * @param {Array}, {Element}, {NodeList} items
2829
- */
2830
- proto.revealItemElements = function( elems ) {
2831
- var items = this.getItems( elems );
2832
- this.reveal( items );
2833
- };
2834
-
2835
- /**
2836
- * hide item elements
2837
- * @param {Array}, {Element}, {NodeList} items
2838
- */
2839
- proto.hideItemElements = function( elems ) {
2840
- var items = this.getItems( elems );
2841
- this.hide( items );
2842
- };
2843
-
2844
- /**
2845
- * get Outlayer.Item, given an Element
2846
- * @param {Element} elem
2847
- * @param {Function} callback
2848
- * @returns {Outlayer.Item} item
2849
- */
2850
- proto.getItem = function( elem ) {
2851
- // loop through items to get the one that matches
2852
- for ( var i=0; i < this.items.length; i++ ) {
2853
- var item = this.items[i];
2854
- if ( item.element == elem ) {
2855
- // return item
2856
- return item;
2857
- }
2858
- }
2859
- };
2860
-
2861
- /**
2862
- * get collection of Outlayer.Items, given Elements
2863
- * @param {Array} elems
2864
- * @returns {Array} items - Outlayer.Items
2865
- */
2866
- proto.getItems = function( elems ) {
2867
- elems = utils.makeArray( elems );
2868
- var items = [];
2869
- elems.forEach( function( elem ) {
2870
- var item = this.getItem( elem );
2871
- if ( item ) {
2872
- items.push( item );
2873
- }
2874
- }, this );
2875
-
2876
- return items;
2877
- };
2878
-
2879
- /**
2880
- * remove element(s) from instance and DOM
2881
- * @param {Array or NodeList or Element} elems
2882
- */
2883
- proto.remove = function( elems ) {
2884
- var removeItems = this.getItems( elems );
2885
-
2886
- this._emitCompleteOnItems( 'remove', removeItems );
2887
-
2888
- // bail if no items to remove
2889
- if ( !removeItems || !removeItems.length ) {
2890
- return;
2891
- }
2892
-
2893
- removeItems.forEach( function( item ) {
2894
- item.remove();
2895
- // remove item from collection
2896
- utils.removeFrom( this.items, item );
2897
- }, this );
2898
- };
2899
-
2900
- // ----- destroy ----- //
2901
-
2902
- // remove and disable Outlayer instance
2903
- proto.destroy = function() {
2904
- // clean up dynamic styles
2905
- var style = this.element.style;
2906
- style.height = '';
2907
- style.position = '';
2908
- style.width = '';
2909
- // destroy items
2910
- this.items.forEach( function( item ) {
2911
- item.destroy();
2912
- });
2913
-
2914
- this.unbindResize();
2915
-
2916
- var id = this.element.outlayerGUID;
2917
- delete instances[ id ]; // remove reference to instance by id
2918
- delete this.element.outlayerGUID;
2919
- // remove data for jQuery
2920
- if ( jQuery ) {
2921
- jQuery.removeData( this.element, this.constructor.namespace );
2922
- }
2923
-
2924
- };
2925
-
2926
- // -------------------------- data -------------------------- //
2927
-
2928
- /**
2929
- * get Outlayer instance from element
2930
- * @param {Element} elem
2931
- * @returns {Outlayer}
2932
- */
2933
- Outlayer.data = function( elem ) {
2934
- elem = utils.getQueryElement( elem );
2935
- var id = elem && elem.outlayerGUID;
2936
- return id && instances[ id ];
2937
- };
2938
-
2939
-
2940
- // -------------------------- create Outlayer class -------------------------- //
2941
-
2942
- /**
2943
- * create a layout class
2944
- * @param {String} namespace
2945
- */
2946
- Outlayer.create = function( namespace, options ) {
2947
- // sub-class Outlayer
2948
- var Layout = subclass( Outlayer );
2949
- // apply new options and compatOptions
2950
- Layout.defaults = utils.extend( {}, Outlayer.defaults );
2951
- utils.extend( Layout.defaults, options );
2952
- Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
2953
-
2954
- Layout.namespace = namespace;
2955
-
2956
- Layout.data = Outlayer.data;
2957
-
2958
- // sub-class Item
2959
- Layout.Item = subclass( Item );
2960
-
2961
- // -------------------------- declarative -------------------------- //
2962
-
2963
- utils.htmlInit( Layout, namespace );
2964
-
2965
- // -------------------------- jQuery bridge -------------------------- //
2966
-
2967
- // make into jQuery plugin
2968
- if ( jQuery && jQuery.bridget ) {
2969
- jQuery.bridget( namespace, Layout );
2970
- }
2971
-
2972
- return Layout;
2973
- };
2974
-
2975
- function subclass( Parent ) {
2976
- function SubClass() {
2977
- Parent.apply( this, arguments );
2978
- }
2979
-
2980
- SubClass.prototype = Object.create( Parent.prototype );
2981
- SubClass.prototype.constructor = SubClass;
2982
-
2983
- return SubClass;
2984
- }
2985
-
2986
- // ----- helpers ----- //
2987
-
2988
- // how many milliseconds are in each unit
2989
- var msUnits = {
2990
- ms: 1,
2991
- s: 1000
2992
- };
2993
-
2994
- // munge time-like parameter into millisecond number
2995
- // '0.4s' -> 40
2996
- function getMilliseconds( time ) {
2997
- if ( typeof time == 'number' ) {
2998
- return time;
2999
- }
3000
- var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
3001
- var num = matches && matches[1];
3002
- var unit = matches && matches[2];
3003
- if ( !num.length ) {
3004
- return 0;
3005
- }
3006
- num = parseFloat( num );
3007
- var mult = msUnits[ unit ] || 1;
3008
- return num * mult;
3009
- }
3010
-
3011
- // ----- fin ----- //
3012
-
3013
- // back in global
3014
- Outlayer.Item = Item;
3015
-
3016
- return Outlayer;
3017
-
3018
- }));
3019
-
3020
- /**
3021
- * Isotope Item
3022
- **/
3023
-
3024
- ( function( window, factory ) {
3025
- // universal module definition
3026
- /* jshint strict: false */ /*globals define, module, require */
3027
- if ( typeof define == 'function' && define.amd ) {
3028
- // AMD
3029
- define( 'isotope-layout/js/item',[
3030
- 'outlayer/outlayer'
3031
- ],
3032
- factory );
3033
- } else if ( typeof module == 'object' && module.exports ) {
3034
- // CommonJS
3035
- module.exports = factory(
3036
- require('outlayer')
3037
- );
3038
- } else {
3039
- // browser global
3040
- window.Isotope = window.Isotope || {};
3041
- window.Isotope.Item = factory(
3042
- window.Outlayer
3043
- );
3044
- }
3045
-
3046
- }( window, function factory( Outlayer ) {
3047
- 'use strict';
3048
-
3049
- // -------------------------- Item -------------------------- //
3050
-
3051
- // sub-class Outlayer Item
3052
- function Item() {
3053
- Outlayer.Item.apply( this, arguments );
3054
- }
3055
-
3056
- var proto = Item.prototype = Object.create( Outlayer.Item.prototype );
3057
-
3058
- var _create = proto._create;
3059
- proto._create = function() {
3060
- // assign id, used for original-order sorting
3061
- this.id = this.layout.itemGUID++;
3062
- _create.call( this );
3063
- this.sortData = {};
3064
- };
3065
-
3066
- proto.updateSortData = function() {
3067
- if ( this.isIgnored ) {
3068
- return;
3069
- }
3070
- // default sorters
3071
- this.sortData.id = this.id;
3072
- // for backward compatibility
3073
- this.sortData['original-order'] = this.id;
3074
- this.sortData.random = Math.random();
3075
- // go thru getSortData obj and apply the sorters
3076
- var getSortData = this.layout.options.getSortData;
3077
- var sorters = this.layout._sorters;
3078
- for ( var key in getSortData ) {
3079
- var sorter = sorters[ key ];
3080
- this.sortData[ key ] = sorter( this.element, this );
3081
- }
3082
- };
3083
-
3084
- var _destroy = proto.destroy;
3085
- proto.destroy = function() {
3086
- // call super
3087
- _destroy.apply( this, arguments );
3088
- // reset display, #741
3089
- this.css({
3090
- display: ''
3091
- });
3092
- };
3093
-
3094
- return Item;
3095
-
3096
- }));
3097
-
3098
- /**
3099
- * Isotope LayoutMode
3100
- */
3101
-
3102
- ( function( window, factory ) {
3103
- // universal module definition
3104
- /* jshint strict: false */ /*globals define, module, require */
3105
- if ( typeof define == 'function' && define.amd ) {
3106
- // AMD
3107
- define( 'isotope-layout/js/layout-mode',[
3108
- 'get-size/get-size',
3109
- 'outlayer/outlayer'
3110
- ],
3111
- factory );
3112
- } else if ( typeof module == 'object' && module.exports ) {
3113
- // CommonJS
3114
- module.exports = factory(
3115
- require('get-size'),
3116
- require('outlayer')
3117
- );
3118
- } else {
3119
- // browser global
3120
- window.Isotope = window.Isotope || {};
3121
- window.Isotope.LayoutMode = factory(
3122
- window.getSize,
3123
- window.Outlayer
3124
- );
3125
- }
3126
-
3127
- }( window, function factory( getSize, Outlayer ) {
3128
- 'use strict';
3129
-
3130
- // layout mode class
3131
- function LayoutMode( isotope ) {
3132
- this.isotope = isotope;
3133
- // link properties
3134
- if ( isotope ) {
3135
- this.options = isotope.options[ this.namespace ];
3136
- this.element = isotope.element;
3137
- this.items = isotope.filteredItems;
3138
- this.size = isotope.size;
3139
- }
3140
- }
3141
-
3142
- var proto = LayoutMode.prototype;
3143
-
3144
- /**
3145
- * some methods should just defer to default Outlayer method
3146
- * and reference the Isotope instance as `this`
3147
- **/
3148
- var facadeMethods = [
3149
- '_resetLayout',
3150
- '_getItemLayoutPosition',
3151
- '_manageStamp',
3152
- '_getContainerSize',
3153
- '_getElementOffset',
3154
- 'needsResizeLayout',
3155
- '_getOption'
3156
- ];
3157
-
3158
- facadeMethods.forEach( function( methodName ) {
3159
- proto[ methodName ] = function() {
3160
- return Outlayer.prototype[ methodName ].apply( this.isotope, arguments );
3161
- };
3162
- });
3163
-
3164
- // ----- ----- //
3165
-
3166
- // for horizontal layout modes, check vertical size
3167
- proto.needsVerticalResizeLayout = function() {
3168
- // don't trigger if size did not change
3169
- var size = getSize( this.isotope.element );
3170
- // check that this.size and size are there
3171
- // IE8 triggers resize on body size change, so they might not be
3172
- var hasSizes = this.isotope.size && size;
3173
- return hasSizes && size.innerHeight != this.isotope.size.innerHeight;
3174
- };
3175
-
3176
- // ----- measurements ----- //
3177
-
3178
- proto._getMeasurement = function() {
3179
- this.isotope._getMeasurement.apply( this, arguments );
3180
- };
3181
-
3182
- proto.getColumnWidth = function() {
3183
- this.getSegmentSize( 'column', 'Width' );
3184
- };
3185
-
3186
- proto.getRowHeight = function() {
3187
- this.getSegmentSize( 'row', 'Height' );
3188
- };
3189
-
3190
- /**
3191
- * get columnWidth or rowHeight
3192
- * segment: 'column' or 'row'
3193
- * size 'Width' or 'Height'
3194
- **/
3195
- proto.getSegmentSize = function( segment, size ) {
3196
- var segmentName = segment + size;
3197
- var outerSize = 'outer' + size;
3198
- // columnWidth / outerWidth // rowHeight / outerHeight
3199
- this._getMeasurement( segmentName, outerSize );
3200
- // got rowHeight or columnWidth, we can chill
3201
- if ( this[ segmentName ] ) {
3202
- return;
3203
- }
3204
- // fall back to item of first element
3205
- var firstItemSize = this.getFirstItemSize();
3206
- this[ segmentName ] = firstItemSize && firstItemSize[ outerSize ] ||
3207
- // or size of container
3208
- this.isotope.size[ 'inner' + size ];
3209
- };
3210
-
3211
- proto.getFirstItemSize = function() {
3212
- var firstItem = this.isotope.filteredItems[0];
3213
- return firstItem && firstItem.element && getSize( firstItem.element );
3214
- };
3215
-
3216
- // ----- methods that should reference isotope ----- //
3217
-
3218
- proto.layout = function() {
3219
- this.isotope.layout.apply( this.isotope, arguments );
3220
- };
3221
-
3222
- proto.getSize = function() {
3223
- this.isotope.getSize();
3224
- this.size = this.isotope.size;
3225
- };
3226
-
3227
- // -------------------------- create -------------------------- //
3228
-
3229
- LayoutMode.modes = {};
3230
-
3231
- LayoutMode.create = function( namespace, options ) {
3232
-
3233
- function Mode() {
3234
- LayoutMode.apply( this, arguments );
3235
- }
3236
-
3237
- Mode.prototype = Object.create( proto );
3238
- Mode.prototype.constructor = Mode;
3239
-
3240
- // default options
3241
- if ( options ) {
3242
- Mode.options = options;
3243
- }
3244
-
3245
- Mode.prototype.namespace = namespace;
3246
- // register in Isotope
3247
- LayoutMode.modes[ namespace ] = Mode;
3248
-
3249
- return Mode;
3250
- };
3251
-
3252
- return LayoutMode;
3253
-
3254
- }));
3255
-
3256
- /*!
3257
- * Masonry v4.2.1
3258
- * Cascading grid layout library
3259
- * https://masonry.desandro.com
3260
- * MIT License
3261
- * by David DeSandro
3262
- */
3263
-
3264
- ( function( window, factory ) {
3265
- // universal module definition
3266
- /* jshint strict: false */ /*globals define, module, require */
3267
- if ( typeof define == 'function' && define.amd ) {
3268
- // AMD
3269
- define( 'masonry-layout/masonry',[
3270
- 'outlayer/outlayer',
3271
- 'get-size/get-size'
3272
- ],
3273
- factory );
3274
- } else if ( typeof module == 'object' && module.exports ) {
3275
- // CommonJS
3276
- module.exports = factory(
3277
- require('outlayer'),
3278
- require('get-size')
3279
- );
3280
- } else {
3281
- // browser global
3282
- window.Masonry = factory(
3283
- window.Outlayer,
3284
- window.getSize
3285
- );
3286
- }
3287
-
3288
- }( window, function factory( Outlayer, getSize ) {
3289
-
3290
-
3291
-
3292
- // -------------------------- masonryDefinition -------------------------- //
3293
-
3294
- // create an Outlayer layout class
3295
- var Masonry = Outlayer.create('masonry');
3296
- // isFitWidth -> fitWidth
3297
- Masonry.compatOptions.fitWidth = 'isFitWidth';
3298
-
3299
- var proto = Masonry.prototype;
3300
-
3301
- proto._resetLayout = function() {
3302
- this.getSize();
3303
- this._getMeasurement( 'columnWidth', 'outerWidth' );
3304
- this._getMeasurement( 'gutter', 'outerWidth' );
3305
- this.measureColumns();
3306
-
3307
- // reset column Y
3308
- this.colYs = [];
3309
- for ( var i=0; i < this.cols; i++ ) {
3310
- this.colYs.push( 0 );
3311
- }
3312
-
3313
- this.maxY = 0;
3314
- this.horizontalColIndex = 0;
3315
- };
3316
-
3317
- proto.measureColumns = function() {
3318
- this.getContainerWidth();
3319
- // if columnWidth is 0, default to outerWidth of first item
3320
- if ( !this.columnWidth ) {
3321
- var firstItem = this.items[0];
3322
- var firstItemElem = firstItem && firstItem.element;
3323
- // columnWidth fall back to item of first element
3324
- this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
3325
- // if first elem has no width, default to size of container
3326
- this.containerWidth;
3327
- }
3328
-
3329
- var columnWidth = this.columnWidth += this.gutter;
3330
-
3331
- // calculate columns
3332
- var containerWidth = this.containerWidth + this.gutter;
3333
- var cols = containerWidth / columnWidth;
3334
- // fix rounding errors, typically with gutters
3335
- var excess = columnWidth - containerWidth % columnWidth;
3336
- // if overshoot is less than a pixel, round up, otherwise floor it
3337
- var mathMethod = excess && excess < 1 ? 'round' : 'floor';
3338
- cols = Math[ mathMethod ]( cols );
3339
- this.cols = Math.max( cols, 1 );
3340
- };
3341
-
3342
- proto.getContainerWidth = function() {
3343
- // container is parent if fit width
3344
- var isFitWidth = this._getOption('fitWidth');
3345
- var container = isFitWidth ? this.element.parentNode : this.element;
3346
- // check that this.size and size are there
3347
- // IE8 triggers resize on body size change, so they might not be
3348
- var size = getSize( container );
3349
- this.containerWidth = size && size.innerWidth;
3350
- };
3351
-
3352
- proto._getItemLayoutPosition = function( item ) {
3353
- item.getSize();
3354
- // how many columns does this brick span
3355
- var remainder = item.size.outerWidth % this.columnWidth;
3356
- var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
3357
- // round if off by 1 pixel, otherwise use ceil
3358
- var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
3359
- colSpan = Math.min( colSpan, this.cols );
3360
- // use horizontal or top column position
3361
- var colPosMethod = this.options.horizontalOrder ?
3362
- '_getHorizontalColPosition' : '_getTopColPosition';
3363
- var colPosition = this[ colPosMethod ]( colSpan, item );
3364
- // position the brick
3365
- var position = {
3366
- x: this.columnWidth * colPosition.col,
3367
- y: colPosition.y
3368
- };
3369
- // apply setHeight to necessary columns
3370
- var setHeight = colPosition.y + item.size.outerHeight;
3371
- var setMax = colSpan + colPosition.col;
3372
- for ( var i = colPosition.col; i < setMax; i++ ) {
3373
- this.colYs[i] = setHeight;
3374
- }
3375
-
3376
- return position;
3377
- };
3378
-
3379
- proto._getTopColPosition = function( colSpan ) {
3380
- var colGroup = this._getTopColGroup( colSpan );
3381
- // get the minimum Y value from the columns
3382
- var minimumY = Math.min.apply( Math, colGroup );
3383
-
3384
- return {
3385
- col: colGroup.indexOf( minimumY ),
3386
- y: minimumY,
3387
- };
3388
- };
3389
-
3390
- /**
3391
- * @param {Number} colSpan - number of columns the element spans
3392
- * @returns {Array} colGroup
3393
- */
3394
- proto._getTopColGroup = function( colSpan ) {
3395
- if ( colSpan < 2 ) {
3396
- // if brick spans only one column, use all the column Ys
3397
- return this.colYs;
3398
- }
3399
-
3400
- var colGroup = [];
3401
- // how many different places could this brick fit horizontally
3402
- var groupCount = this.cols + 1 - colSpan;
3403
- // for each group potential horizontal position
3404
- for ( var i = 0; i < groupCount; i++ ) {
3405
- colGroup[i] = this._getColGroupY( i, colSpan );
3406
- }
3407
- return colGroup;
3408
- };
3409
-
3410
- proto._getColGroupY = function( col, colSpan ) {
3411
- if ( colSpan < 2 ) {
3412
- return this.colYs[ col ];
3413
- }
3414
- // make an array of colY values for that one group
3415
- var groupColYs = this.colYs.slice( col, col + colSpan );
3416
- // and get the max value of the array
3417
- return Math.max.apply( Math, groupColYs );
3418
- };
3419
-
3420
- // get column position based on horizontal index. #873
3421
- proto._getHorizontalColPosition = function( colSpan, item ) {
3422
- var col = this.horizontalColIndex % this.cols;
3423
- var isOver = colSpan > 1 && col + colSpan > this.cols;
3424
- // shift to next row if item can't fit on current row
3425
- col = isOver ? 0 : col;
3426
- // don't let zero-size items take up space
3427
- var hasSize = item.size.outerWidth && item.size.outerHeight;
3428
- this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
3429
-
3430
- return {
3431
- col: col,
3432
- y: this._getColGroupY( col, colSpan ),
3433
- };
3434
- };
3435
-
3436
- proto._manageStamp = function( stamp ) {
3437
- var stampSize = getSize( stamp );
3438
- var offset = this._getElementOffset( stamp );
3439
- // get the columns that this stamp affects
3440
- var isOriginLeft = this._getOption('originLeft');
3441
- var firstX = isOriginLeft ? offset.left : offset.right;
3442
- var lastX = firstX + stampSize.outerWidth;
3443
- var firstCol = Math.floor( firstX / this.columnWidth );
3444
- firstCol = Math.max( 0, firstCol );
3445
- var lastCol = Math.floor( lastX / this.columnWidth );
3446
- // lastCol should not go over if multiple of columnWidth #425
3447
- lastCol -= lastX % this.columnWidth ? 0 : 1;
3448
- lastCol = Math.min( this.cols - 1, lastCol );
3449
- // set colYs to bottom of the stamp
3450
-
3451
- var isOriginTop = this._getOption('originTop');
3452
- var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +
3453
- stampSize.outerHeight;
3454
- for ( var i = firstCol; i <= lastCol; i++ ) {
3455
- this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );
3456
- }
3457
- };
3458
-
3459
- proto._getContainerSize = function() {
3460
- this.maxY = Math.max.apply( Math, this.colYs );
3461
- var size = {
3462
- height: this.maxY
3463
- };
3464
-
3465
- if ( this._getOption('fitWidth') ) {
3466
- size.width = this._getContainerFitWidth();
3467
- }
3468
-
3469
- return size;
3470
- };
3471
-
3472
- proto._getContainerFitWidth = function() {
3473
- var unusedCols = 0;
3474
- // count unused columns
3475
- var i = this.cols;
3476
- while ( --i ) {
3477
- if ( this.colYs[i] !== 0 ) {
3478
- break;
3479
- }
3480
- unusedCols++;
3481
- }
3482
- // fit container to columns that have been used
3483
- return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
3484
- };
3485
-
3486
- proto.needsResizeLayout = function() {
3487
- var previousWidth = this.containerWidth;
3488
- this.getContainerWidth();
3489
- return previousWidth != this.containerWidth;
3490
- };
3491
-
3492
- return Masonry;
3493
-
3494
- }));
3495
-
3496
- /*!
3497
- * Masonry layout mode
3498
- * sub-classes Masonry
3499
- * https://masonry.desandro.com
3500
- */
3501
-
3502
- ( function( window, factory ) {
3503
- // universal module definition
3504
- /* jshint strict: false */ /*globals define, module, require */
3505
- if ( typeof define == 'function' && define.amd ) {
3506
- // AMD
3507
- define( 'isotope-layout/js/layout-modes/masonry',[
3508
- '../layout-mode',
3509
- 'masonry-layout/masonry'
3510
- ],
3511
- factory );
3512
- } else if ( typeof module == 'object' && module.exports ) {
3513
- // CommonJS
3514
- module.exports = factory(
3515
- require('../layout-mode'),
3516
- require('masonry-layout')
3517
- );
3518
- } else {
3519
- // browser global
3520
- factory(
3521
- window.Isotope.LayoutMode,
3522
- window.Masonry
3523
- );
3524
- }
3525
-
3526
- }( window, function factory( LayoutMode, Masonry ) {
3527
- 'use strict';
3528
-
3529
- // -------------------------- masonryDefinition -------------------------- //
3530
-
3531
- // create an Outlayer layout class
3532
- var MasonryMode = LayoutMode.create('masonry');
3533
-
3534
- var proto = MasonryMode.prototype;
3535
-
3536
- var keepModeMethods = {
3537
- _getElementOffset: true,
3538
- layout: true,
3539
- _getMeasurement: true
3540
- };
3541
-
3542
- // inherit Masonry prototype
3543
- for ( var method in Masonry.prototype ) {
3544
- // do not inherit mode methods
3545
- if ( !keepModeMethods[ method ] ) {
3546
- proto[ method ] = Masonry.prototype[ method ];
3547
- }
3548
- }
3549
-
3550
- var measureColumns = proto.measureColumns;
3551
- proto.measureColumns = function() {
3552
- // set items, used if measuring first item
3553
- this.items = this.isotope.filteredItems;
3554
- measureColumns.call( this );
3555
- };
3556
-
3557
- // point to mode options for fitWidth
3558
- var _getOption = proto._getOption;
3559
- proto._getOption = function( option ) {
3560
- if ( option == 'fitWidth' ) {
3561
- return this.options.isFitWidth !== undefined ?
3562
- this.options.isFitWidth : this.options.fitWidth;
3563
- }
3564
- return _getOption.apply( this.isotope, arguments );
3565
- };
3566
-
3567
- return MasonryMode;
3568
-
3569
- }));
3570
-
3571
- /**
3572
- * fitRows layout mode
3573
- */
3574
-
3575
- ( function( window, factory ) {
3576
- // universal module definition
3577
- /* jshint strict: false */ /*globals define, module, require */
3578
- if ( typeof define == 'function' && define.amd ) {
3579
- // AMD
3580
- define( 'isotope-layout/js/layout-modes/fit-rows',[
3581
- '../layout-mode'
3582
- ],
3583
- factory );
3584
- } else if ( typeof exports == 'object' ) {
3585
- // CommonJS
3586
- module.exports = factory(
3587
- require('../layout-mode')
3588
- );
3589
- } else {
3590
- // browser global
3591
- factory(
3592
- window.Isotope.LayoutMode
3593
- );
3594
- }
3595
-
3596
- }( window, function factory( LayoutMode ) {
3597
- 'use strict';
3598
-
3599
- var FitRows = LayoutMode.create('fitRows');
3600
-
3601
- var proto = FitRows.prototype;
3602
-
3603
- proto._resetLayout = function() {
3604
- this.x = 0;
3605
- this.y = 0;
3606
- this.maxY = 0;
3607
- this._getMeasurement( 'gutter', 'outerWidth' );
3608
- };
3609
-
3610
- proto._getItemLayoutPosition = function( item ) {
3611
- item.getSize();
3612
-
3613
- var itemWidth = item.size.outerWidth + this.gutter;
3614
- // if this element cannot fit in the current row
3615
- var containerWidth = this.isotope.size.innerWidth + this.gutter;
3616
- if ( this.x !== 0 && itemWidth + this.x > containerWidth ) {
3617
- this.x = 0;
3618
- this.y = this.maxY;
3619
- }
3620
-
3621
- var position = {
3622
- x: this.x,
3623
- y: this.y
3624
- };
3625
-
3626
- this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
3627
- this.x += itemWidth;
3628
-
3629
- return position;
3630
- };
3631
-
3632
- proto._getContainerSize = function() {
3633
- return { height: this.maxY };
3634
- };
3635
-
3636
- return FitRows;
3637
-
3638
- }));
3639
-
3640
- /**
3641
- * vertical layout mode
3642
- */
3643
-
3644
- ( function( window, factory ) {
3645
- // universal module definition
3646
- /* jshint strict: false */ /*globals define, module, require */
3647
- if ( typeof define == 'function' && define.amd ) {
3648
- // AMD
3649
- define( 'isotope-layout/js/layout-modes/vertical',[
3650
- '../layout-mode'
3651
- ],
3652
- factory );
3653
- } else if ( typeof module == 'object' && module.exports ) {
3654
- // CommonJS
3655
- module.exports = factory(
3656
- require('../layout-mode')
3657
- );
3658
- } else {
3659
- // browser global
3660
- factory(
3661
- window.Isotope.LayoutMode
3662
- );
3663
- }
3664
-
3665
- }( window, function factory( LayoutMode ) {
3666
- 'use strict';
3667
-
3668
- var Vertical = LayoutMode.create( 'vertical', {
3669
- horizontalAlignment: 0
3670
- });
3671
-
3672
- var proto = Vertical.prototype;
3673
-
3674
- proto._resetLayout = function() {
3675
- this.y = 0;
3676
- };
3677
-
3678
- proto._getItemLayoutPosition = function( item ) {
3679
- item.getSize();
3680
- var x = ( this.isotope.size.innerWidth - item.size.outerWidth ) *
3681
- this.options.horizontalAlignment;
3682
- var y = this.y;
3683
- this.y += item.size.outerHeight;
3684
- return { x: x, y: y };
3685
- };
3686
-
3687
- proto._getContainerSize = function() {
3688
- return { height: this.y };
3689
- };
3690
-
3691
- return Vertical;
3692
-
3693
- }));
3694
-
3695
- /*!
3696
- * Isotope v3.0.6
3697
- *
3698
- * Licensed GPLv3 for open source use
3699
- * or Isotope Commercial License for commercial use
3700
- *
3701
- * https://isotope.metafizzy.co
3702
- * Copyright 2010-2018 Metafizzy
3703
- */
3704
-
3705
- ( function( window, factory ) {
3706
- // universal module definition
3707
- /* jshint strict: false */ /*globals define, module, require */
3708
- if ( typeof define == 'function' && define.amd ) {
3709
- // AMD
3710
- define( [
3711
- 'outlayer/outlayer',
3712
- 'get-size/get-size',
3713
- 'desandro-matches-selector/matches-selector',
3714
- 'fizzy-ui-utils/utils',
3715
- 'isotope-layout/js/item',
3716
- 'isotope-layout/js/layout-mode',
3717
- // include default layout modes
3718
- 'isotope-layout/js/layout-modes/masonry',
3719
- 'isotope-layout/js/layout-modes/fit-rows',
3720
- 'isotope-layout/js/layout-modes/vertical'
3721
- ],
3722
- function( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) {
3723
- return factory( window, Outlayer, getSize, matchesSelector, utils, Item, LayoutMode );
3724
- });
3725
- } else if ( typeof module == 'object' && module.exports ) {
3726
- // CommonJS
3727
- module.exports = factory(
3728
- window,
3729
- require('outlayer'),
3730
- require('get-size'),
3731
- require('desandro-matches-selector'),
3732
- require('fizzy-ui-utils'),
3733
- require('isotope-layout/js/item'),
3734
- require('isotope-layout/js/layout-mode'),
3735
- // include default layout modes
3736
- require('isotope-layout/js/layout-modes/masonry'),
3737
- require('isotope-layout/js/layout-modes/fit-rows'),
3738
- require('isotope-layout/js/layout-modes/vertical')
3739
- );
3740
- } else {
3741
- // browser global
3742
- window.Isotope = factory(
3743
- window,
3744
- window.Outlayer,
3745
- window.getSize,
3746
- window.matchesSelector,
3747
- window.fizzyUIUtils,
3748
- window.Isotope.Item,
3749
- window.Isotope.LayoutMode
3750
- );
3751
- }
3752
-
3753
- }( window, function factory( window, Outlayer, getSize, matchesSelector, utils,
3754
- Item, LayoutMode ) {
3755
-
3756
-
3757
-
3758
- // -------------------------- vars -------------------------- //
3759
-
3760
- var jQuery = window.jQuery;
3761
-
3762
- // -------------------------- helpers -------------------------- //
3763
-
3764
- var trim = String.prototype.trim ?
3765
- function( str ) {
3766
- return str.trim();
3767
- } :
3768
- function( str ) {
3769
- return str.replace( /^\s+|\s+$/g, '' );
3770
- };
3771
-
3772
- // -------------------------- isotopeDefinition -------------------------- //
3773
-
3774
- // create an Outlayer layout class
3775
- var Isotope = Outlayer.create( 'isotope', {
3776
- layoutMode: 'masonry',
3777
- isJQueryFiltering: true,
3778
- sortAscending: true
3779
- });
3780
-
3781
- Isotope.Item = Item;
3782
- Isotope.LayoutMode = LayoutMode;
3783
-
3784
- var proto = Isotope.prototype;
3785
-
3786
- proto._create = function() {
3787
- this.itemGUID = 0;
3788
- // functions that sort items
3789
- this._sorters = {};
3790
- this._getSorters();
3791
- // call super
3792
- Outlayer.prototype._create.call( this );
3793
-
3794
- // create layout modes
3795
- this.modes = {};
3796
- // start filteredItems with all items
3797
- this.filteredItems = this.items;
3798
- // keep of track of sortBys
3799
- this.sortHistory = [ 'original-order' ];
3800
- // create from registered layout modes
3801
- for ( var name in LayoutMode.modes ) {
3802
- this._initLayoutMode( name );
3803
- }
3804
- };
3805
-
3806
- proto.reloadItems = function() {
3807
- // reset item ID counter
3808
- this.itemGUID = 0;
3809
- // call super
3810
- Outlayer.prototype.reloadItems.call( this );
3811
- };
3812
-
3813
- proto._itemize = function() {
3814
- var items = Outlayer.prototype._itemize.apply( this, arguments );
3815
- // assign ID for original-order
3816
- for ( var i=0; i < items.length; i++ ) {
3817
- var item = items[i];
3818
- item.id = this.itemGUID++;
3819
- }
3820
- this._updateItemsSortData( items );
3821
- return items;
3822
- };
3823
-
3824
-
3825
- // -------------------------- layout -------------------------- //
3826
-
3827
- proto._initLayoutMode = function( name ) {
3828
- var Mode = LayoutMode.modes[ name ];
3829
- // set mode options
3830
- // HACK extend initial options, back-fill in default options
3831
- var initialOpts = this.options[ name ] || {};
3832
- this.options[ name ] = Mode.options ?
3833
- utils.extend( Mode.options, initialOpts ) : initialOpts;
3834
- // init layout mode instance
3835
- this.modes[ name ] = new Mode( this );
3836
- };
3837
-
3838
-
3839
- proto.layout = function() {
3840
- // if first time doing layout, do all magic
3841
- if ( !this._isLayoutInited && this._getOption('initLayout') ) {
3842
- this.arrange();
3843
- return;
3844
- }
3845
- this._layout();
3846
- };
3847
-
3848
- // private method to be used in layout() & magic()
3849
- proto._layout = function() {
3850
- // don't animate first layout
3851
- var isInstant = this._getIsInstant();
3852
- // layout flow
3853
- this._resetLayout();
3854
- this._manageStamps();
3855
- this.layoutItems( this.filteredItems, isInstant );
3856
-
3857
- // flag for initalized
3858
- this._isLayoutInited = true;
3859
- };
3860
-
3861
- // filter + sort + layout
3862
- proto.arrange = function( opts ) {
3863
- // set any options pass
3864
- this.option( opts );
3865
- this._getIsInstant();
3866
- // filter, sort, and layout
3867
-
3868
- // filter
3869
- var filtered = this._filter( this.items );
3870
- this.filteredItems = filtered.matches;
3871
-
3872
- this._bindArrangeComplete();
3873
-
3874
- if ( this._isInstant ) {
3875
- this._noTransition( this._hideReveal, [ filtered ] );
3876
- } else {
3877
- this._hideReveal( filtered );
3878
- }
3879
-
3880
- this._sort();
3881
- this._layout();
3882
- };
3883
- // alias to _init for main plugin method
3884
- proto._init = proto.arrange;
3885
-
3886
- proto._hideReveal = function( filtered ) {
3887
- this.reveal( filtered.needReveal );
3888
- this.hide( filtered.needHide );
3889
- };
3890
-
3891
- // HACK
3892
- // Don't animate/transition first layout
3893
- // Or don't animate/transition other layouts
3894
- proto._getIsInstant = function() {
3895
- var isLayoutInstant = this._getOption('layoutInstant');
3896
- var isInstant = isLayoutInstant !== undefined ? isLayoutInstant :
3897
- !this._isLayoutInited;
3898
- this._isInstant = isInstant;
3899
- return isInstant;
3900
- };
3901
-
3902
- // listen for layoutComplete, hideComplete and revealComplete
3903
- // to trigger arrangeComplete
3904
- proto._bindArrangeComplete = function() {
3905
- // listen for 3 events to trigger arrangeComplete
3906
- var isLayoutComplete, isHideComplete, isRevealComplete;
3907
- var _this = this;
3908
- function arrangeParallelCallback() {
3909
- if ( isLayoutComplete && isHideComplete && isRevealComplete ) {
3910
- _this.dispatchEvent( 'arrangeComplete', null, [ _this.filteredItems ] );
3911
- }
3912
- }
3913
- this.once( 'layoutComplete', function() {
3914
- isLayoutComplete = true;
3915
- arrangeParallelCallback();
3916
- });
3917
- this.once( 'hideComplete', function() {
3918
- isHideComplete = true;
3919
- arrangeParallelCallback();
3920
- });
3921
- this.once( 'revealComplete', function() {
3922
- isRevealComplete = true;
3923
- arrangeParallelCallback();
3924
- });
3925
- };
3926
-
3927
- // -------------------------- filter -------------------------- //
3928
-
3929
- proto._filter = function( items ) {
3930
- var filter = this.options.filter;
3931
- filter = filter || '*';
3932
- var matches = [];
3933
- var hiddenMatched = [];
3934
- var visibleUnmatched = [];
3935
-
3936
- var test = this._getFilterTest( filter );
3937
-
3938
- // test each item
3939
- for ( var i=0; i < items.length; i++ ) {
3940
- var item = items[i];
3941
- if ( item.isIgnored ) {
3942
- continue;
3943
- }
3944
- // add item to either matched or unmatched group
3945
- var isMatched = test( item );
3946
- // item.isFilterMatched = isMatched;
3947
- // add to matches if its a match
3948
- if ( isMatched ) {
3949
- matches.push( item );
3950
- }
3951
- // add to additional group if item needs to be hidden or revealed
3952
- if ( isMatched && item.isHidden ) {
3953
- hiddenMatched.push( item );
3954
- } else if ( !isMatched && !item.isHidden ) {
3955
- visibleUnmatched.push( item );
3956
- }
3957
- }
3958
-
3959
- // return collections of items to be manipulated
3960
- return {
3961
- matches: matches,
3962
- needReveal: hiddenMatched,
3963
- needHide: visibleUnmatched
3964
- };
3965
- };
3966
-
3967
- // get a jQuery, function, or a matchesSelector test given the filter
3968
- proto._getFilterTest = function( filter ) {
3969
- if ( jQuery && this.options.isJQueryFiltering ) {
3970
- // use jQuery
3971
- return function( item ) {
3972
- return jQuery( item.element ).is( filter );
3973
- };
3974
- }
3975
- if ( typeof filter == 'function' ) {
3976
- // use filter as function
3977
- return function( item ) {
3978
- return filter( item.element );
3979
- };
3980
- }
3981
- // default, use filter as selector string
3982
- return function( item ) {
3983
- return matchesSelector( item.element, filter );
3984
- };
3985
- };
3986
-
3987
- // -------------------------- sorting -------------------------- //
3988
-
3989
- /**
3990
- * @params {Array} elems
3991
- * @public
3992
- */
3993
- proto.updateSortData = function( elems ) {
3994
- // get items
3995
- var items;
3996
- if ( elems ) {
3997
- elems = utils.makeArray( elems );
3998
- items = this.getItems( elems );
3999
- } else {
4000
- // update all items if no elems provided
4001
- items = this.items;
4002
- }
4003
-
4004
- this._getSorters();
4005
- this._updateItemsSortData( items );
4006
- };
4007
-
4008
- proto._getSorters = function() {
4009
- var getSortData = this.options.getSortData;
4010
- for ( var key in getSortData ) {
4011
- var sorter = getSortData[ key ];
4012
- this._sorters[ key ] = mungeSorter( sorter );
4013
- }
4014
- };
4015
-
4016
- /**
4017
- * @params {Array} items - of Isotope.Items
4018
- * @private
4019
- */
4020
- proto._updateItemsSortData = function( items ) {
4021
- // do not update if no items
4022
- var len = items && items.length;
4023
-
4024
- for ( var i=0; len && i < len; i++ ) {
4025
- var item = items[i];
4026
- item.updateSortData();
4027
- }
4028
- };
4029
-
4030
- // ----- munge sorter ----- //
4031
-
4032
- // encapsulate this, as we just need mungeSorter
4033
- // other functions in here are just for munging
4034
- var mungeSorter = ( function() {
4035
- // add a magic layer to sorters for convienent shorthands
4036
- // `.foo-bar` will use the text of .foo-bar querySelector
4037
- // `[foo-bar]` will use attribute
4038
- // you can also add parser
4039
- // `.foo-bar parseInt` will parse that as a number
4040
- function mungeSorter( sorter ) {
4041
- // if not a string, return function or whatever it is
4042
- if ( typeof sorter != 'string' ) {
4043
- return sorter;
4044
- }
4045
- // parse the sorter string
4046
- var args = trim( sorter ).split(' ');
4047
- var query = args[0];
4048
- // check if query looks like [an-attribute]
4049
- var attrMatch = query.match( /^\[(.+)\]$/ );
4050
- var attr = attrMatch && attrMatch[1];
4051
- var getValue = getValueGetter( attr, query );
4052
- // use second argument as a parser
4053
- var parser = Isotope.sortDataParsers[ args[1] ];
4054
- // parse the value, if there was a parser
4055
- sorter = parser ? function( elem ) {
4056
- return elem && parser( getValue( elem ) );
4057
- } :
4058
- // otherwise just return value
4059
- function( elem ) {
4060
- return elem && getValue( elem );
4061
- };
4062
-
4063
- return sorter;
4064
- }
4065
-
4066
- // get an attribute getter, or get text of the querySelector
4067
- function getValueGetter( attr, query ) {
4068
- // if query looks like [foo-bar], get attribute
4069
- if ( attr ) {
4070
- return function getAttribute( elem ) {
4071
- return elem.getAttribute( attr );
4072
- };
4073
- }
4074
-
4075
- // otherwise, assume its a querySelector, and get its text
4076
- return function getChildText( elem ) {
4077
- var child = elem.querySelector( query );
4078
- return child && child.textContent;
4079
- };
4080
- }
4081
-
4082
- return mungeSorter;
4083
- })();
4084
-
4085
- // parsers used in getSortData shortcut strings
4086
- Isotope.sortDataParsers = {
4087
- 'parseInt': function( val ) {
4088
- return parseInt( val, 10 );
4089
- },
4090
- 'parseFloat': function( val ) {
4091
- return parseFloat( val );
4092
- }
4093
- };
4094
-
4095
- // ----- sort method ----- //
4096
-
4097
- // sort filteredItem order
4098
- proto._sort = function() {
4099
- if ( !this.options.sortBy ) {
4100
- return;
4101
- }
4102
- // keep track of sortBy History
4103
- var sortBys = utils.makeArray( this.options.sortBy );
4104
- if ( !this._getIsSameSortBy( sortBys ) ) {
4105
- // concat all sortBy and sortHistory, add to front, oldest goes in last
4106
- this.sortHistory = sortBys.concat( this.sortHistory );
4107
- }
4108
- // sort magic
4109
- var itemSorter = getItemSorter( this.sortHistory, this.options.sortAscending );
4110
- this.filteredItems.sort( itemSorter );
4111
- };
4112
-
4113
- // check if sortBys is same as start of sortHistory
4114
- proto._getIsSameSortBy = function( sortBys ) {
4115
- for ( var i=0; i < sortBys.length; i++ ) {
4116
- if ( sortBys[i] != this.sortHistory[i] ) {
4117
- return false;
4118
- }
4119
- }
4120
- return true;
4121
- };
4122
-
4123
- // returns a function used for sorting
4124
- function getItemSorter( sortBys, sortAsc ) {
4125
- return function sorter( itemA, itemB ) {
4126
- // cycle through all sortKeys
4127
- for ( var i = 0; i < sortBys.length; i++ ) {
4128
- var sortBy = sortBys[i];
4129
- var a = itemA.sortData[ sortBy ];
4130
- var b = itemB.sortData[ sortBy ];
4131
- if ( a > b || a < b ) {
4132
- // if sortAsc is an object, use the value given the sortBy key
4133
- var isAscending = sortAsc[ sortBy ] !== undefined ? sortAsc[ sortBy ] : sortAsc;
4134
- var direction = isAscending ? 1 : -1;
4135
- return ( a > b ? 1 : -1 ) * direction;
4136
- }
4137
- }
4138
- return 0;
4139
- };
4140
- }
4141
-
4142
- // -------------------------- methods -------------------------- //
4143
-
4144
- // get layout mode
4145
- proto._mode = function() {
4146
- var layoutMode = this.options.layoutMode;
4147
- var mode = this.modes[ layoutMode ];
4148
- if ( !mode ) {
4149
- // TODO console.error
4150
- throw new Error( 'No layout mode: ' + layoutMode );
4151
- }
4152
- // HACK sync mode's options
4153
- // any options set after init for layout mode need to be synced
4154
- mode.options = this.options[ layoutMode ];
4155
- return mode;
4156
- };
4157
-
4158
- proto._resetLayout = function() {
4159
- // trigger original reset layout
4160
- Outlayer.prototype._resetLayout.call( this );
4161
- this._mode()._resetLayout();
4162
- };
4163
-
4164
- proto._getItemLayoutPosition = function( item ) {
4165
- return this._mode()._getItemLayoutPosition( item );
4166
- };
4167
-
4168
- proto._manageStamp = function( stamp ) {
4169
- this._mode()._manageStamp( stamp );
4170
- };
4171
-
4172
- proto._getContainerSize = function() {
4173
- return this._mode()._getContainerSize();
4174
- };
4175
-
4176
- proto.needsResizeLayout = function() {
4177
- return this._mode().needsResizeLayout();
4178
- };
4179
-
4180
- // -------------------------- adding & removing -------------------------- //
4181
-
4182
- // HEADS UP overwrites default Outlayer appended
4183
- proto.appended = function( elems ) {
4184
- var items = this.addItems( elems );
4185
- if ( !items.length ) {
4186
- return;
4187
- }
4188
- // filter, layout, reveal new items
4189
- var filteredItems = this._filterRevealAdded( items );
4190
- // add to filteredItems
4191
- this.filteredItems = this.filteredItems.concat( filteredItems );
4192
- };
4193
-
4194
- // HEADS UP overwrites default Outlayer prepended
4195
- proto.prepended = function( elems ) {
4196
- var items = this._itemize( elems );
4197
- if ( !items.length ) {
4198
- return;
4199
- }
4200
- // start new layout
4201
- this._resetLayout();
4202
- this._manageStamps();
4203
- // filter, layout, reveal new items
4204
- var filteredItems = this._filterRevealAdded( items );
4205
- // layout previous items
4206
- this.layoutItems( this.filteredItems );
4207
- // add to items and filteredItems
4208
- this.filteredItems = filteredItems.concat( this.filteredItems );
4209
- this.items = items.concat( this.items );
4210
- };
4211
-
4212
- proto._filterRevealAdded = function( items ) {
4213
- var filtered = this._filter( items );
4214
- this.hide( filtered.needHide );
4215
- // reveal all new items
4216
- this.reveal( filtered.matches );
4217
- // layout new items, no transition
4218
- this.layoutItems( filtered.matches, true );
4219
- return filtered.matches;
4220
- };
4221
-
4222
- /**
4223
- * Filter, sort, and layout newly-appended item elements
4224
- * @param {Array or NodeList or Element} elems
4225
- */
4226
- proto.insert = function( elems ) {
4227
- var items = this.addItems( elems );
4228
- if ( !items.length ) {
4229
- return;
4230
- }
4231
- // append item elements
4232
- var i, item;
4233
- var len = items.length;
4234
- for ( i=0; i < len; i++ ) {
4235
- item = items[i];
4236
- this.element.appendChild( item.element );
4237
- }
4238
- // filter new stuff
4239
- var filteredInsertItems = this._filter( items ).matches;
4240
- // set flag
4241
- for ( i=0; i < len; i++ ) {
4242
- items[i].isLayoutInstant = true;
4243
- }
4244
- this.arrange();
4245
- // reset flag
4246
- for ( i=0; i < len; i++ ) {
4247
- delete items[i].isLayoutInstant;
4248
- }
4249
- this.reveal( filteredInsertItems );
4250
- };
4251
-
4252
- var _remove = proto.remove;
4253
- proto.remove = function( elems ) {
4254
- elems = utils.makeArray( elems );
4255
- var removeItems = this.getItems( elems );
4256
- // do regular thing
4257
- _remove.call( this, elems );
4258
- // bail if no items to remove
4259
- var len = removeItems && removeItems.length;
4260
- // remove elems from filteredItems
4261
- for ( var i=0; len && i < len; i++ ) {
4262
- var item = removeItems[i];
4263
- // remove item from collection
4264
- utils.removeFrom( this.filteredItems, item );
4265
- }
4266
- };
4267
-
4268
- proto.shuffle = function() {
4269
- // update random sortData
4270
- for ( var i=0; i < this.items.length; i++ ) {
4271
- var item = this.items[i];
4272
- item.sortData.random = Math.random();
4273
- }
4274
- this.options.sortBy = 'random';
4275
- this._sort();
4276
- this._layout();
4277
- };
4278
-
4279
- /**
4280
- * trigger fn without transition
4281
- * kind of hacky to have this in the first place
4282
- * @param {Function} fn
4283
- * @param {Array} args
4284
- * @returns ret
4285
- * @private
4286
- */
4287
- proto._noTransition = function( fn, args ) {
4288
- // save transitionDuration before disabling
4289
- var transitionDuration = this.options.transitionDuration;
4290
- // disable transition
4291
- this.options.transitionDuration = 0;
4292
- // do it
4293
- var returnValue = fn.apply( this, args );
4294
- // re-enable transition for reveal
4295
- this.options.transitionDuration = transitionDuration;
4296
- return returnValue;
4297
- };
4298
-
4299
- // ----- helper methods ----- //
4300
-
4301
- /**
4302
- * getter method for getting filtered item elements
4303
- * @returns {Array} elems - collection of item elements
4304
- */
4305
- proto.getFilteredItemElements = function() {
4306
- return this.filteredItems.map( function( item ) {
4307
- return item.element;
4308
- });
4309
- };
4310
-
4311
- // ----- ----- //
4312
-
4313
- return Isotope;
4314
-
4315
- }));
4316
-
4317
-
4318
- /**
4319
- * author Christopher Blum
4320
- * - based on the idea of Remy Sharp, http://remysharp.com/2009/01/26/element-in-view-event-plugin/
4321
- * - forked from http://github.com/zuk/jquery.inview/
4322
- */
4323
- (function (factory) {
4324
- if (typeof define == 'function' && define.amd) {
4325
- // AMD
4326
- define(['jquery'], factory);
4327
- } else if (typeof exports === 'object') {
4328
- // Node, CommonJS
4329
- module.exports = factory(require('jquery'));
4330
- } else {
4331
- // Browser globals
4332
- factory(jQuery);
4333
- }
4334
- }(function ($) {
4335
-
4336
- var inviewObjects = [], viewportSize, viewportOffset,
4337
- d = document, w = window, documentElement = d.documentElement, timer;
4338
-
4339
- $.event.special.inview = {
4340
- add: function (data) {
4341
- inviewObjects.push({ data: data, $element: $(this), element: this });
4342
- // Use setInterval in order to also make sure this captures elements within
4343
- // "overflow:scroll" elements or elements that appeared in the dom tree due to
4344
- // dom manipulation and reflow
4345
- // old: $(window).scroll(checkInView);
4346
- //
4347
- // By the way, iOS (iPad, iPhone, ...) seems to not execute, or at least delays
4348
- // intervals while the user scrolls. Therefore the inview event might fire a bit late there
4349
- //
4350
- // Don't waste cycles with an interval until we get at least one element that
4351
- // has bound to the inview event.
4352
- if (!timer && inviewObjects.length) {
4353
- timer = setInterval(checkInView, 250);
4354
- }
4355
- },
4356
-
4357
- remove: function (data) {
4358
- for (var i = 0; i < inviewObjects.length; i++) {
4359
- var inviewObject = inviewObjects[i];
4360
- if (inviewObject.element === this && inviewObject.data.guid === data.guid) {
4361
- inviewObjects.splice(i, 1);
4362
- break;
4363
- }
4364
- }
4365
-
4366
- // Clear interval when we no longer have any elements listening
4367
- if (!inviewObjects.length) {
4368
- clearInterval(timer);
4369
- timer = null;
4370
- }
4371
- }
4372
- };
4373
-
4374
- function getViewportSize() {
4375
- var mode, domObject, size = { height: w.innerHeight, width: w.innerWidth };
4376
-
4377
- // if this is correct then return it. iPad has compat Mode, so will
4378
- // go into check clientHeight/clientWidth (which has the wrong value).
4379
- if (!size.height) {
4380
- mode = d.compatMode;
4381
- if (mode || !$.support.boxModel) { // IE, Gecko
4382
- domObject = mode === 'CSS1Compat' ?
4383
- documentElement : // Standards
4384
- d.body; // Quirks
4385
- size = {
4386
- height: domObject.clientHeight,
4387
- width: domObject.clientWidth
4388
- };
4389
- }
4390
- }
4391
-
4392
- return size;
4393
- }
4394
-
4395
- function getViewportOffset() {
4396
- return {
4397
- top: w.pageYOffset || documentElement.scrollTop || d.body.scrollTop,
4398
- left: w.pageXOffset || documentElement.scrollLeft || d.body.scrollLeft
4399
- };
4400
- }
4401
-
4402
- function checkInView() {
4403
- if (!inviewObjects.length) {
4404
- return;
4405
- }
4406
-
4407
- var i = 0, $elements = $.map(inviewObjects, function (inviewObject) {
4408
- var selector = inviewObject.data.selector,
4409
- $element = inviewObject.$element;
4410
- return selector ? $element.find(selector) : $element;
4411
- });
4412
-
4413
- viewportSize = viewportSize || getViewportSize();
4414
- viewportOffset = viewportOffset || getViewportOffset();
4415
-
4416
- for (; i < inviewObjects.length; i++) {
4417
- // Ignore elements that are not in the DOM tree
4418
- if (!$.contains(documentElement, $elements[i][0])) {
4419
- continue;
4420
- }
4421
-
4422
- var $element = $($elements[i]),
4423
- elementSize = { height: $element[0].offsetHeight, width: $element[0].offsetWidth },
4424
- elementOffset = $element.offset(),
4425
- inView = $element.data('inview');
4426
-
4427
- // Don't ask me why because I haven't figured out yet:
4428
- // viewportOffset and viewportSize are sometimes suddenly null in Firefox 5.
4429
- // Even though it sounds weird:
4430
- // It seems that the execution of this function is interferred by the onresize/onscroll event
4431
- // where viewportOffset and viewportSize are unset
4432
- if (!viewportOffset || !viewportSize) {
4433
- return;
4434
- }
4435
-
4436
- if (elementOffset.top + elementSize.height > viewportOffset.top &&
4437
- elementOffset.top < viewportOffset.top + viewportSize.height &&
4438
- elementOffset.left + elementSize.width > viewportOffset.left &&
4439
- elementOffset.left < viewportOffset.left + viewportSize.width) {
4440
- if (!inView) {
4441
- $element.data('inview', true).trigger('inview', [true]);
4442
- }
4443
- } else if (inView) {
4444
- $element.data('inview', false).trigger('inview', [false]);
4445
- }
4446
- }
4447
- }
4448
-
4449
- $(w).on("scroll resize scrollstop", function () {
4450
- viewportSize = viewportOffset = null;
4451
- });
4452
-
4453
- // IE < 9 scrolls to focused elements without firing the "scroll" event
4454
- if (!documentElement.addEventListener && documentElement.attachEvent) {
4455
- documentElement.attachEvent("onfocusin", function () {
4456
- viewportOffset = null;
4457
- });
4458
- }
4459
- }));
4460
- !function(t,s,e){"use strict";var i=function(t,s){var i=this;this.el=t,this.options={},Object.keys(r).forEach(function(t){i.options[t]=r[t]}),Object.keys(s).forEach(function(t){i.options[t]=s[t]}),this.isInput="input"===this.el.tagName.toLowerCase(),this.attr=this.options.attr,this.showCursor=!this.isInput&&this.options.showCursor,this.elContent=this.attr?this.el.getAttribute(this.attr):this.el.textContent,this.contentType=this.options.contentType,this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,e&&this.options.stringsElement instanceof e?this.stringsElement=this.options.stringsElement[0]:this.stringsElement=this.options.stringsElement,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.cursorChar=this.options.cursorChar,this.shuffle=this.options.shuffle,this.sequence=[],this.build()};i.prototype={constructor:i,init:function(){var t=this;t.timeout=setTimeout(function(){for(var s=0;s<t.strings.length;++s)t.sequence[s]=s;t.shuffle&&(t.sequence=t.shuffleArray(t.sequence)),t.typewrite(t.strings[t.sequence[t.arrayPos]],t.strPos)},t.startDelay)},build:function(){var t=this;if(this.showCursor===!0&&(this.cursor=s.createElement("span"),this.cursor.className="typed-cursor",this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)),this.stringsElement){this.strings=[],this.stringsElement.style.display="none";var e=Array.prototype.slice.apply(this.stringsElement.children);e.forEach(function(s){t.strings.push(s.innerHTML)})}this.init()},typewrite:function(t,s){if(this.stop!==!0){var e=Math.round(70*Math.random())+this.typeSpeed,i=this;i.timeout=setTimeout(function(){var e=0,r=t.substr(s);if("^"===r.charAt(0)){var o=1;/^\^\d+/.test(r)&&(r=/\d+/.exec(r)[0],o+=r.length,e=parseInt(r)),t=t.substring(0,s)+t.substring(s+o)}if("html"===i.contentType){var n=t.substr(s).charAt(0);if("<"===n||"&"===n){var a="",h="";for(h="<"===n?">":";";t.substr(s+1).charAt(0)!==h&&(a+=t.substr(s).charAt(0),s++,!(s+1>t.length)););s++,a+=h}}i.timeout=setTimeout(function(){if(s===t.length){if(i.options.onStringTyped(i.arrayPos),i.arrayPos===i.strings.length-1&&(i.options.callback(),i.curLoop++,i.loop===!1||i.curLoop===i.loopCount))return;i.timeout=setTimeout(function(){i.backspace(t,s)},i.backDelay)}else{0===s&&i.options.preStringTyped(i.arrayPos);var e=t.substr(0,s+1);i.attr?i.el.setAttribute(i.attr,e):i.isInput?i.el.value=e:"html"===i.contentType?i.el.innerHTML=e:i.el.textContent=e,s++,i.typewrite(t,s)}},e)},e)}},backspace:function(t,s){if(this.stop!==!0){var e=Math.round(70*Math.random())+this.backSpeed,i=this;i.timeout=setTimeout(function(){if("html"===i.contentType&&">"===t.substr(s).charAt(0)){for(var e="";"<"!==t.substr(s-1).charAt(0)&&(e-=t.substr(s).charAt(0),s--,!(s<0)););s--,e+="<"}var r=t.substr(0,s);i.attr?i.el.setAttribute(i.attr,r):i.isInput?i.el.value=r:"html"===i.contentType?i.el.innerHTML=r:i.el.textContent=r,s>i.stopNum?(s--,i.backspace(t,s)):s<=i.stopNum&&(i.arrayPos++,i.arrayPos===i.strings.length?(i.arrayPos=0,i.shuffle&&(i.sequence=i.shuffleArray(i.sequence)),i.init()):i.typewrite(i.strings[i.sequence[i.arrayPos]],s))},e)}},shuffleArray:function(t){var s,e,i=t.length;if(i)for(;--i;)e=Math.floor(Math.random()*(i+1)),s=t[e],t[e]=t[i],t[i]=s;return t},reset:function(){var t=this;clearInterval(t.timeout);this.el.getAttribute("id");this.el.textContent="","undefined"!=typeof this.cursor&&"undefined"!=typeof this.cursor.parentNode&&this.cursor.parentNode.removeChild(this.cursor),this.strPos=0,this.arrayPos=0,this.curLoop=0,this.options.resetCallback()}},i["new"]=function(t,e){var r=Array.prototype.slice.apply(s.querySelectorAll(t));r.forEach(function(t){var s=t._typed,r="object"==typeof e&&e;s&&s.reset(),t._typed=s=new i(t,r),"string"==typeof e&&s[e]()})},e&&(e.fn.typed=function(t){return this.each(function(){var s=e(this),r=s.data("typed"),o="object"==typeof t&&t;r&&r.reset(),s.data("typed",r=new i(this,o)),"string"==typeof t&&r[t]()})}),t.Typed=i;var r={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,shuffle:!1,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window,document,window.jQuery);
4461
- !function(a){"use strict";function b(b,c){this.element=a(b),this.settings=a.extend({},d,c),this._defaults=d,this._init()}var c="Morphext",d={animation:"bounceIn",separator:",",speed:2e3,complete:a.noop};b.prototype={_init:function(){var b=this;this.phrases=[],this.element.addClass("morphext"),a.each(this.element.text().split(this.settings.separator),function(c,d){b.phrases.push(a.trim(d))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML='<span class="animated '+this.settings.animation+'">'+this.phrases[this.index]+"</span>",a.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var a=this;this._interval=setInterval(function(){a.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(this,d))})}}(jQuery);
4462
-
4463
- /*!
4464
- * Morphext - Text Rotating Plugin for jQuery
4465
- * https://github.com/MrSaints/Morphext
4466
- *
4467
- * Built on jQuery Boilerplate
4468
- * http://jqueryboilerplate.com/
4469
- *
4470
- * Copyright 2014 Ian Lai and other contributors
4471
- * Released under the MIT license
4472
- * http://ian.mit-license.org/
4473
- */
4474
-
4475
- /*eslint-env browser */
4476
- /*global jQuery:false */
4477
- /*eslint-disable no-underscore-dangle */
4478
-
4479
- (function ($) {
4480
- "use strict";
4481
-
4482
- var pluginName = "Morphext",
4483
- defaults = {
4484
- animation: "bounceIn",
4485
- separator: ",",
4486
- speed: 2000,
4487
- complete: $.noop
4488
- };
4489
-
4490
- function Plugin (element, options) {
4491
- this.element = $(element);
4492
-
4493
- this.settings = $.extend({}, defaults, options);
4494
- this._defaults = defaults;
4495
- this._init();
4496
- }
4497
-
4498
- Plugin.prototype = {
4499
- _init: function () {
4500
- var $that = this;
4501
- this.phrases = [];
4502
-
4503
- this.element.addClass("morphext");
4504
-
4505
- $.each(this.element.text().split(this.settings.separator), function (key, value) {
4506
- $that.phrases.push($.trim(value));
4507
- });
4508
-
4509
- this.index = -1;
4510
- this.animate();
4511
- this.start();
4512
- },
4513
- animate: function () {
4514
- this.index = ++this.index % this.phrases.length;
4515
- this.element[0].innerHTML = "<span class=\"animated " + this.settings.animation + "\">" + this.phrases[this.index] + "</span>";
4516
-
4517
- if ($.isFunction(this.settings.complete)) {
4518
- this.settings.complete.call(this);
4519
- }
4520
- },
4521
- start: function () {
4522
- var $that = this;
4523
- this._interval = setInterval(function () {
4524
- $that.animate();
4525
- }, this.settings.speed);
4526
- },
4527
- stop: function () {
4528
- this._interval = clearInterval(this._interval);
4529
- }
4530
- };
4531
-
4532
- $.fn[pluginName] = function (options) {
4533
- return this.each(function() {
4534
- if (!$.data(this, "plugin_" + pluginName)) {
4535
- $.data(this, "plugin_" + pluginName, new Plugin(this, options));
4536
- }
4537
- });
4538
- };
4539
- })(jQuery);
4540
 
4541
- /*!
4542
- *
4543
- * typed.js - A JavaScript Typing Animation Library
4544
- * Author: Matt Boldt <me@mattboldt.com>
4545
- * Version: v2.0.9
4546
- * Url: https://github.com/mattboldt/typed.js
4547
- * License(s): MIT
4548
- *
4549
- */
4550
- (function webpackUniversalModuleDefinition(root, factory) {
4551
- if(typeof exports === 'object' && typeof module === 'object')
4552
- module.exports = factory();
4553
- else if(typeof define === 'function' && define.amd)
4554
- define([], factory);
4555
- else if(typeof exports === 'object')
4556
- exports["Typed"] = factory();
4557
- else
4558
- root["Typed"] = factory();
4559
- })(this, function() {
4560
- return /******/ (function(modules) { // webpackBootstrap
4561
- /******/ // The module cache
4562
- /******/ var installedModules = {};
4563
- /******/
4564
- /******/ // The require function
4565
- /******/ function __webpack_require__(moduleId) {
4566
- /******/
4567
- /******/ // Check if module is in cache
4568
- /******/ if(installedModules[moduleId])
4569
- /******/ return installedModules[moduleId].exports;
4570
- /******/
4571
- /******/ // Create a new module (and put it into the cache)
4572
- /******/ var module = installedModules[moduleId] = {
4573
- /******/ exports: {},
4574
- /******/ id: moduleId,
4575
- /******/ loaded: false
4576
- /******/ };
4577
- /******/
4578
- /******/ // Execute the module function
4579
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
4580
- /******/
4581
- /******/ // Flag the module as loaded
4582
- /******/ module.loaded = true;
4583
- /******/
4584
- /******/ // Return the exports of the module
4585
- /******/ return module.exports;
4586
- /******/ }
4587
- /******/
4588
- /******/
4589
- /******/ // expose the modules object (__webpack_modules__)
4590
- /******/ __webpack_require__.m = modules;
4591
- /******/
4592
- /******/ // expose the module cache
4593
- /******/ __webpack_require__.c = installedModules;
4594
- /******/
4595
- /******/ // __webpack_public_path__
4596
- /******/ __webpack_require__.p = "";
4597
- /******/
4598
- /******/ // Load entry module and return exports
4599
- /******/ return __webpack_require__(0);
4600
- /******/ })
4601
- /************************************************************************/
4602
- /******/ ([
4603
- /* 0 */
4604
  /***/ (function(module, exports, __webpack_require__) {
4605
 
4606
  'use strict';
@@ -4609,980 +652,4953 @@ return /******/ (function(modules) { // webpackBootstrap
4609
  value: true
4610
  });
4611
 
 
 
4612
  var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
4613
 
 
 
4614
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
4615
 
4616
- var _initializerJs = __webpack_require__(1);
4617
 
4618
- var _htmlParserJs = __webpack_require__(3);
4619
 
4620
  /**
4621
- * Welcome to Typed.js!
4622
- * @param {string} elementId HTML element ID _OR_ HTML element
4623
- * @param {object} options options object
4624
- * @returns {object} a new Typed object
4625
  */
4626
 
4627
- var Typed = (function () {
4628
- function Typed(elementId, options) {
4629
- _classCallCheck(this, Typed);
4630
-
4631
- // Initialize it up
4632
- _initializerJs.initializer.load(this, options, elementId);
4633
- // All systems go!
4634
- this.begin();
4635
  }
4636
 
4637
- /**
4638
- * Toggle start() and stop() of the Typed instance
4639
- * @public
4640
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4641
 
4642
- _createClass(Typed, [{
4643
- key: 'toggle',
4644
- value: function toggle() {
4645
- this.pause.status ? this.start() : this.stop();
4646
- }
4647
 
4648
- /**
4649
- * Stop typing / backspacing and enable cursor blinking
4650
- * @public
4651
- */
4652
- }, {
4653
- key: 'stop',
4654
- value: function stop() {
4655
- if (this.typingComplete) return;
4656
- if (this.pause.status) return;
4657
- this.toggleBlinking(true);
4658
- this.pause.status = true;
4659
- this.options.onStop(this.arrayPos, this);
4660
  }
4661
-
4662
- /**
4663
- * Start typing / backspacing after being stopped
4664
- * @public
4665
- */
4666
  }, {
4667
- key: 'start',
4668
- value: function start() {
4669
- if (this.typingComplete) return;
4670
- if (!this.pause.status) return;
4671
- this.pause.status = false;
4672
- if (this.pause.typewrite) {
4673
- this.typewrite(this.pause.curString, this.pause.curStrPos);
 
 
4674
  } else {
4675
- this.backspace(this.pause.curString, this.pause.curStrPos);
4676
  }
4677
- this.options.onStart(this.arrayPos, this);
4678
  }
4679
-
4680
- /**
4681
- * Destroy this instance of Typed
4682
- * @public
4683
- */
4684
  }, {
4685
- key: 'destroy',
4686
- value: function destroy() {
4687
- this.reset(false);
4688
- this.options.onDestroy(this);
4689
- }
 
 
 
 
 
 
 
4690
 
4691
- /**
4692
- * Reset Typed and optionally restarts
4693
- * @param {boolean} restart
4694
- * @public
4695
- */
4696
- }, {
4697
- key: 'reset',
4698
- value: function reset() {
4699
- var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
4700
 
4701
- clearInterval(this.timeout);
4702
- this.replaceText('');
4703
- if (this.cursor && this.cursor.parentNode) {
4704
- this.cursor.parentNode.removeChild(this.cursor);
4705
- this.cursor = null;
4706
  }
4707
- this.strPos = 0;
4708
- this.arrayPos = 0;
4709
- this.curLoop = 0;
4710
- if (restart) {
4711
- this.insertCursor();
4712
- this.options.onReset(this);
4713
- this.begin();
4714
  }
 
 
 
 
 
4715
  }
 
4716
 
4717
- /**
4718
- * Begins the typing animation
4719
- * @private
4720
- */
4721
- }, {
4722
- key: 'begin',
4723
- value: function begin() {
4724
- var _this = this;
4725
 
4726
- this.typingComplete = false;
4727
- this.shuffleStringsIfNeeded(this);
4728
- this.insertCursor();
4729
- if (this.bindInputFocusEvents) this.bindFocusEvents();
4730
- this.timeout = setTimeout(function () {
4731
- // Check if there is some text in the element, if yes start by backspacing the default message
4732
- if (!_this.currentElContent || _this.currentElContent.length === 0) {
4733
- _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);
4734
- } else {
4735
- // Start typing
4736
- _this.backspace(_this.currentElContent, _this.currentElContent.length);
4737
- }
4738
- }, this.startDelay);
4739
- }
4740
 
4741
- /**
4742
- * Called for each character typed
4743
- * @param {string} curString the current string in the strings array
4744
- * @param {number} curStrPos the current position in the curString
4745
- * @private
4746
- */
4747
- }, {
4748
- key: 'typewrite',
4749
- value: function typewrite(curString, curStrPos) {
4750
- var _this2 = this;
4751
 
4752
- if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {
4753
- this.el.classList.remove(this.fadeOutClass);
4754
- if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);
4755
- }
 
 
 
 
 
 
4756
 
4757
- var humanize = this.humanizer(this.typeSpeed);
4758
- var numChars = 1;
 
 
4759
 
4760
- if (this.pause.status === true) {
4761
- this.setPauseStatus(curString, curStrPos, true);
4762
- return;
4763
- }
4764
 
4765
- // contain typing function in a timeout humanize'd delay
4766
- this.timeout = setTimeout(function () {
4767
- // skip over any HTML chars
4768
- curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);
4769
 
4770
- var pauseTime = 0;
4771
- var substr = curString.substr(curStrPos);
4772
- // check for an escape character before a pause value
4773
- // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^
4774
- // single ^ are removed from string
4775
- if (substr.charAt(0) === '^') {
4776
- if (/^\^\d+/.test(substr)) {
4777
- var skip = 1; // skip at least 1
4778
- substr = /\d+/.exec(substr)[0];
4779
- skip += substr.length;
4780
- pauseTime = parseInt(substr);
4781
- _this2.temporaryPause = true;
4782
- _this2.options.onTypingPaused(_this2.arrayPos, _this2);
4783
- // strip out the escape character and pause value so they're not printed
4784
- curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);
4785
- _this2.toggleBlinking(true);
4786
- }
4787
- }
4788
 
4789
- // check for skip characters formatted as
4790
- // "this is a `string to print NOW` ..."
4791
- if (substr.charAt(0) === '`') {
4792
- while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {
4793
- numChars++;
4794
- if (curStrPos + numChars > curString.length) break;
4795
- }
4796
- // strip out the escape characters and append all the string in between
4797
- var stringBeforeSkip = curString.substring(0, curStrPos);
4798
- var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);
4799
- var stringAfterSkip = curString.substring(curStrPos + numChars + 1);
4800
- curString = stringBeforeSkip + stringSkipped + stringAfterSkip;
4801
- numChars--;
4802
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4803
 
4804
- // timeout for any pause after a character
4805
- _this2.timeout = setTimeout(function () {
4806
- // Accounts for blinking while paused
4807
- _this2.toggleBlinking(false);
 
4808
 
4809
- // We're done with this sentence!
4810
- if (curStrPos >= curString.length) {
4811
- _this2.doneTyping(curString, curStrPos);
4812
- } else {
4813
- _this2.keepTyping(curString, curStrPos, numChars);
4814
- }
4815
- // end of character pause
4816
- if (_this2.temporaryPause) {
4817
- _this2.temporaryPause = false;
4818
- _this2.options.onTypingResumed(_this2.arrayPos, _this2);
4819
- }
4820
- }, pauseTime);
4821
 
4822
- // humanized value for typing
4823
- }, humanize);
4824
- }
 
4825
 
4826
- /**
4827
- * Continue to the next string & begin typing
4828
- * @param {string} curString the current string in the strings array
4829
- * @param {number} curStrPos the current position in the curString
4830
- * @private
4831
- */
4832
- }, {
4833
- key: 'keepTyping',
4834
- value: function keepTyping(curString, curStrPos, numChars) {
4835
- // call before functions if applicable
4836
- if (curStrPos === 0) {
4837
- this.toggleBlinking(false);
4838
- this.options.preStringTyped(this.arrayPos, this);
4839
- }
4840
- // start typing each new char into existing string
4841
- // curString: arg, this.el.html: original text inside element
4842
- curStrPos += numChars;
4843
- var nextString = curString.substr(0, curStrPos);
4844
- this.replaceText(nextString);
4845
- // loop the function
4846
- this.typewrite(curString, curStrPos);
4847
- }
4848
 
4849
- /**
4850
- * We're done typing all strings
4851
- * @param {string} curString the current string in the strings array
4852
- * @param {number} curStrPos the current position in the curString
4853
- * @private
4854
- */
4855
- }, {
4856
- key: 'doneTyping',
4857
- value: function doneTyping(curString, curStrPos) {
4858
- var _this3 = this;
4859
 
4860
- // fires callback function
4861
- this.options.onStringTyped(this.arrayPos, this);
4862
- this.toggleBlinking(true);
4863
- // is this the final string
4864
- if (this.arrayPos === this.strings.length - 1) {
4865
- // callback that occurs on the last typed string
4866
- this.complete();
4867
- // quit if we wont loop back
4868
- if (this.loop === false || this.curLoop === this.loopCount) {
4869
- return;
4870
- }
4871
- }
4872
- this.timeout = setTimeout(function () {
4873
- _this3.backspace(curString, curStrPos);
4874
- }, this.backDelay);
4875
- }
4876
 
4877
- /**
4878
- * Backspaces 1 character at a time
4879
- * @param {string} curString the current string in the strings array
4880
- * @param {number} curStrPos the current position in the curString
4881
- * @private
4882
- */
4883
- }, {
4884
- key: 'backspace',
4885
- value: function backspace(curString, curStrPos) {
4886
- var _this4 = this;
4887
 
4888
- if (this.pause.status === true) {
4889
- this.setPauseStatus(curString, curStrPos, true);
4890
- return;
4891
- }
4892
- if (this.fadeOut) return this.initFadeOut();
 
4893
 
4894
- this.toggleBlinking(false);
4895
- var humanize = this.humanizer(this.backSpeed);
 
 
 
 
4896
 
4897
- this.timeout = setTimeout(function () {
4898
- curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);
4899
- // replace text with base text + typed characters
4900
- var curStringAtPosition = curString.substr(0, curStrPos);
4901
- _this4.replaceText(curStringAtPosition);
4902
 
4903
- // if smartBack is enabled
4904
- if (_this4.smartBackspace) {
4905
- // the remaining part of the current string is equal of the same part of the new string
4906
- var nextString = _this4.strings[_this4.arrayPos + 1];
4907
- if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {
4908
- _this4.stopNum = curStrPos;
4909
- } else {
4910
- _this4.stopNum = 0;
4911
- }
4912
- }
4913
 
4914
- // if the number (id of character in current string) is
4915
- // less than the stop number, keep going
4916
- if (curStrPos > _this4.stopNum) {
4917
- // subtract characters one by one
4918
- curStrPos--;
4919
- // loop the function
4920
- _this4.backspace(curString, curStrPos);
4921
- } else if (curStrPos <= _this4.stopNum) {
4922
- // if the stop number has been reached, increase
4923
- // array position to next string
4924
- _this4.arrayPos++;
4925
- // When looping, begin at the beginning after backspace complete
4926
- if (_this4.arrayPos === _this4.strings.length) {
4927
- _this4.arrayPos = 0;
4928
- _this4.options.onLastStringBackspaced();
4929
- _this4.shuffleStringsIfNeeded();
4930
- _this4.begin();
4931
- } else {
4932
- _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);
4933
- }
4934
- }
4935
- // humanized value for typing
4936
- }, humanize);
4937
- }
4938
 
4939
- /**
4940
- * Full animation is complete
4941
- * @private
4942
- */
4943
- }, {
4944
- key: 'complete',
4945
- value: function complete() {
4946
- this.options.onComplete(this);
4947
- if (this.loop) {
4948
- this.curLoop++;
4949
- } else {
4950
- this.typingComplete = true;
4951
- }
4952
- }
4953
 
4954
- /**
4955
- * Has the typing been stopped
4956
- * @param {string} curString the current string in the strings array
4957
- * @param {number} curStrPos the current position in the curString
4958
- * @param {boolean} isTyping
4959
- * @private
4960
- */
4961
- }, {
4962
- key: 'setPauseStatus',
4963
- value: function setPauseStatus(curString, curStrPos, isTyping) {
4964
- this.pause.typewrite = isTyping;
4965
- this.pause.curString = curString;
4966
- this.pause.curStrPos = curStrPos;
4967
- }
4968
 
4969
- /**
4970
- * Toggle the blinking cursor
4971
- * @param {boolean} isBlinking
4972
- * @private
4973
- */
4974
- }, {
4975
- key: 'toggleBlinking',
4976
- value: function toggleBlinking(isBlinking) {
4977
- if (!this.cursor) return;
4978
- // if in paused state, don't toggle blinking a 2nd time
4979
- if (this.pause.status) return;
4980
- if (this.cursorBlinking === isBlinking) return;
4981
- this.cursorBlinking = isBlinking;
4982
- if (isBlinking) {
4983
- this.cursor.classList.add('typed-cursor--blink');
4984
- } else {
4985
- this.cursor.classList.remove('typed-cursor--blink');
4986
- }
4987
- }
4988
 
4989
- /**
4990
- * Speed in MS to type
4991
- * @param {number} speed
4992
- * @private
4993
- */
4994
- }, {
4995
- key: 'humanizer',
4996
- value: function humanizer(speed) {
4997
- return Math.round(Math.random() * speed / 2) + speed;
4998
- }
4999
 
5000
- /**
5001
- * Shuffle the sequence of the strings array
5002
- * @private
5003
- */
5004
- }, {
5005
- key: 'shuffleStringsIfNeeded',
5006
- value: function shuffleStringsIfNeeded() {
5007
- if (!this.shuffle) return;
5008
- this.sequence = this.sequence.sort(function () {
5009
- return Math.random() - 0.5;
5010
- });
5011
- }
5012
 
5013
- /**
5014
- * Adds a CSS class to fade out current string
5015
- * @private
5016
- */
5017
- }, {
5018
- key: 'initFadeOut',
5019
- value: function initFadeOut() {
5020
- var _this5 = this;
5021
 
5022
- this.el.className += ' ' + this.fadeOutClass;
5023
- if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;
5024
- return setTimeout(function () {
5025
- _this5.arrayPos++;
5026
- _this5.replaceText('');
5027
 
5028
- // Resets current string if end of loop reached
5029
- if (_this5.strings.length > _this5.arrayPos) {
5030
- _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);
5031
- } else {
5032
- _this5.typewrite(_this5.strings[0], 0);
5033
- _this5.arrayPos = 0;
5034
- }
5035
- }, this.fadeOutDelay);
5036
- }
5037
 
5038
  /**
5039
- * Replaces current text in the HTML element
5040
- * depending on element type
5041
- * @param {string} str
 
 
5042
  * @private
5043
  */
5044
- }, {
5045
- key: 'replaceText',
5046
- value: function replaceText(str) {
5047
- if (this.attr) {
5048
- this.el.setAttribute(this.attr, str);
5049
- } else {
5050
- if (this.isInput) {
5051
- this.el.value = str;
5052
- } else if (this.contentType === 'html') {
5053
- this.el.innerHTML = str;
5054
  } else {
5055
- this.el.textContent = str;
5056
  }
 
 
 
 
 
 
 
5057
  }
 
5058
  }
5059
 
5060
  /**
5061
- * If using input elements, bind focus in order to
5062
- * start and stop the animation
 
 
 
5063
  * @private
5064
  */
5065
  }, {
5066
- key: 'bindFocusEvents',
5067
- value: function bindFocusEvents() {
5068
- var _this6 = this;
5069
-
5070
- if (!this.isInput) return;
5071
- this.el.addEventListener('focus', function (e) {
5072
- _this6.stop();
5073
- });
5074
- this.el.addEventListener('blur', function (e) {
5075
- if (_this6.el.value && _this6.el.value.length !== 0) {
5076
- return;
5077
  }
5078
- _this6.start();
5079
- });
5080
- }
5081
-
5082
- /**
5083
- * On init, insert the cursor element
5084
- * @private
5085
- */
5086
- }, {
5087
- key: 'insertCursor',
5088
- value: function insertCursor() {
5089
- if (!this.showCursor) return;
5090
- if (this.cursor) return;
5091
- this.cursor = document.createElement('span');
5092
- this.cursor.className = 'typed-cursor';
5093
- this.cursor.innerHTML = this.cursorChar;
5094
- this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);
5095
  }
5096
  }]);
5097
 
5098
- return Typed;
5099
  })();
5100
 
5101
- exports['default'] = Typed;
5102
- module.exports = exports['default'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5103
 
5104
- /***/ }),
5105
- /* 1 */
5106
- /***/ (function(module, exports, __webpack_require__) {
5107
 
5108
- 'use strict';
5109
-
5110
- Object.defineProperty(exports, '__esModule', {
5111
- value: true
5112
- });
5113
-
5114
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
5115
-
5116
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
5117
-
5118
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5119
-
5120
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
5121
-
5122
- var _defaultsJs = __webpack_require__(2);
5123
-
5124
- var _defaultsJs2 = _interopRequireDefault(_defaultsJs);
5125
-
5126
- /**
5127
- * Initialize the Typed object
5128
- */
5129
-
5130
- var Initializer = (function () {
5131
- function Initializer() {
5132
- _classCallCheck(this, Initializer);
5133
- }
5134
-
5135
- _createClass(Initializer, [{
5136
- key: 'load',
5137
-
5138
- /**
5139
- * Load up defaults & options on the Typed instance
5140
- * @param {Typed} self instance of Typed
5141
- * @param {object} options options object
5142
- * @param {string} elementId HTML element ID _OR_ instance of HTML element
5143
- * @private
5144
- */
5145
-
5146
- value: function load(self, options, elementId) {
5147
- // chosen element to manipulate text
5148
- if (typeof elementId === 'string') {
5149
- self.el = document.querySelector(elementId);
5150
- } else {
5151
- self.el = elementId;
5152
- }
5153
-
5154
- self.options = _extends({}, _defaultsJs2['default'], options);
5155
-
5156
- // attribute to type into
5157
- self.isInput = self.el.tagName.toLowerCase() === 'input';
5158
- self.attr = self.options.attr;
5159
- self.bindInputFocusEvents = self.options.bindInputFocusEvents;
5160
-
5161
- // show cursor
5162
- self.showCursor = self.isInput ? false : self.options.showCursor;
5163
-
5164
- // custom cursor
5165
- self.cursorChar = self.options.cursorChar;
5166
-
5167
- // Is the cursor blinking
5168
- self.cursorBlinking = true;
5169
-
5170
- // text content of element
5171
- self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;
5172
-
5173
- // html or plain text
5174
- self.contentType = self.options.contentType;
5175
-
5176
- // typing speed
5177
- self.typeSpeed = self.options.typeSpeed;
5178
-
5179
- // add a delay before typing starts
5180
- self.startDelay = self.options.startDelay;
5181
-
5182
- // backspacing speed
5183
- self.backSpeed = self.options.backSpeed;
5184
-
5185
- // only backspace what doesn't match the previous string
5186
- self.smartBackspace = self.options.smartBackspace;
5187
-
5188
- // amount of time to wait before backspacing
5189
- self.backDelay = self.options.backDelay;
5190
-
5191
- // Fade out instead of backspace
5192
- self.fadeOut = self.options.fadeOut;
5193
- self.fadeOutClass = self.options.fadeOutClass;
5194
- self.fadeOutDelay = self.options.fadeOutDelay;
5195
-
5196
- // variable to check whether typing is currently paused
5197
- self.isPaused = false;
5198
-
5199
- // input strings of text
5200
- self.strings = self.options.strings.map(function (s) {
5201
- return s.trim();
5202
- });
5203
-
5204
- // div containing strings
5205
- if (typeof self.options.stringsElement === 'string') {
5206
- self.stringsElement = document.querySelector(self.options.stringsElement);
5207
- } else {
5208
- self.stringsElement = self.options.stringsElement;
5209
- }
5210
-
5211
- if (self.stringsElement) {
5212
- self.strings = [];
5213
- self.stringsElement.style.display = 'none';
5214
- var strings = Array.prototype.slice.apply(self.stringsElement.children);
5215
- var stringsLength = strings.length;
5216
-
5217
- if (stringsLength) {
5218
- for (var i = 0; i < stringsLength; i += 1) {
5219
- var stringEl = strings[i];
5220
- self.strings.push(stringEl.innerHTML.trim());
5221
- }
5222
- }
5223
- }
5224
-
5225
- // character number position of current string
5226
- self.strPos = 0;
5227
-
5228
- // current array position
5229
- self.arrayPos = 0;
5230
-
5231
- // index of string to stop backspacing on
5232
- self.stopNum = 0;
5233
-
5234
- // Looping logic
5235
- self.loop = self.options.loop;
5236
- self.loopCount = self.options.loopCount;
5237
- self.curLoop = 0;
5238
-
5239
- // shuffle the strings
5240
- self.shuffle = self.options.shuffle;
5241
- // the order of strings
5242
- self.sequence = [];
5243
-
5244
- self.pause = {
5245
- status: false,
5246
- typewrite: true,
5247
- curString: '',
5248
- curStrPos: 0
5249
- };
5250
-
5251
- // When the typing is complete (when not looped)
5252
- self.typingComplete = false;
5253
-
5254
- // Set the order in which the strings are typed
5255
- for (var i in self.strings) {
5256
- self.sequence[i] = i;
5257
- }
5258
-
5259
- // If there is some text in the element
5260
- self.currentElContent = this.getCurrentElContent(self);
5261
-
5262
- self.autoInsertCss = self.options.autoInsertCss;
5263
-
5264
- this.appendAnimationCss(self);
5265
- }
5266
- }, {
5267
- key: 'getCurrentElContent',
5268
- value: function getCurrentElContent(self) {
5269
- var elContent = '';
5270
- if (self.attr) {
5271
- elContent = self.el.getAttribute(self.attr);
5272
- } else if (self.isInput) {
5273
- elContent = self.el.value;
5274
- } else if (self.contentType === 'html') {
5275
- elContent = self.el.innerHTML;
5276
- } else {
5277
- elContent = self.el.textContent;
5278
- }
5279
- return elContent;
5280
- }
5281
- }, {
5282
- key: 'appendAnimationCss',
5283
- value: function appendAnimationCss(self) {
5284
- var cssDataName = 'data-typed-js-css';
5285
- if (!self.autoInsertCss) {
5286
- return;
5287
- }
5288
- if (!self.showCursor && !self.fadeOut) {
5289
- return;
5290
- }
5291
- if (document.querySelector('[' + cssDataName + ']')) {
5292
- return;
5293
- }
5294
-
5295
- var css = document.createElement('style');
5296
- css.type = 'text/css';
5297
- css.setAttribute(cssDataName, true);
5298
-
5299
- var innerCss = '';
5300
- if (self.showCursor) {
5301
- innerCss += '\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n ';
5302
- }
5303
- if (self.fadeOut) {
5304
- innerCss += '\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n ';
5305
- }
5306
- if (css.length === 0) {
5307
- return;
5308
- }
5309
- css.innerHTML = innerCss;
5310
- document.body.appendChild(css);
5311
- }
5312
- }]);
5313
-
5314
- return Initializer;
5315
- })();
5316
-
5317
- exports['default'] = Initializer;
5318
- var initializer = new Initializer();
5319
- exports.initializer = initializer;
5320
 
5321
- /***/ }),
5322
- /* 2 */
5323
- /***/ (function(module, exports) {
5324
 
5325
- /**
5326
- * Defaults & options
5327
- * @returns {object} Typed defaults & options
5328
- * @public
5329
- */
5330
-
5331
- 'use strict';
5332
-
5333
- Object.defineProperty(exports, '__esModule', {
5334
- value: true
5335
- });
5336
- var defaults = {
5337
- /**
5338
- * @property {array} strings strings to be typed
5339
- * @property {string} stringsElement ID of element containing string children
5340
- */
5341
- strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],
5342
- stringsElement: null,
5343
-
5344
- /**
5345
- * @property {number} typeSpeed type speed in milliseconds
5346
- */
5347
- typeSpeed: 0,
5348
-
5349
- /**
5350
- * @property {number} startDelay time before typing starts in milliseconds
5351
- */
5352
- startDelay: 0,
5353
-
5354
- /**
5355
- * @property {number} backSpeed backspacing speed in milliseconds
5356
- */
5357
- backSpeed: 0,
5358
-
5359
- /**
5360
- * @property {boolean} smartBackspace only backspace what doesn't match the previous string
5361
- */
5362
- smartBackspace: true,
5363
-
5364
- /**
5365
- * @property {boolean} shuffle shuffle the strings
5366
- */
5367
- shuffle: false,
5368
-
5369
- /**
5370
- * @property {number} backDelay time before backspacing in milliseconds
5371
- */
5372
- backDelay: 700,
5373
-
5374
- /**
5375
- * @property {boolean} fadeOut Fade out instead of backspace
5376
- * @property {string} fadeOutClass css class for fade animation
5377
- * @property {boolean} fadeOutDelay Fade out delay in milliseconds
5378
- */
5379
- fadeOut: false,
5380
- fadeOutClass: 'typed-fade-out',
5381
- fadeOutDelay: 500,
5382
-
5383
- /**
5384
- * @property {boolean} loop loop strings
5385
- * @property {number} loopCount amount of loops
5386
- */
5387
- loop: false,
5388
- loopCount: Infinity,
5389
-
5390
- /**
5391
- * @property {boolean} showCursor show cursor
5392
- * @property {string} cursorChar character for cursor
5393
- * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML <head>
5394
- */
5395
- showCursor: true,
5396
- cursorChar: '|',
5397
- autoInsertCss: true,
5398
-
5399
- /**
5400
- * @property {string} attr attribute for typing
5401
- * Ex: input placeholder, value, or just HTML text
5402
- */
5403
- attr: null,
5404
-
5405
- /**
5406
- * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input
5407
- */
5408
- bindInputFocusEvents: false,
5409
-
5410
- /**
5411
- * @property {string} contentType 'html' or 'null' for plaintext
5412
- */
5413
- contentType: 'html',
5414
-
5415
- /**
5416
- * All typing is complete
5417
- * @param {Typed} self
5418
- */
5419
- onComplete: function onComplete(self) {},
5420
-
5421
- /**
5422
- * Before each string is typed
5423
- * @param {number} arrayPos
5424
- * @param {Typed} self
5425
- */
5426
- preStringTyped: function preStringTyped(arrayPos, self) {},
5427
-
5428
- /**
5429
- * After each string is typed
5430
- * @param {number} arrayPos
5431
- * @param {Typed} self
5432
- */
5433
- onStringTyped: function onStringTyped(arrayPos, self) {},
5434
-
5435
- /**
5436
- * During looping, after last string is typed
5437
- * @param {Typed} self
5438
- */
5439
- onLastStringBackspaced: function onLastStringBackspaced(self) {},
5440
-
5441
- /**
5442
- * Typing has been stopped
5443
- * @param {number} arrayPos
5444
- * @param {Typed} self
5445
- */
5446
- onTypingPaused: function onTypingPaused(arrayPos, self) {},
5447
-
5448
- /**
5449
- * Typing has been started after being stopped
5450
- * @param {number} arrayPos
5451
- * @param {Typed} self
5452
- */
5453
- onTypingResumed: function onTypingResumed(arrayPos, self) {},
5454
-
5455
- /**
5456
- * After reset
5457
- * @param {Typed} self
5458
- */
5459
- onReset: function onReset(self) {},
5460
-
5461
- /**
5462
- * After stop
5463
- * @param {number} arrayPos
5464
- * @param {Typed} self
5465
- */
5466
- onStop: function onStop(arrayPos, self) {},
5467
-
5468
- /**
5469
- * After start
5470
- * @param {number} arrayPos
5471
- * @param {Typed} self
5472
- */
5473
- onStart: function onStart(arrayPos, self) {},
5474
-
5475
- /**
5476
- * After destroy
5477
- * @param {Typed} self
5478
- */
5479
- onDestroy: function onDestroy(self) {}
5480
- };
5481
-
5482
- exports['default'] = defaults;
5483
- module.exports = exports['default'];
5484
 
5485
- /***/ }),
5486
- /* 3 */
5487
- /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5488
 
5489
-
5490
- /**
5491
- * TODO: These methods can probably be combined somehow
5492
- * Parse HTML tags & HTML Characters
5493
- */
5494
-
5495
- 'use strict';
5496
-
5497
- Object.defineProperty(exports, '__esModule', {
5498
- value: true
5499
- });
5500
-
5501
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
5502
-
5503
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
5504
-
5505
- var HTMLParser = (function () {
5506
- function HTMLParser() {
5507
- _classCallCheck(this, HTMLParser);
5508
- }
5509
-
5510
- _createClass(HTMLParser, [{
5511
- key: 'typeHtmlChars',
5512
-
5513
- /**
5514
- * Type HTML tags & HTML Characters
5515
- * @param {string} curString Current string
5516
- * @param {number} curStrPos Position in current string
5517
- * @param {Typed} self instance of Typed
5518
- * @returns {number} a new string position
5519
- * @private
5520
- */
5521
-
5522
- value: function typeHtmlChars(curString, curStrPos, self) {
5523
- if (self.contentType !== 'html') return curStrPos;
5524
- var curChar = curString.substr(curStrPos).charAt(0);
5525
- if (curChar === '<' || curChar === '&') {
5526
- var endTag = '';
5527
- if (curChar === '<') {
5528
- endTag = '>';
5529
- } else {
5530
- endTag = ';';
5531
- }
5532
- while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {
5533
- curStrPos++;
5534
- if (curStrPos + 1 > curString.length) {
5535
- break;
5536
- }
5537
- }
5538
- curStrPos++;
5539
- }
5540
- return curStrPos;
5541
- }
5542
-
5543
- /**
5544
- * Backspace HTML tags and HTML Characters
5545
- * @param {string} curString Current string
5546
- * @param {number} curStrPos Position in current string
5547
- * @param {Typed} self instance of Typed
5548
- * @returns {number} a new string position
5549
- * @private
5550
- */
5551
- }, {
5552
- key: 'backSpaceHtmlChars',
5553
- value: function backSpaceHtmlChars(curString, curStrPos, self) {
5554
- if (self.contentType !== 'html') return curStrPos;
5555
- var curChar = curString.substr(curStrPos).charAt(0);
5556
- if (curChar === '>' || curChar === ';') {
5557
- var endTag = '';
5558
- if (curChar === '>') {
5559
- endTag = '<';
5560
- } else {
5561
- endTag = '&';
5562
- }
5563
- while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {
5564
- curStrPos--;
5565
- if (curStrPos < 0) {
5566
- break;
5567
- }
5568
- }
5569
- curStrPos--;
5570
- }
5571
- return curStrPos;
5572
- }
5573
- }]);
5574
-
5575
- return HTMLParser;
5576
- })();
5577
-
5578
- exports['default'] = HTMLParser;
5579
- var htmlParser = new HTMLParser();
5580
- exports.htmlParser = htmlParser;
5581
 
5582
- /***/ })
5583
- /******/ ])
5584
- });
5585
- ;
5586
  /*! Magnific Popup - v1.1.0 - 2016-02-20
5587
  * http://dimsemenov.com/plugins/magnific-popup/
5588
  * Copyright (c) 2016 Dmitry Semenov; */
@@ -11963,73 +11979,6 @@ jQuery(window).on("elementor/frontend/init", function() {
11963
  );
11964
  });
11965
 
11966
- var CountDown = function($scope, $) {
11967
- var $coundDown = $scope.find(".eael-countdown-wrapper").eq(0),
11968
- $countdown_id =
11969
- $coundDown.data("countdown-id") !== undefined
11970
- ? $coundDown.data("countdown-id")
11971
- : "",
11972
- $expire_type =
11973
- $coundDown.data("expire-type") !== undefined
11974
- ? $coundDown.data("expire-type")
11975
- : "",
11976
- $expiry_text =
11977
- $coundDown.data("expiry-text") !== undefined
11978
- ? $coundDown.data("expiry-text")
11979
- : "",
11980
- $expiry_title =
11981
- $coundDown.data("expiry-title") !== undefined
11982
- ? $coundDown.data("expiry-title")
11983
- : "",
11984
- $redirect_url =
11985
- $coundDown.data("redirect-url") !== undefined
11986
- ? $coundDown.data("redirect-url")
11987
- : "",
11988
- $template =
11989
- $coundDown.data("template") !== undefined
11990
- ? $coundDown.data("template")
11991
- : "";
11992
-
11993
- jQuery(document).ready(function($) {
11994
- "use strict";
11995
- var countDown = $("#eael-countdown-" + $countdown_id);
11996
-
11997
- countDown.countdown({
11998
- end: function() {
11999
- if ($expire_type == "text") {
12000
- countDown.html(
12001
- '<div class="eael-countdown-finish-message"><h4 class="expiry-title">' +
12002
- $expiry_title +
12003
- "</h4>" +
12004
- '<div class="eael-countdown-finish-text">' +
12005
- $expiry_text +
12006
- "</div></div>"
12007
- );
12008
- } else if ($expire_type === "url") {
12009
- var editMode = $("body").find("#elementor").length;
12010
- if (editMode > 0) {
12011
- countDown.html(
12012
- "Your Page will be redirected to given URL (only on Frontend)."
12013
- );
12014
- } else {
12015
- window.location.href = $redirect_url;
12016
- }
12017
- } else if ($expire_type === "template") {
12018
- countDown.html($template);
12019
- } else {
12020
- //do nothing!
12021
- }
12022
- }
12023
- });
12024
- });
12025
- };
12026
- jQuery(window).on("elementor/frontend/init", function() {
12027
- elementorFrontend.hooks.addAction(
12028
- "frontend/element_ready/eael-countdown.default",
12029
- CountDown
12030
- );
12031
- });
12032
-
12033
  var ContentTicker = function($scope, $) {
12034
  var $contentTicker = $scope.find(".eael-content-ticker").eq(0),
12035
  $items =
@@ -12125,30 +12074,97 @@ var ContentTicker = function($scope, $) {
12125
  spaceBetween: $margin_tablet
12126
  }
12127
  }
12128
- };
12129
-
12130
- var $contentTickerSlider = new Swiper(
12131
- $contentTicker,
12132
- $contentTickerOptions
12133
- );
12134
- if ($autoplay === 0) {
12135
- $contentTickerSlider.autoplay.stop();
12136
- }
12137
- if ($pause_on_hover && $autoplay !== 0) {
12138
- $contentTicker.on("mouseenter", function() {
12139
- $contentTickerSlider.autoplay.stop();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12140
  });
12141
- $contentTicker.on("mouseleave", function() {
12142
- $contentTickerSlider.autoplay.start();
12143
- });
12144
- }
12145
  };
12146
  jQuery(window).on("elementor/frontend/init", function() {
12147
  elementorFrontend.hooks.addAction(
12148
- "frontend/element_ready/eael-content-ticker.default",
12149
- ContentTicker
12150
  );
12151
  });
 
12152
  var dataTable = function($scope, $) {
12153
  var $_this = $scope.find(".eael-data-table-wrap"),
12154
  $id = $_this.data("table_id");
@@ -12185,6 +12201,72 @@ jQuery(window).on("elementor/frontend/init", function() {
12185
  dataTable
12186
  );
12187
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12188
  var FancyText = function($scope, $) {
12189
  var $fancyText = $scope.find(".eael-fancy-text-container").eq(0),
12190
  $id =
@@ -12253,72 +12335,6 @@ jQuery(window).on("elementor/frontend/init", function() {
12253
  );
12254
  });
12255
 
12256
- var FacebookFeed = function($scope, $) {
12257
- if (!isEditMode) {
12258
- $facebook_gallery = $(".eael-facebook-feed", $scope).isotope({
12259
- itemSelector: ".eael-facebook-feed-item",
12260
- percentPosition: true,
12261
- columnWidth: ".eael-facebook-feed-item"
12262
- });
12263
-
12264
- $facebook_gallery.imagesLoaded().progress(function() {
12265
- $facebook_gallery.isotope("layout");
12266
- });
12267
- }
12268
-
12269
- // ajax load more
12270
- $(".eael-load-more-button", $scope).on("click", function(e) {
12271
- e.preventDefault();
12272
-
12273
- $this = $(this);
12274
- $settings = $this.attr("data-settings");
12275
- $page = $this.attr("data-page");
12276
-
12277
- // update load moer button
12278
- $this.addClass("button--loading");
12279
- $("span", $this).html("Loading...");
12280
-
12281
- $.ajax({
12282
- url: localize.ajaxurl,
12283
- type: "post",
12284
- data: {
12285
- action: "facebook_feed_load_more",
12286
- security: localize.nonce,
12287
- settings: $settings,
12288
- page: $page
12289
- },
12290
- success: function(response) {
12291
- $html = $(response.html);
12292
-
12293
- // append items
12294
- $facebook_gallery = $(".eael-facebook-feed", $scope).isotope();
12295
- $(".eael-facebook-feed", $scope).append($html);
12296
- $facebook_gallery.isotope("appended", $html);
12297
- $facebook_gallery.imagesLoaded().progress(function() {
12298
- $facebook_gallery.isotope("layout");
12299
- });
12300
-
12301
- // update load more button
12302
- if (response.num_pages > $page) {
12303
- $this.attr("data-page", parseInt($page) + 1);
12304
- $this.removeClass("button--loading");
12305
- $("span", $this).html("Load more");
12306
- } else {
12307
- $this.remove();
12308
- }
12309
- },
12310
- error: function() {}
12311
- });
12312
- });
12313
- };
12314
-
12315
- jQuery(window).on("elementor/frontend/init", function() {
12316
- elementorFrontend.hooks.addAction(
12317
- "frontend/element_ready/eael-facebook-feed.default",
12318
- FacebookFeed
12319
- );
12320
- });
12321
-
12322
  var filterableGalleryHandler = function($scope, $) {
12323
 
12324
  var filterControls = $scope.find('.fg-layout-3-filter-controls').eq(0),
@@ -12636,37 +12652,6 @@ jQuery(window).on("elementor/frontend/init", function() {
12636
  );
12637
  });
12638
 
12639
- var TwitterFeedHandler = function($scope, $) {
12640
- if (!isEditMode) {
12641
- $gutter = $(".eael-twitter-feed-masonry", $scope).data("gutter");
12642
- $settings = {
12643
- itemSelector: ".eael-twitter-feed-item",
12644
- percentPosition: true,
12645
- masonry: {
12646
- columnWidth: ".eael-twitter-feed-item",
12647
- gutter: $gutter
12648
- }
12649
- };
12650
-
12651
- // init isotope
12652
- $twitter_feed_gallery = $(".eael-twitter-feed-masonry", $scope).isotope(
12653
- $settings
12654
- );
12655
-
12656
- // layout gal, while images are loading
12657
- $twitter_feed_gallery.imagesLoaded().progress(function() {
12658
- $twitter_feed_gallery.isotope("layout");
12659
- });
12660
- }
12661
- };
12662
-
12663
- jQuery(window).on("elementor/frontend/init", function() {
12664
- elementorFrontend.hooks.addAction(
12665
- "frontend/element_ready/eael-twitter-feed.default",
12666
- TwitterFeedHandler
12667
- );
12668
- });
12669
-
12670
  jQuery(document).ready(function() {
12671
  // scroll func
12672
  jQuery(window).scroll(function() {
@@ -12744,3 +12729,34 @@ jQuery(document).ready(function() {
12744
  );
12745
  }
12746
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  /* 0 */
145
  /***/ (function(module, exports, __webpack_require__) {
146
 
147
+ 'use strict';
148
+
149
+ Object.defineProperty(exports, '__esModule', {
150
+ value: true
151
+ });
152
+
153
+ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
154
+
155
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
156
+
157
+ var _initializerJs = __webpack_require__(1);
158
+
159
+ var _htmlParserJs = __webpack_require__(3);
160
+
161
+ /**
162
+ * Welcome to Typed.js!
163
+ * @param {string} elementId HTML element ID _OR_ HTML element
164
+ * @param {object} options options object
165
+ * @returns {object} a new Typed object
166
+ */
167
+
168
+ var Typed = (function () {
169
+ function Typed(elementId, options) {
170
+ _classCallCheck(this, Typed);
171
+
172
+ // Initialize it up
173
+ _initializerJs.initializer.load(this, options, elementId);
174
+ // All systems go!
175
+ this.begin();
176
+ }
177
+
178
+ /**
179
+ * Toggle start() and stop() of the Typed instance
180
+ * @public
181
+ */
182
+
183
+ _createClass(Typed, [{
184
+ key: 'toggle',
185
+ value: function toggle() {
186
+ this.pause.status ? this.start() : this.stop();
187
+ }
188
+
189
+ /**
190
+ * Stop typing / backspacing and enable cursor blinking
191
+ * @public
192
+ */
193
+ }, {
194
+ key: 'stop',
195
+ value: function stop() {
196
+ if (this.typingComplete) return;
197
+ if (this.pause.status) return;
198
+ this.toggleBlinking(true);
199
+ this.pause.status = true;
200
+ this.options.onStop(this.arrayPos, this);
201
+ }
202
+
203
+ /**
204
+ * Start typing / backspacing after being stopped
205
+ * @public
206
+ */
207
+ }, {
208
+ key: 'start',
209
+ value: function start() {
210
+ if (this.typingComplete) return;
211
+ if (!this.pause.status) return;
212
+ this.pause.status = false;
213
+ if (this.pause.typewrite) {
214
+ this.typewrite(this.pause.curString, this.pause.curStrPos);
215
+ } else {
216
+ this.backspace(this.pause.curString, this.pause.curStrPos);
217
+ }
218
+ this.options.onStart(this.arrayPos, this);
219
+ }
220
+
221
+ /**
222
+ * Destroy this instance of Typed
223
+ * @public
224
+ */
225
+ }, {
226
+ key: 'destroy',
227
+ value: function destroy() {
228
+ this.reset(false);
229
+ this.options.onDestroy(this);
230
+ }
231
+
232
+ /**
233
+ * Reset Typed and optionally restarts
234
+ * @param {boolean} restart
235
+ * @public
236
+ */
237
+ }, {
238
+ key: 'reset',
239
+ value: function reset() {
240
+ var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
241
+
242
+ clearInterval(this.timeout);
243
+ this.replaceText('');
244
+ if (this.cursor && this.cursor.parentNode) {
245
+ this.cursor.parentNode.removeChild(this.cursor);
246
+ this.cursor = null;
247
+ }
248
+ this.strPos = 0;
249
+ this.arrayPos = 0;
250
+ this.curLoop = 0;
251
+ if (restart) {
252
+ this.insertCursor();
253
+ this.options.onReset(this);
254
+ this.begin();
255
+ }
256
+ }
257
+
258
+ /**
259
+ * Begins the typing animation
260
+ * @private
261
+ */
262
+ }, {
263
+ key: 'begin',
264
+ value: function begin() {
265
+ var _this = this;
266
+
267
+ this.typingComplete = false;
268
+ this.shuffleStringsIfNeeded(this);
269
+ this.insertCursor();
270
+ if (this.bindInputFocusEvents) this.bindFocusEvents();
271
+ this.timeout = setTimeout(function () {
272
+ // Check if there is some text in the element, if yes start by backspacing the default message
273
+ if (!_this.currentElContent || _this.currentElContent.length === 0) {
274
+ _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);
275
+ } else {
276
+ // Start typing
277
+ _this.backspace(_this.currentElContent, _this.currentElContent.length);
278
+ }
279
+ }, this.startDelay);
280
+ }
281
+
282
+ /**
283
+ * Called for each character typed
284
+ * @param {string} curString the current string in the strings array
285
+ * @param {number} curStrPos the current position in the curString
286
+ * @private
287
+ */
288
+ }, {
289
+ key: 'typewrite',
290
+ value: function typewrite(curString, curStrPos) {
291
+ var _this2 = this;
292
+
293
+ if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {
294
+ this.el.classList.remove(this.fadeOutClass);
295
+ if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);
296
+ }
297
+
298
+ var humanize = this.humanizer(this.typeSpeed);
299
+ var numChars = 1;
300
+
301
+ if (this.pause.status === true) {
302
+ this.setPauseStatus(curString, curStrPos, true);
303
+ return;
304
+ }
305
+
306
+ // contain typing function in a timeout humanize'd delay
307
+ this.timeout = setTimeout(function () {
308
+ // skip over any HTML chars
309
+ curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);
310
+
311
+ var pauseTime = 0;
312
+ var substr = curString.substr(curStrPos);
313
+ // check for an escape character before a pause value
314
+ // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^
315
+ // single ^ are removed from string
316
+ if (substr.charAt(0) === '^') {
317
+ if (/^\^\d+/.test(substr)) {
318
+ var skip = 1; // skip at least 1
319
+ substr = /\d+/.exec(substr)[0];
320
+ skip += substr.length;
321
+ pauseTime = parseInt(substr);
322
+ _this2.temporaryPause = true;
323
+ _this2.options.onTypingPaused(_this2.arrayPos, _this2);
324
+ // strip out the escape character and pause value so they're not printed
325
+ curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);
326
+ _this2.toggleBlinking(true);
327
+ }
328
+ }
329
+
330
+ // check for skip characters formatted as
331
+ // "this is a `string to print NOW` ..."
332
+ if (substr.charAt(0) === '`') {
333
+ while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {
334
+ numChars++;
335
+ if (curStrPos + numChars > curString.length) break;
336
+ }
337
+ // strip out the escape characters and append all the string in between
338
+ var stringBeforeSkip = curString.substring(0, curStrPos);
339
+ var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);
340
+ var stringAfterSkip = curString.substring(curStrPos + numChars + 1);
341
+ curString = stringBeforeSkip + stringSkipped + stringAfterSkip;
342
+ numChars--;
343
+ }
344
+
345
+ // timeout for any pause after a character
346
+ _this2.timeout = setTimeout(function () {
347
+ // Accounts for blinking while paused
348
+ _this2.toggleBlinking(false);
349
+
350
+ // We're done with this sentence!
351
+ if (curStrPos >= curString.length) {
352
+ _this2.doneTyping(curString, curStrPos);
353
+ } else {
354
+ _this2.keepTyping(curString, curStrPos, numChars);
355
+ }
356
+ // end of character pause
357
+ if (_this2.temporaryPause) {
358
+ _this2.temporaryPause = false;
359
+ _this2.options.onTypingResumed(_this2.arrayPos, _this2);
360
+ }
361
+ }, pauseTime);
362
+
363
+ // humanized value for typing
364
+ }, humanize);
365
+ }
366
+
367
+ /**
368
+ * Continue to the next string & begin typing
369
+ * @param {string} curString the current string in the strings array
370
+ * @param {number} curStrPos the current position in the curString
371
+ * @private
372
+ */
373
+ }, {
374
+ key: 'keepTyping',
375
+ value: function keepTyping(curString, curStrPos, numChars) {
376
+ // call before functions if applicable
377
+ if (curStrPos === 0) {
378
+ this.toggleBlinking(false);
379
+ this.options.preStringTyped(this.arrayPos, this);
380
+ }
381
+ // start typing each new char into existing string
382
+ // curString: arg, this.el.html: original text inside element
383
+ curStrPos += numChars;
384
+ var nextString = curString.substr(0, curStrPos);
385
+ this.replaceText(nextString);
386
+ // loop the function
387
+ this.typewrite(curString, curStrPos);
388
+ }
389
+
390
+ /**
391
+ * We're done typing all strings
392
+ * @param {string} curString the current string in the strings array
393
+ * @param {number} curStrPos the current position in the curString
394
+ * @private
395
+ */
396
+ }, {
397
+ key: 'doneTyping',
398
+ value: function doneTyping(curString, curStrPos) {
399
+ var _this3 = this;
400
+
401
+ // fires callback function
402
+ this.options.onStringTyped(this.arrayPos, this);
403
+ this.toggleBlinking(true);
404
+ // is this the final string
405
+ if (this.arrayPos === this.strings.length - 1) {
406
+ // callback that occurs on the last typed string
407
+ this.complete();
408
+ // quit if we wont loop back
409
+ if (this.loop === false || this.curLoop === this.loopCount) {
410
+ return;
411
+ }
412
+ }
413
+ this.timeout = setTimeout(function () {
414
+ _this3.backspace(curString, curStrPos);
415
+ }, this.backDelay);
416
+ }
417
+
418
+ /**
419
+ * Backspaces 1 character at a time
420
+ * @param {string} curString the current string in the strings array
421
+ * @param {number} curStrPos the current position in the curString
422
+ * @private
423
+ */
424
+ }, {
425
+ key: 'backspace',
426
+ value: function backspace(curString, curStrPos) {
427
+ var _this4 = this;
428
+
429
+ if (this.pause.status === true) {
430
+ this.setPauseStatus(curString, curStrPos, true);
431
+ return;
432
+ }
433
+ if (this.fadeOut) return this.initFadeOut();
434
+
435
+ this.toggleBlinking(false);
436
+ var humanize = this.humanizer(this.backSpeed);
437
+
438
+ this.timeout = setTimeout(function () {
439
+ curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);
440
+ // replace text with base text + typed characters
441
+ var curStringAtPosition = curString.substr(0, curStrPos);
442
+ _this4.replaceText(curStringAtPosition);
443
+
444
+ // if smartBack is enabled
445
+ if (_this4.smartBackspace) {
446
+ // the remaining part of the current string is equal of the same part of the new string
447
+ var nextString = _this4.strings[_this4.arrayPos + 1];
448
+ if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {
449
+ _this4.stopNum = curStrPos;
450
+ } else {
451
+ _this4.stopNum = 0;
452
+ }
453
+ }
454
+
455
+ // if the number (id of character in current string) is
456
+ // less than the stop number, keep going
457
+ if (curStrPos > _this4.stopNum) {
458
+ // subtract characters one by one
459
+ curStrPos--;
460
+ // loop the function
461
+ _this4.backspace(curString, curStrPos);
462
+ } else if (curStrPos <= _this4.stopNum) {
463
+ // if the stop number has been reached, increase
464
+ // array position to next string
465
+ _this4.arrayPos++;
466
+ // When looping, begin at the beginning after backspace complete
467
+ if (_this4.arrayPos === _this4.strings.length) {
468
+ _this4.arrayPos = 0;
469
+ _this4.options.onLastStringBackspaced();
470
+ _this4.shuffleStringsIfNeeded();
471
+ _this4.begin();
472
+ } else {
473
+ _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);
474
+ }
475
+ }
476
+ // humanized value for typing
477
+ }, humanize);
478
+ }
479
+
480
+ /**
481
+ * Full animation is complete
482
+ * @private
483
+ */
484
+ }, {
485
+ key: 'complete',
486
+ value: function complete() {
487
+ this.options.onComplete(this);
488
+ if (this.loop) {
489
+ this.curLoop++;
490
+ } else {
491
+ this.typingComplete = true;
492
+ }
493
+ }
494
+
495
+ /**
496
+ * Has the typing been stopped
497
+ * @param {string} curString the current string in the strings array
498
+ * @param {number} curStrPos the current position in the curString
499
+ * @param {boolean} isTyping
500
+ * @private
501
+ */
502
+ }, {
503
+ key: 'setPauseStatus',
504
+ value: function setPauseStatus(curString, curStrPos, isTyping) {
505
+ this.pause.typewrite = isTyping;
506
+ this.pause.curString = curString;
507
+ this.pause.curStrPos = curStrPos;
508
+ }
509
+
510
+ /**
511
+ * Toggle the blinking cursor
512
+ * @param {boolean} isBlinking
513
+ * @private
514
+ */
515
+ }, {
516
+ key: 'toggleBlinking',
517
+ value: function toggleBlinking(isBlinking) {
518
+ if (!this.cursor) return;
519
+ // if in paused state, don't toggle blinking a 2nd time
520
+ if (this.pause.status) return;
521
+ if (this.cursorBlinking === isBlinking) return;
522
+ this.cursorBlinking = isBlinking;
523
+ if (isBlinking) {
524
+ this.cursor.classList.add('typed-cursor--blink');
525
+ } else {
526
+ this.cursor.classList.remove('typed-cursor--blink');
527
+ }
528
+ }
529
+
530
+ /**
531
+ * Speed in MS to type
532
+ * @param {number} speed
533
+ * @private
534
+ */
535
+ }, {
536
+ key: 'humanizer',
537
+ value: function humanizer(speed) {
538
+ return Math.round(Math.random() * speed / 2) + speed;
539
+ }
540
+
541
+ /**
542
+ * Shuffle the sequence of the strings array
543
+ * @private
544
+ */
545
+ }, {
546
+ key: 'shuffleStringsIfNeeded',
547
+ value: function shuffleStringsIfNeeded() {
548
+ if (!this.shuffle) return;
549
+ this.sequence = this.sequence.sort(function () {
550
+ return Math.random() - 0.5;
551
+ });
552
+ }
553
+
554
+ /**
555
+ * Adds a CSS class to fade out current string
556
+ * @private
557
+ */
558
+ }, {
559
+ key: 'initFadeOut',
560
+ value: function initFadeOut() {
561
+ var _this5 = this;
562
+
563
+ this.el.className += ' ' + this.fadeOutClass;
564
+ if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;
565
+ return setTimeout(function () {
566
+ _this5.arrayPos++;
567
+ _this5.replaceText('');
568
+
569
+ // Resets current string if end of loop reached
570
+ if (_this5.strings.length > _this5.arrayPos) {
571
+ _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);
572
+ } else {
573
+ _this5.typewrite(_this5.strings[0], 0);
574
+ _this5.arrayPos = 0;
575
+ }
576
+ }, this.fadeOutDelay);
577
+ }
578
+
579
+ /**
580
+ * Replaces current text in the HTML element
581
+ * depending on element type
582
+ * @param {string} str
583
+ * @private
584
+ */
585
+ }, {
586
+ key: 'replaceText',
587
+ value: function replaceText(str) {
588
+ if (this.attr) {
589
+ this.el.setAttribute(this.attr, str);
590
+ } else {
591
+ if (this.isInput) {
592
+ this.el.value = str;
593
+ } else if (this.contentType === 'html') {
594
+ this.el.innerHTML = str;
595
+ } else {
596
+ this.el.textContent = str;
597
+ }
598
+ }
599
+ }
600
+
601
+ /**
602
+ * If using input elements, bind focus in order to
603
+ * start and stop the animation
604
+ * @private
605
+ */
606
+ }, {
607
+ key: 'bindFocusEvents',
608
+ value: function bindFocusEvents() {
609
+ var _this6 = this;
610
+
611
+ if (!this.isInput) return;
612
+ this.el.addEventListener('focus', function (e) {
613
+ _this6.stop();
614
+ });
615
+ this.el.addEventListener('blur', function (e) {
616
+ if (_this6.el.value && _this6.el.value.length !== 0) {
617
+ return;
618
+ }
619
+ _this6.start();
620
+ });
621
+ }
622
+
623
+ /**
624
+ * On init, insert the cursor element
625
+ * @private
626
+ */
627
+ }, {
628
+ key: 'insertCursor',
629
+ value: function insertCursor() {
630
+ if (!this.showCursor) return;
631
+ if (this.cursor) return;
632
+ this.cursor = document.createElement('span');
633
+ this.cursor.className = 'typed-cursor';
634
+ this.cursor.innerHTML = this.cursorChar;
635
+ this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);
636
+ }
637
+ }]);
638
+
639
+ return Typed;
640
+ })();
641
+
642
+ exports['default'] = Typed;
643
+ module.exports = exports['default'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
644
 
645
+ /***/ }),
646
+ /* 1 */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
647
  /***/ (function(module, exports, __webpack_require__) {
648
 
649
  'use strict';
652
  value: true
653
  });
654
 
655
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
656
+
657
  var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
658
 
659
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
660
+
661
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
662
 
663
+ var _defaultsJs = __webpack_require__(2);
664
 
665
+ var _defaultsJs2 = _interopRequireDefault(_defaultsJs);
666
 
667
  /**
668
+ * Initialize the Typed object
 
 
 
669
  */
670
 
671
+ var Initializer = (function () {
672
+ function Initializer() {
673
+ _classCallCheck(this, Initializer);
 
 
 
 
 
674
  }
675
 
676
+ _createClass(Initializer, [{
677
+ key: 'load',
678
+
679
+ /**
680
+ * Load up defaults & options on the Typed instance
681
+ * @param {Typed} self instance of Typed
682
+ * @param {object} options options object
683
+ * @param {string} elementId HTML element ID _OR_ instance of HTML element
684
+ * @private
685
+ */
686
+
687
+ value: function load(self, options, elementId) {
688
+ // chosen element to manipulate text
689
+ if (typeof elementId === 'string') {
690
+ self.el = document.querySelector(elementId);
691
+ } else {
692
+ self.el = elementId;
693
+ }
694
+
695
+ self.options = _extends({}, _defaultsJs2['default'], options);
696
+
697
+ // attribute to type into
698
+ self.isInput = self.el.tagName.toLowerCase() === 'input';
699
+ self.attr = self.options.attr;
700
+ self.bindInputFocusEvents = self.options.bindInputFocusEvents;
701
+
702
+ // show cursor
703
+ self.showCursor = self.isInput ? false : self.options.showCursor;
704
+
705
+ // custom cursor
706
+ self.cursorChar = self.options.cursorChar;
707
+
708
+ // Is the cursor blinking
709
+ self.cursorBlinking = true;
710
+
711
+ // text content of element
712
+ self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;
713
+
714
+ // html or plain text
715
+ self.contentType = self.options.contentType;
716
+
717
+ // typing speed
718
+ self.typeSpeed = self.options.typeSpeed;
719
+
720
+ // add a delay before typing starts
721
+ self.startDelay = self.options.startDelay;
722
+
723
+ // backspacing speed
724
+ self.backSpeed = self.options.backSpeed;
725
+
726
+ // only backspace what doesn't match the previous string
727
+ self.smartBackspace = self.options.smartBackspace;
728
+
729
+ // amount of time to wait before backspacing
730
+ self.backDelay = self.options.backDelay;
731
+
732
+ // Fade out instead of backspace
733
+ self.fadeOut = self.options.fadeOut;
734
+ self.fadeOutClass = self.options.fadeOutClass;
735
+ self.fadeOutDelay = self.options.fadeOutDelay;
736
+
737
+ // variable to check whether typing is currently paused
738
+ self.isPaused = false;
739
+
740
+ // input strings of text
741
+ self.strings = self.options.strings.map(function (s) {
742
+ return s.trim();
743
+ });
744
+
745
+ // div containing strings
746
+ if (typeof self.options.stringsElement === 'string') {
747
+ self.stringsElement = document.querySelector(self.options.stringsElement);
748
+ } else {
749
+ self.stringsElement = self.options.stringsElement;
750
+ }
751
+
752
+ if (self.stringsElement) {
753
+ self.strings = [];
754
+ self.stringsElement.style.display = 'none';
755
+ var strings = Array.prototype.slice.apply(self.stringsElement.children);
756
+ var stringsLength = strings.length;
757
+
758
+ if (stringsLength) {
759
+ for (var i = 0; i < stringsLength; i += 1) {
760
+ var stringEl = strings[i];
761
+ self.strings.push(stringEl.innerHTML.trim());
762
+ }
763
+ }
764
+ }
765
+
766
+ // character number position of current string
767
+ self.strPos = 0;
768
+
769
+ // current array position
770
+ self.arrayPos = 0;
771
+
772
+ // index of string to stop backspacing on
773
+ self.stopNum = 0;
774
+
775
+ // Looping logic
776
+ self.loop = self.options.loop;
777
+ self.loopCount = self.options.loopCount;
778
+ self.curLoop = 0;
779
+
780
+ // shuffle the strings
781
+ self.shuffle = self.options.shuffle;
782
+ // the order of strings
783
+ self.sequence = [];
784
+
785
+ self.pause = {
786
+ status: false,
787
+ typewrite: true,
788
+ curString: '',
789
+ curStrPos: 0
790
+ };
791
+
792
+ // When the typing is complete (when not looped)
793
+ self.typingComplete = false;
794
+
795
+ // Set the order in which the strings are typed
796
+ for (var i in self.strings) {
797
+ self.sequence[i] = i;
798
+ }
799
+
800
+ // If there is some text in the element
801
+ self.currentElContent = this.getCurrentElContent(self);
802
 
803
+ self.autoInsertCss = self.options.autoInsertCss;
 
 
 
 
804
 
805
+ this.appendAnimationCss(self);
 
 
 
 
 
 
 
 
 
 
 
806
  }
 
 
 
 
 
807
  }, {
808
+ key: 'getCurrentElContent',
809
+ value: function getCurrentElContent(self) {
810
+ var elContent = '';
811
+ if (self.attr) {
812
+ elContent = self.el.getAttribute(self.attr);
813
+ } else if (self.isInput) {
814
+ elContent = self.el.value;
815
+ } else if (self.contentType === 'html') {
816
+ elContent = self.el.innerHTML;
817
  } else {
818
+ elContent = self.el.textContent;
819
  }
820
+ return elContent;
821
  }
 
 
 
 
 
822
  }, {
823
+ key: 'appendAnimationCss',
824
+ value: function appendAnimationCss(self) {
825
+ var cssDataName = 'data-typed-js-css';
826
+ if (!self.autoInsertCss) {
827
+ return;
828
+ }
829
+ if (!self.showCursor && !self.fadeOut) {
830
+ return;
831
+ }
832
+ if (document.querySelector('[' + cssDataName + ']')) {
833
+ return;
834
+ }
835
 
836
+ var css = document.createElement('style');
837
+ css.type = 'text/css';
838
+ css.setAttribute(cssDataName, true);
 
 
 
 
 
 
839
 
840
+ var innerCss = '';
841
+ if (self.showCursor) {
842
+ innerCss += '\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n ';
 
 
843
  }
844
+ if (self.fadeOut) {
845
+ innerCss += '\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n ';
 
 
 
 
 
846
  }
847
+ if (css.length === 0) {
848
+ return;
849
+ }
850
+ css.innerHTML = innerCss;
851
+ document.body.appendChild(css);
852
  }
853
+ }]);
854
 
855
+ return Initializer;
856
+ })();
 
 
 
 
 
 
857
 
858
+ exports['default'] = Initializer;
859
+ var initializer = new Initializer();
860
+ exports.initializer = initializer;
861
+
862
+ /***/ }),
863
+ /* 2 */
864
+ /***/ (function(module, exports) {
865
+
866
+ /**
867
+ * Defaults & options
868
+ * @returns {object} Typed defaults & options
869
+ * @public
870
+ */
 
871
 
872
+ 'use strict';
 
 
 
 
 
 
 
 
 
873
 
874
+ Object.defineProperty(exports, '__esModule', {
875
+ value: true
876
+ });
877
+ var defaults = {
878
+ /**
879
+ * @property {array} strings strings to be typed
880
+ * @property {string} stringsElement ID of element containing string children
881
+ */
882
+ strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],
883
+ stringsElement: null,
884
 
885
+ /**
886
+ * @property {number} typeSpeed type speed in milliseconds
887
+ */
888
+ typeSpeed: 0,
889
 
890
+ /**
891
+ * @property {number} startDelay time before typing starts in milliseconds
892
+ */
893
+ startDelay: 0,
894
 
895
+ /**
896
+ * @property {number} backSpeed backspacing speed in milliseconds
897
+ */
898
+ backSpeed: 0,
899
 
900
+ /**
901
+ * @property {boolean} smartBackspace only backspace what doesn't match the previous string
902
+ */
903
+ smartBackspace: true,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
904
 
905
+ /**
906
+ * @property {boolean} shuffle shuffle the strings
907
+ */
908
+ shuffle: false,
909
+
910
+ /**
911
+ * @property {number} backDelay time before backspacing in milliseconds
912
+ */
913
+ backDelay: 700,
914
+
915
+ /**
916
+ * @property {boolean} fadeOut Fade out instead of backspace
917
+ * @property {string} fadeOutClass css class for fade animation
918
+ * @property {boolean} fadeOutDelay Fade out delay in milliseconds
919
+ */
920
+ fadeOut: false,
921
+ fadeOutClass: 'typed-fade-out',
922
+ fadeOutDelay: 500,
923
+
924
+ /**
925
+ * @property {boolean} loop loop strings
926
+ * @property {number} loopCount amount of loops
927
+ */
928
+ loop: false,
929
+ loopCount: Infinity,
930
+
931
+ /**
932
+ * @property {boolean} showCursor show cursor
933
+ * @property {string} cursorChar character for cursor
934
+ * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML <head>
935
+ */
936
+ showCursor: true,
937
+ cursorChar: '|',
938
+ autoInsertCss: true,
939
 
940
+ /**
941
+ * @property {string} attr attribute for typing
942
+ * Ex: input placeholder, value, or just HTML text
943
+ */
944
+ attr: null,
945
 
946
+ /**
947
+ * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input
948
+ */
949
+ bindInputFocusEvents: false,
 
 
 
 
 
 
 
 
950
 
951
+ /**
952
+ * @property {string} contentType 'html' or 'null' for plaintext
953
+ */
954
+ contentType: 'html',
955
 
956
+ /**
957
+ * All typing is complete
958
+ * @param {Typed} self
959
+ */
960
+ onComplete: function onComplete(self) {},
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
961
 
962
+ /**
963
+ * Before each string is typed
964
+ * @param {number} arrayPos
965
+ * @param {Typed} self
966
+ */
967
+ preStringTyped: function preStringTyped(arrayPos, self) {},
 
 
 
 
968
 
969
+ /**
970
+ * After each string is typed
971
+ * @param {number} arrayPos
972
+ * @param {Typed} self
973
+ */
974
+ onStringTyped: function onStringTyped(arrayPos, self) {},
 
 
 
 
 
 
 
 
 
 
975
 
976
+ /**
977
+ * During looping, after last string is typed
978
+ * @param {Typed} self
979
+ */
980
+ onLastStringBackspaced: function onLastStringBackspaced(self) {},
 
 
 
 
 
981
 
982
+ /**
983
+ * Typing has been stopped
984
+ * @param {number} arrayPos
985
+ * @param {Typed} self
986
+ */
987
+ onTypingPaused: function onTypingPaused(arrayPos, self) {},
988
 
989
+ /**
990
+ * Typing has been started after being stopped
991
+ * @param {number} arrayPos
992
+ * @param {Typed} self
993
+ */
994
+ onTypingResumed: function onTypingResumed(arrayPos, self) {},
995
 
996
+ /**
997
+ * After reset
998
+ * @param {Typed} self
999
+ */
1000
+ onReset: function onReset(self) {},
1001
 
1002
+ /**
1003
+ * After stop
1004
+ * @param {number} arrayPos
1005
+ * @param {Typed} self
1006
+ */
1007
+ onStop: function onStop(arrayPos, self) {},
 
 
 
 
1008
 
1009
+ /**
1010
+ * After start
1011
+ * @param {number} arrayPos
1012
+ * @param {Typed} self
1013
+ */
1014
+ onStart: function onStart(arrayPos, self) {},
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1015
 
1016
+ /**
1017
+ * After destroy
1018
+ * @param {Typed} self
1019
+ */
1020
+ onDestroy: function onDestroy(self) {}
1021
+ };
 
 
 
 
 
 
 
 
1022
 
1023
+ exports['default'] = defaults;
1024
+ module.exports = exports['default'];
1025
+
1026
+ /***/ }),
1027
+ /* 3 */
1028
+ /***/ (function(module, exports) {
1029
+
 
 
 
 
 
 
 
1030
 
1031
+ /**
1032
+ * TODO: These methods can probably be combined somehow
1033
+ * Parse HTML tags & HTML Characters
1034
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1035
 
1036
+ 'use strict';
 
 
 
 
 
 
 
 
 
1037
 
1038
+ Object.defineProperty(exports, '__esModule', {
1039
+ value: true
1040
+ });
 
 
 
 
 
 
 
 
 
1041
 
1042
+ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
 
 
 
 
 
 
 
1043
 
1044
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
 
 
 
 
1045
 
1046
+ var HTMLParser = (function () {
1047
+ function HTMLParser() {
1048
+ _classCallCheck(this, HTMLParser);
1049
+ }
1050
+
1051
+ _createClass(HTMLParser, [{
1052
+ key: 'typeHtmlChars',
 
 
1053
 
1054
  /**
1055
+ * Type HTML tags & HTML Characters
1056
+ * @param {string} curString Current string
1057
+ * @param {number} curStrPos Position in current string
1058
+ * @param {Typed} self instance of Typed
1059
+ * @returns {number} a new string position
1060
  * @private
1061
  */
1062
+
1063
+ value: function typeHtmlChars(curString, curStrPos, self) {
1064
+ if (self.contentType !== 'html') return curStrPos;
1065
+ var curChar = curString.substr(curStrPos).charAt(0);
1066
+ if (curChar === '<' || curChar === '&') {
1067
+ var endTag = '';
1068
+ if (curChar === '<') {
1069
+ endTag = '>';
 
 
1070
  } else {
1071
+ endTag = ';';
1072
  }
1073
+ while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {
1074
+ curStrPos++;
1075
+ if (curStrPos + 1 > curString.length) {
1076
+ break;
1077
+ }
1078
+ }
1079
+ curStrPos++;
1080
  }
1081
+ return curStrPos;
1082
  }
1083
 
1084
  /**
1085
+ * Backspace HTML tags and HTML Characters
1086
+ * @param {string} curString Current string
1087
+ * @param {number} curStrPos Position in current string
1088
+ * @param {Typed} self instance of Typed
1089
+ * @returns {number} a new string position
1090
  * @private
1091
  */
1092
  }, {
1093
+ key: 'backSpaceHtmlChars',
1094
+ value: function backSpaceHtmlChars(curString, curStrPos, self) {
1095
+ if (self.contentType !== 'html') return curStrPos;
1096
+ var curChar = curString.substr(curStrPos).charAt(0);
1097
+ if (curChar === '>' || curChar === ';') {
1098
+ var endTag = '';
1099
+ if (curChar === '>') {
1100
+ endTag = '<';
1101
+ } else {
1102
+ endTag = '&';
 
1103
  }
1104
+ while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {
1105
+ curStrPos--;
1106
+ if (curStrPos < 0) {
1107
+ break;
1108
+ }
1109
+ }
1110
+ curStrPos--;
1111
+ }
1112
+ return curStrPos;
 
 
 
 
 
 
 
 
1113
  }
1114
  }]);
1115
 
1116
+ return HTMLParser;
1117
  })();
1118
 
1119
+ exports['default'] = HTMLParser;
1120
+ var htmlParser = new HTMLParser();
1121
+ exports.htmlParser = htmlParser;
1122
+
1123
+ /***/ })
1124
+ /******/ ])
1125
+ });
1126
+ ;
1127
+ /*!
1128
+ * Countdown v0.1.0
1129
+ * https://github.com/fengyuanchen/countdown
1130
+ *
1131
+ * Copyright 2014 Fengyuan Chen
1132
+ * Released under the MIT license
1133
+ */
1134
+
1135
+ (function (factory) {
1136
+ if (typeof define === "function" && define.amd) {
1137
+ // AMD. Register as anonymous module.
1138
+ define(["jquery"], factory);
1139
+ } else {
1140
+ // Browser globals.
1141
+ factory(jQuery);
1142
+ }
1143
+ })(function ($) {
1144
+
1145
+ "use strict";
1146
+
1147
+ var Countdown = function (element, options) {
1148
+ this.$element = $(element);
1149
+ this.defaults = $.extend({}, Countdown.defaults, this.$element.data(), $.isPlainObject(options) ? options : {});
1150
+ this.init();
1151
+ };
1152
+
1153
+ Countdown.prototype = {
1154
+ constructor: Countdown,
1155
+
1156
+ init: function () {
1157
+ var content = this.$element.html(),
1158
+ date = new Date(this.defaults.date || content);
1159
+
1160
+ if (date.getTime()) {
1161
+ this.content = content;
1162
+ this.date = date;
1163
+ this.find();
1164
+
1165
+ if (this.defaults.autoStart) {
1166
+ this.start();
1167
+ }
1168
+ }
1169
+ },
1170
+
1171
+ find: function () {
1172
+ var $element = this.$element;
1173
+
1174
+ this.$days = $element.find("[data-days]");
1175
+ this.$hours = $element.find("[data-hours]");
1176
+ this.$minutes = $element.find("[data-minutes]");
1177
+ this.$seconds = $element.find("[data-seconds]");
1178
+
1179
+ if ((this.$days.length + this.$hours.length + this.$minutes.length + this.$seconds.length) > 0) {
1180
+ this.found = true;
1181
+ }
1182
+ },
1183
+
1184
+ reset: function () {
1185
+ if (this.found) {
1186
+ this.output("days");
1187
+ this.output("hours");
1188
+ this.output("minutes");
1189
+ this.output("seconds");
1190
+ } else {
1191
+ this.output();
1192
+ }
1193
+ },
1194
+
1195
+ ready: function () {
1196
+ var date = this.date,
1197
+ decisecond = 100,
1198
+ second = 1000,
1199
+ minute = 60000,
1200
+ hour = 3600000,
1201
+ day = 86400000,
1202
+ remainder = {},
1203
+ diff;
1204
+
1205
+ if (!date) {
1206
+ return false;
1207
+ }
1208
+
1209
+ diff = date.getTime() - (new Date()).getTime();
1210
+
1211
+ if (diff <= 0) {
1212
+ this.end();
1213
+ return false;
1214
+ }
1215
+
1216
+ remainder.days = diff;
1217
+ remainder.hours = remainder.days % day;
1218
+ remainder.minutes = remainder.hours % hour;
1219
+ remainder.seconds = remainder.minutes % minute;
1220
+ remainder.milliseconds = remainder.seconds % second;
1221
+
1222
+ this.days = Math.floor(remainder.days / day);
1223
+ this.hours = Math.floor(remainder.hours / hour);
1224
+ this.minutes = Math.floor(remainder.minutes / minute);
1225
+ this.seconds = Math.floor(remainder.seconds / second);
1226
+ this.deciseconds = Math.floor(remainder.milliseconds / decisecond);
1227
+
1228
+ return true;
1229
+ },
1230
+
1231
+ start: function () {
1232
+ if (!this.active && this.ready()) {
1233
+ this.active = true;
1234
+ this.reset();
1235
+ this.autoUpdate = this.defaults.fast ?
1236
+ setInterval($.proxy(this.fastUpdate, this), 100) :
1237
+ setInterval($.proxy(this.update, this), 1000);
1238
+ }
1239
+ },
1240
+
1241
+ stop: function () {
1242
+ if (this.active) {
1243
+ this.active = false;
1244
+ clearInterval(this.autoUpdate);
1245
+ }
1246
+ },
1247
+
1248
+ end: function () {
1249
+ if (!this.date) {
1250
+ return;
1251
+ }
1252
+
1253
+ this.stop();
1254
+
1255
+ this.days = 0;
1256
+ this.hours = 0;
1257
+ this.minutes = 0;
1258
+ this.seconds = 0;
1259
+ this.deciseconds = 0;
1260
+ this.reset();
1261
+ this.defaults.end();
1262
+ },
1263
+
1264
+ destroy: function () {
1265
+ if (!this.date) {
1266
+ return;
1267
+ }
1268
+
1269
+ this.stop();
1270
+
1271
+ this.$days = null;
1272
+ this.$hours = null;
1273
+ this.$minutes = null;
1274
+ this.$seconds = null;
1275
+
1276
+ this.$element.empty().html(this.content);
1277
+ this.$element.removeData("countdown");
1278
+ },
1279
+
1280
+ fastUpdate: function () {
1281
+ if (--this.deciseconds >= 0) {
1282
+ this.output("deciseconds");
1283
+ } else {
1284
+ this.deciseconds = 9;
1285
+ this.update();
1286
+ }
1287
+ },
1288
+
1289
+ update: function () {
1290
+ if (--this.seconds >= 0) {
1291
+ this.output("seconds");
1292
+ } else {
1293
+ this.seconds = 59;
1294
+
1295
+ if (--this.minutes >= 0) {
1296
+ this.output("minutes");
1297
+ } else {
1298
+ this.minutes = 59;
1299
+
1300
+ if (--this.hours >= 0) {
1301
+ this.output("hours");
1302
+ } else {
1303
+ this.hours = 23;
1304
+
1305
+ if (--this.days >= 0) {
1306
+ this.output("days");
1307
+ } else {
1308
+ this.end();
1309
+ }
1310
+ }
1311
+ }
1312
+ }
1313
+ },
1314
+
1315
+ output: function (type) {
1316
+ if (!this.found) {
1317
+ this.$element.empty().html(this.template());
1318
+ return;
1319
+ }
1320
+
1321
+ switch (type) {
1322
+ case "deciseconds":
1323
+ this.$seconds.text(this.getSecondsText());
1324
+ break;
1325
+
1326
+ case "seconds":
1327
+ this.$seconds.text(this.seconds);
1328
+ break;
1329
+
1330
+ case "minutes":
1331
+ this.$minutes.text(this.minutes);
1332
+ break;
1333
+
1334
+ case "hours":
1335
+ this.$hours.text(this.hours);
1336
+ break;
1337
+
1338
+ case "days":
1339
+ this.$days.text(this.days);
1340
+ break;
1341
+
1342
+ // No default
1343
+ }
1344
+ },
1345
+
1346
+ template: function () {
1347
+ return this.defaults.text
1348
+ .replace("%s", this.days)
1349
+ .replace("%s", this.hours)
1350
+ .replace("%s", this.minutes)
1351
+ .replace("%s", this.getSecondsText());
1352
+ },
1353
+
1354
+ getSecondsText: function () {
1355
+ return this.active && this.defaults.fast ? (this.seconds + "." + this.deciseconds) : this.seconds;
1356
+ }
1357
+ };
1358
+
1359
+ // Default settings
1360
+ Countdown.defaults = {
1361
+ autoStart: true,
1362
+ date: null,
1363
+ fast: false,
1364
+ end: $.noop,
1365
+ text: "%s days, %s hours, %s minutes, %s seconds"
1366
+ };
1367
+
1368
+ // Set default settings
1369
+ Countdown.setDefaults = function (options) {
1370
+ $.extend(Countdown.defaults, options);
1371
+ };
1372
+
1373
+ // Register as jQuery plugin
1374
+ $.fn.countdown = function (options) {
1375
+ return this.each(function () {
1376
+ var $this = $(this),
1377
+ data = $this.data("countdown");
1378
+
1379
+ if (!data) {
1380
+ $this.data("countdown", (data = new Countdown(this, options)));
1381
+ }
1382
+
1383
+ if (typeof options === "string" && $.isFunction(data[options])) {
1384
+ data[options]();
1385
+ }
1386
+ });
1387
+ };
1388
+
1389
+ $.fn.countdown.constructor = Countdown;
1390
+ $.fn.countdown.setDefaults = Countdown.setDefaults;
1391
+
1392
+ $(function () {
1393
+ $("[countdown]").countdown();
1394
+ });
1395
+
1396
+ });
1397
+
1398
+ /*!
1399
+ * imagesLoaded PACKAGED v4.1.4
1400
+ * JavaScript is all like "You images are done yet or what?"
1401
+ * MIT License
1402
+ */
1403
+
1404
+ /**
1405
+ * EvEmitter v1.1.0
1406
+ * Lil' event emitter
1407
+ * MIT License
1408
+ */
1409
+
1410
+ /* jshint unused: true, undef: true, strict: true */
1411
+
1412
+ ( function( global, factory ) {
1413
+ // universal module definition
1414
+ /* jshint strict: false */ /* globals define, module, window */
1415
+ if ( typeof define == 'function' && define.amd ) {
1416
+ // AMD - RequireJS
1417
+ define( 'ev-emitter/ev-emitter',factory );
1418
+ } else if ( typeof module == 'object' && module.exports ) {
1419
+ // CommonJS - Browserify, Webpack
1420
+ module.exports = factory();
1421
+ } else {
1422
+ // Browser globals
1423
+ global.EvEmitter = factory();
1424
+ }
1425
+
1426
+ }( typeof window != 'undefined' ? window : this, function() {
1427
+
1428
+
1429
+
1430
+ function EvEmitter() {}
1431
+
1432
+ var proto = EvEmitter.prototype;
1433
+
1434
+ proto.on = function( eventName, listener ) {
1435
+ if ( !eventName || !listener ) {
1436
+ return;
1437
+ }
1438
+ // set events hash
1439
+ var events = this._events = this._events || {};
1440
+ // set listeners array
1441
+ var listeners = events[ eventName ] = events[ eventName ] || [];
1442
+ // only add once
1443
+ if ( listeners.indexOf( listener ) == -1 ) {
1444
+ listeners.push( listener );
1445
+ }
1446
+
1447
+ return this;
1448
+ };
1449
+
1450
+ proto.once = function( eventName, listener ) {
1451
+ if ( !eventName || !listener ) {
1452
+ return;
1453
+ }
1454
+ // add event
1455
+ this.on( eventName, listener );
1456
+ // set once flag
1457
+ // set onceEvents hash
1458
+ var onceEvents = this._onceEvents = this._onceEvents || {};
1459
+ // set onceListeners object
1460
+ var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
1461
+ // set flag
1462
+ onceListeners[ listener ] = true;
1463
+
1464
+ return this;
1465
+ };
1466
+
1467
+ proto.off = function( eventName, listener ) {
1468
+ var listeners = this._events && this._events[ eventName ];
1469
+ if ( !listeners || !listeners.length ) {
1470
+ return;
1471
+ }
1472
+ var index = listeners.indexOf( listener );
1473
+ if ( index != -1 ) {
1474
+ listeners.splice( index, 1 );
1475
+ }
1476
+
1477
+ return this;
1478
+ };
1479
+
1480
+ proto.emitEvent = function( eventName, args ) {
1481
+ var listeners = this._events && this._events[ eventName ];
1482
+ if ( !listeners || !listeners.length ) {
1483
+ return;
1484
+ }
1485
+ // copy over to avoid interference if .off() in listener
1486
+ listeners = listeners.slice(0);
1487
+ args = args || [];
1488
+ // once stuff
1489
+ var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
1490
+
1491
+ for ( var i=0; i < listeners.length; i++ ) {
1492
+ var listener = listeners[i]
1493
+ var isOnce = onceListeners && onceListeners[ listener ];
1494
+ if ( isOnce ) {
1495
+ // remove listener
1496
+ // remove before trigger to prevent recursion
1497
+ this.off( eventName, listener );
1498
+ // unset once flag
1499
+ delete onceListeners[ listener ];
1500
+ }
1501
+ // trigger listener
1502
+ listener.apply( this, args );
1503
+ }
1504
+
1505
+ return this;
1506
+ };
1507
+
1508
+ proto.allOff = function() {
1509
+ delete this._events;
1510
+ delete this._onceEvents;
1511
+ };
1512
+
1513
+ return EvEmitter;
1514
+
1515
+ }));
1516
+
1517
+ /*!
1518
+ * imagesLoaded v4.1.4
1519
+ * JavaScript is all like "You images are done yet or what?"
1520
+ * MIT License
1521
+ */
1522
+
1523
+ ( function( window, factory ) { 'use strict';
1524
+ // universal module definition
1525
+
1526
+ /*global define: false, module: false, require: false */
1527
+
1528
+ if ( typeof define == 'function' && define.amd ) {
1529
+ // AMD
1530
+ define( [
1531
+ 'ev-emitter/ev-emitter'
1532
+ ], function( EvEmitter ) {
1533
+ return factory( window, EvEmitter );
1534
+ });
1535
+ } else if ( typeof module == 'object' && module.exports ) {
1536
+ // CommonJS
1537
+ module.exports = factory(
1538
+ window,
1539
+ require('ev-emitter')
1540
+ );
1541
+ } else {
1542
+ // browser global
1543
+ window.imagesLoaded = factory(
1544
+ window,
1545
+ window.EvEmitter
1546
+ );
1547
+ }
1548
+
1549
+ })( typeof window !== 'undefined' ? window : this,
1550
+
1551
+ // -------------------------- factory -------------------------- //
1552
+
1553
+ function factory( window, EvEmitter ) {
1554
+
1555
+
1556
+
1557
+ var $ = window.jQuery;
1558
+ var console = window.console;
1559
+
1560
+ // -------------------------- helpers -------------------------- //
1561
+
1562
+ // extend objects
1563
+ function extend( a, b ) {
1564
+ for ( var prop in b ) {
1565
+ a[ prop ] = b[ prop ];
1566
+ }
1567
+ return a;
1568
+ }
1569
+
1570
+ var arraySlice = Array.prototype.slice;
1571
+
1572
+ // turn element or nodeList into an array
1573
+ function makeArray( obj ) {
1574
+ if ( Array.isArray( obj ) ) {
1575
+ // use object if already an array
1576
+ return obj;
1577
+ }
1578
+
1579
+ var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
1580
+ if ( isArrayLike ) {
1581
+ // convert nodeList to array
1582
+ return arraySlice.call( obj );
1583
+ }
1584
+
1585
+ // array of single index
1586
+ return [ obj ];
1587
+ }
1588
+
1589
+ // -------------------------- imagesLoaded -------------------------- //
1590
+
1591
+ /**
1592
+ * @param {Array, Element, NodeList, String} elem
1593
+ * @param {Object or Function} options - if function, use as callback
1594
+ * @param {Function} onAlways - callback function
1595
+ */
1596
+ function ImagesLoaded( elem, options, onAlways ) {
1597
+ // coerce ImagesLoaded() without new, to be new ImagesLoaded()
1598
+ if ( !( this instanceof ImagesLoaded ) ) {
1599
+ return new ImagesLoaded( elem, options, onAlways );
1600
+ }
1601
+ // use elem as selector string
1602
+ var queryElem = elem;
1603
+ if ( typeof elem == 'string' ) {
1604
+ queryElem = document.querySelectorAll( elem );
1605
+ }
1606
+ // bail if bad element
1607
+ if ( !queryElem ) {
1608
+ console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) );
1609
+ return;
1610
+ }
1611
+
1612
+ this.elements = makeArray( queryElem );
1613
+ this.options = extend( {}, this.options );
1614
+ // shift arguments if no options set
1615
+ if ( typeof options == 'function' ) {
1616
+ onAlways = options;
1617
+ } else {
1618
+ extend( this.options, options );
1619
+ }
1620
+
1621
+ if ( onAlways ) {
1622
+ this.on( 'always', onAlways );
1623
+ }
1624
+
1625
+ this.getImages();
1626
+
1627
+ if ( $ ) {
1628
+ // add jQuery Deferred object
1629
+ this.jqDeferred = new $.Deferred();
1630
+ }
1631
+
1632
+ // HACK check async to allow time to bind listeners
1633
+ setTimeout( this.check.bind( this ) );
1634
+ }
1635
+
1636
+ ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
1637
+
1638
+ ImagesLoaded.prototype.options = {};
1639
+
1640
+ ImagesLoaded.prototype.getImages = function() {
1641
+ this.images = [];
1642
+
1643
+ // filter & find items if we have an item selector
1644
+ this.elements.forEach( this.addElementImages, this );
1645
+ };
1646
+
1647
+ /**
1648
+ * @param {Node} element
1649
+ */
1650
+ ImagesLoaded.prototype.addElementImages = function( elem ) {
1651
+ // filter siblings
1652
+ if ( elem.nodeName == 'IMG' ) {
1653
+ this.addImage( elem );
1654
+ }
1655
+ // get background image on element
1656
+ if ( this.options.background === true ) {
1657
+ this.addElementBackgroundImages( elem );
1658
+ }
1659
+
1660
+ // find children
1661
+ // no non-element nodes, #143
1662
+ var nodeType = elem.nodeType;
1663
+ if ( !nodeType || !elementNodeTypes[ nodeType ] ) {
1664
+ return;
1665
+ }
1666
+ var childImgs = elem.querySelectorAll('img');
1667
+ // concat childElems to filterFound array
1668
+ for ( var i=0; i < childImgs.length; i++ ) {
1669
+ var img = childImgs[i];
1670
+ this.addImage( img );
1671
+ }
1672
+
1673
+ // get child background images
1674
+ if ( typeof this.options.background == 'string' ) {
1675
+ var children = elem.querySelectorAll( this.options.background );
1676
+ for ( i=0; i < children.length; i++ ) {
1677
+ var child = children[i];
1678
+ this.addElementBackgroundImages( child );
1679
+ }
1680
+ }
1681
+ };
1682
+
1683
+ var elementNodeTypes = {
1684
+ 1: true,
1685
+ 9: true,
1686
+ 11: true
1687
+ };
1688
+
1689
+ ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
1690
+ var style = getComputedStyle( elem );
1691
+ if ( !style ) {
1692
+ // Firefox returns null if in a hidden iframe https://bugzil.la/548397
1693
+ return;
1694
+ }
1695
+ // get url inside url("...")
1696
+ var reURL = /url\((['"])?(.*?)\1\)/gi;
1697
+ var matches = reURL.exec( style.backgroundImage );
1698
+ while ( matches !== null ) {
1699
+ var url = matches && matches[2];
1700
+ if ( url ) {
1701
+ this.addBackground( url, elem );
1702
+ }
1703
+ matches = reURL.exec( style.backgroundImage );
1704
+ }
1705
+ };
1706
+
1707
+ /**
1708
+ * @param {Image} img
1709
+ */
1710
+ ImagesLoaded.prototype.addImage = function( img ) {
1711
+ var loadingImage = new LoadingImage( img );
1712
+ this.images.push( loadingImage );
1713
+ };
1714
+
1715
+ ImagesLoaded.prototype.addBackground = function( url, elem ) {
1716
+ var background = new Background( url, elem );
1717
+ this.images.push( background );
1718
+ };
1719
+
1720
+ ImagesLoaded.prototype.check = function() {
1721
+ var _this = this;
1722
+ this.progressedCount = 0;
1723
+ this.hasAnyBroken = false;
1724
+ // complete if no images
1725
+ if ( !this.images.length ) {
1726
+ this.complete();
1727
+ return;
1728
+ }
1729
+
1730
+ function onProgress( image, elem, message ) {
1731
+ // HACK - Chrome triggers event before object properties have changed. #83
1732
+ setTimeout( function() {
1733
+ _this.progress( image, elem, message );
1734
+ });
1735
+ }
1736
+
1737
+ this.images.forEach( function( loadingImage ) {
1738
+ loadingImage.once( 'progress', onProgress );
1739
+ loadingImage.check();
1740
+ });
1741
+ };
1742
+
1743
+ ImagesLoaded.prototype.progress = function( image, elem, message ) {
1744
+ this.progressedCount++;
1745
+ this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
1746
+ // progress event
1747
+ this.emitEvent( 'progress', [ this, image, elem ] );
1748
+ if ( this.jqDeferred && this.jqDeferred.notify ) {
1749
+ this.jqDeferred.notify( this, image );
1750
+ }
1751
+ // check if completed
1752
+ if ( this.progressedCount == this.images.length ) {
1753
+ this.complete();
1754
+ }
1755
+
1756
+ if ( this.options.debug && console ) {
1757
+ console.log( 'progress: ' + message, image, elem );
1758
+ }
1759
+ };
1760
+
1761
+ ImagesLoaded.prototype.complete = function() {
1762
+ var eventName = this.hasAnyBroken ? 'fail' : 'done';
1763
+ this.isComplete = true;
1764
+ this.emitEvent( eventName, [ this ] );
1765
+ this.emitEvent( 'always', [ this ] );
1766
+ if ( this.jqDeferred ) {
1767
+ var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
1768
+ this.jqDeferred[ jqMethod ]( this );
1769
+ }
1770
+ };
1771
+
1772
+ // -------------------------- -------------------------- //
1773
+
1774
+ function LoadingImage( img ) {
1775
+ this.img = img;
1776
+ }
1777
+
1778
+ LoadingImage.prototype = Object.create( EvEmitter.prototype );
1779
+
1780
+ LoadingImage.prototype.check = function() {
1781
+ // If complete is true and browser supports natural sizes,
1782
+ // try to check for image status manually.
1783
+ var isComplete = this.getIsImageComplete();
1784
+ if ( isComplete ) {
1785
+ // report based on naturalWidth
1786
+ this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
1787
+ return;
1788
+ }
1789
+
1790
+ // If none of the checks above matched, simulate loading on detached element.
1791
+ this.proxyImage = new Image();
1792
+ this.proxyImage.addEventListener( 'load', this );
1793
+ this.proxyImage.addEventListener( 'error', this );
1794
+ // bind to image as well for Firefox. #191
1795
+ this.img.addEventListener( 'load', this );
1796
+ this.img.addEventListener( 'error', this );
1797
+ this.proxyImage.src = this.img.src;
1798
+ };
1799
+
1800
+ LoadingImage.prototype.getIsImageComplete = function() {
1801
+ // check for non-zero, non-undefined naturalWidth
1802
+ // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671
1803
+ return this.img.complete && this.img.naturalWidth;
1804
+ };
1805
+
1806
+ LoadingImage.prototype.confirm = function( isLoaded, message ) {
1807
+ this.isLoaded = isLoaded;
1808
+ this.emitEvent( 'progress', [ this, this.img, message ] );
1809
+ };
1810
+
1811
+ // ----- events ----- //
1812
+
1813
+ // trigger specified handler for event type
1814
+ LoadingImage.prototype.handleEvent = function( event ) {
1815
+ var method = 'on' + event.type;
1816
+ if ( this[ method ] ) {
1817
+ this[ method ]( event );
1818
+ }
1819
+ };
1820
+
1821
+ LoadingImage.prototype.onload = function() {
1822
+ this.confirm( true, 'onload' );
1823
+ this.unbindEvents();
1824
+ };
1825
+
1826
+ LoadingImage.prototype.onerror = function() {
1827
+ this.confirm( false, 'onerror' );
1828
+ this.unbindEvents();
1829
+ };
1830
+
1831
+ LoadingImage.prototype.unbindEvents = function() {
1832
+ this.proxyImage.removeEventListener( 'load', this );
1833
+ this.proxyImage.removeEventListener( 'error', this );
1834
+ this.img.removeEventListener( 'load', this );
1835
+ this.img.removeEventListener( 'error', this );
1836
+ };
1837
+
1838
+ // -------------------------- Background -------------------------- //
1839
+
1840
+ function Background( url, element ) {
1841
+ this.url = url;
1842
+ this.element = element;
1843
+ this.img = new Image();
1844
+ }
1845
+
1846
+ // inherit LoadingImage prototype
1847
+ Background.prototype = Object.create( LoadingImage.prototype );
1848
+
1849
+ Background.prototype.check = function() {
1850
+ this.img.addEventListener( 'load', this );
1851
+ this.img.addEventListener( 'error', this );
1852
+ this.img.src = this.url;
1853
+ // check if image is already complete
1854
+ var isComplete = this.getIsImageComplete();
1855
+ if ( isComplete ) {
1856
+ this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
1857
+ this.unbindEvents();
1858
+ }
1859
+ };
1860
+
1861
+ Background.prototype.unbindEvents = function() {
1862
+ this.img.removeEventListener( 'load', this );
1863
+ this.img.removeEventListener( 'error', this );
1864
+ };
1865
+
1866
+ Background.prototype.confirm = function( isLoaded, message ) {
1867
+ this.isLoaded = isLoaded;
1868
+ this.emitEvent( 'progress', [ this, this.element, message ] );
1869
+ };
1870
+
1871
+ // -------------------------- jQuery -------------------------- //
1872
+
1873
+ ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
1874
+ jQuery = jQuery || window.jQuery;
1875
+ if ( !jQuery ) {
1876
+ return;
1877
+ }
1878
+ // set local variable
1879
+ $ = jQuery;
1880
+ // $().imagesLoaded()
1881
+ $.fn.imagesLoaded = function( options, callback ) {
1882
+ var instance = new ImagesLoaded( this, options, callback );
1883
+ return instance.jqDeferred.promise( $(this) );
1884
+ };
1885
+ };
1886
+ // try making plugin
1887
+ ImagesLoaded.makeJQueryPlugin();
1888
+
1889
+ // -------------------------- -------------------------- //
1890
+
1891
+ return ImagesLoaded;
1892
+
1893
+ });
1894
+
1895
+
1896
+ /**
1897
+ * author Christopher Blum
1898
+ * - based on the idea of Remy Sharp, http://remysharp.com/2009/01/26/element-in-view-event-plugin/
1899
+ * - forked from http://github.com/zuk/jquery.inview/
1900
+ */
1901
+ (function (factory) {
1902
+ if (typeof define == 'function' && define.amd) {
1903
+ // AMD
1904
+ define(['jquery'], factory);
1905
+ } else if (typeof exports === 'object') {
1906
+ // Node, CommonJS
1907
+ module.exports = factory(require('jquery'));
1908
+ } else {
1909
+ // Browser globals
1910
+ factory(jQuery);
1911
+ }
1912
+ }(function ($) {
1913
+
1914
+ var inviewObjects = [], viewportSize, viewportOffset,
1915
+ d = document, w = window, documentElement = d.documentElement, timer;
1916
+
1917
+ $.event.special.inview = {
1918
+ add: function (data) {
1919
+ inviewObjects.push({ data: data, $element: $(this), element: this });
1920
+ // Use setInterval in order to also make sure this captures elements within
1921
+ // "overflow:scroll" elements or elements that appeared in the dom tree due to
1922
+ // dom manipulation and reflow
1923
+ // old: $(window).scroll(checkInView);
1924
+ //
1925
+ // By the way, iOS (iPad, iPhone, ...) seems to not execute, or at least delays
1926
+ // intervals while the user scrolls. Therefore the inview event might fire a bit late there
1927
+ //
1928
+ // Don't waste cycles with an interval until we get at least one element that
1929
+ // has bound to the inview event.
1930
+ if (!timer && inviewObjects.length) {
1931
+ timer = setInterval(checkInView, 250);
1932
+ }
1933
+ },
1934
+
1935
+ remove: function (data) {
1936
+ for (var i = 0; i < inviewObjects.length; i++) {
1937
+ var inviewObject = inviewObjects[i];
1938
+ if (inviewObject.element === this && inviewObject.data.guid === data.guid) {
1939
+ inviewObjects.splice(i, 1);
1940
+ break;
1941
+ }
1942
+ }
1943
+
1944
+ // Clear interval when we no longer have any elements listening
1945
+ if (!inviewObjects.length) {
1946
+ clearInterval(timer);
1947
+ timer = null;
1948
+ }
1949
+ }
1950
+ };
1951
+
1952
+ function getViewportSize() {
1953
+ var mode, domObject, size = { height: w.innerHeight, width: w.innerWidth };
1954
+
1955
+ // if this is correct then return it. iPad has compat Mode, so will
1956
+ // go into check clientHeight/clientWidth (which has the wrong value).
1957
+ if (!size.height) {
1958
+ mode = d.compatMode;
1959
+ if (mode || !$.support.boxModel) { // IE, Gecko
1960
+ domObject = mode === 'CSS1Compat' ?
1961
+ documentElement : // Standards
1962
+ d.body; // Quirks
1963
+ size = {
1964
+ height: domObject.clientHeight,
1965
+ width: domObject.clientWidth
1966
+ };
1967
+ }
1968
+ }
1969
+
1970
+ return size;
1971
+ }
1972
+
1973
+ function getViewportOffset() {
1974
+ return {
1975
+ top: w.pageYOffset || documentElement.scrollTop || d.body.scrollTop,
1976
+ left: w.pageXOffset || documentElement.scrollLeft || d.body.scrollLeft
1977
+ };
1978
+ }
1979
+
1980
+ function checkInView() {
1981
+ if (!inviewObjects.length) {
1982
+ return;
1983
+ }
1984
+
1985
+ var i = 0, $elements = $.map(inviewObjects, function (inviewObject) {
1986
+ var selector = inviewObject.data.selector,
1987
+ $element = inviewObject.$element;
1988
+ return selector ? $element.find(selector) : $element;
1989
+ });
1990
+
1991
+ viewportSize = viewportSize || getViewportSize();
1992
+ viewportOffset = viewportOffset || getViewportOffset();
1993
+
1994
+ for (; i < inviewObjects.length; i++) {
1995
+ // Ignore elements that are not in the DOM tree
1996
+ if (!$.contains(documentElement, $elements[i][0])) {
1997
+ continue;
1998
+ }
1999
+
2000
+ var $element = $($elements[i]),
2001
+ elementSize = { height: $element[0].offsetHeight, width: $element[0].offsetWidth },
2002
+ elementOffset = $element.offset(),
2003
+ inView = $element.data('inview');
2004
+
2005
+ // Don't ask me why because I haven't figured out yet:
2006
+ // viewportOffset and viewportSize are sometimes suddenly null in Firefox 5.
2007
+ // Even though it sounds weird:
2008
+ // It seems that the execution of this function is interferred by the onresize/onscroll event
2009
+ // where viewportOffset and viewportSize are unset
2010
+ if (!viewportOffset || !viewportSize) {
2011
+ return;
2012
+ }
2013
+
2014
+ if (elementOffset.top + elementSize.height > viewportOffset.top &&
2015
+ elementOffset.top < viewportOffset.top + viewportSize.height &&
2016
+ elementOffset.left + elementSize.width > viewportOffset.left &&
2017
+ elementOffset.left < viewportOffset.left + viewportSize.width) {
2018
+ if (!inView) {
2019
+ $element.data('inview', true).trigger('inview', [true]);
2020
+ }
2021
+ } else if (inView) {
2022
+ $element.data('inview', false).trigger('inview', [false]);
2023
+ }
2024
+ }
2025
+ }
2026
+
2027
+ $(w).on("scroll resize scrollstop", function () {
2028
+ viewportSize = viewportOffset = null;
2029
+ });
2030
+
2031
+ // IE < 9 scrolls to focused elements without firing the "scroll" event
2032
+ if (!documentElement.addEventListener && documentElement.attachEvent) {
2033
+ documentElement.attachEvent("onfocusin", function () {
2034
+ viewportOffset = null;
2035
+ });
2036
+ }
2037
+ }));
2038
+ /*!
2039
+ * Isotope PACKAGED v3.0.6
2040
+ *
2041
+ * Licensed GPLv3 for open source use
2042
+ * or Isotope Commercial License for commercial use
2043
+ *
2044
+ * https://isotope.metafizzy.co
2045
+ * Copyright 2010-2018 Metafizzy
2046
+ */
2047
+
2048
+ /**
2049
+ * Bridget makes jQuery widgets
2050
+ * v2.0.1
2051
+ * MIT license
2052
+ */
2053
+
2054
+ /* jshint browser: true, strict: true, undef: true, unused: true */
2055
+
2056
+ ( function( window, factory ) {
2057
+ // universal module definition
2058
+ /*jshint strict: false */ /* globals define, module, require */
2059
+ if ( typeof define == 'function' && define.amd ) {
2060
+ // AMD
2061
+ define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
2062
+ return factory( window, jQuery );
2063
+ });
2064
+ } else if ( typeof module == 'object' && module.exports ) {
2065
+ // CommonJS
2066
+ module.exports = factory(
2067
+ window,
2068
+ require('jquery')
2069
+ );
2070
+ } else {
2071
+ // browser global
2072
+ window.jQueryBridget = factory(
2073
+ window,
2074
+ window.jQuery
2075
+ );
2076
+ }
2077
+
2078
+ }( window, function factory( window, jQuery ) {
2079
+ 'use strict';
2080
+
2081
+ // ----- utils ----- //
2082
+
2083
+ var arraySlice = Array.prototype.slice;
2084
+
2085
+ // helper function for logging errors
2086
+ // $.error breaks jQuery chaining
2087
+ var console = window.console;
2088
+ var logError = typeof console == 'undefined' ? function() {} :
2089
+ function( message ) {
2090
+ console.error( message );
2091
+ };
2092
+
2093
+ // ----- jQueryBridget ----- //
2094
+
2095
+ function jQueryBridget( namespace, PluginClass, $ ) {
2096
+ $ = $ || jQuery || window.jQuery;
2097
+ if ( !$ ) {
2098
+ return;
2099
+ }
2100
+
2101
+ // add option method -> $().plugin('option', {...})
2102
+ if ( !PluginClass.prototype.option ) {
2103
+ // option setter
2104
+ PluginClass.prototype.option = function( opts ) {
2105
+ // bail out if not an object
2106
+ if ( !$.isPlainObject( opts ) ){
2107
+ return;
2108
+ }
2109
+ this.options = $.extend( true, this.options, opts );
2110
+ };
2111
+ }
2112
+
2113
+ // make jQuery plugin
2114
+ $.fn[ namespace ] = function( arg0 /*, arg1 */ ) {
2115
+ if ( typeof arg0 == 'string' ) {
2116
+ // method call $().plugin( 'methodName', { options } )
2117
+ // shift arguments by 1
2118
+ var args = arraySlice.call( arguments, 1 );
2119
+ return methodCall( this, arg0, args );
2120
+ }
2121
+ // just $().plugin({ options })
2122
+ plainCall( this, arg0 );
2123
+ return this;
2124
+ };
2125
+
2126
+ // $().plugin('methodName')
2127
+ function methodCall( $elems, methodName, args ) {
2128
+ var returnValue;
2129
+ var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
2130
+
2131
+ $elems.each( function( i, elem ) {
2132
+ // get instance
2133
+ var instance = $.data( elem, namespace );
2134
+ if ( !instance ) {
2135
+ logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
2136
+ pluginMethodStr );
2137
+ return;
2138
+ }
2139
+
2140
+ var method = instance[ methodName ];
2141
+ if ( !method || methodName.charAt(0) == '_' ) {
2142
+ logError( pluginMethodStr + ' is not a valid method' );
2143
+ return;
2144
+ }
2145
+
2146
+ // apply method, get return value
2147
+ var value = method.apply( instance, args );
2148
+ // set return value if value is returned, use only first value
2149
+ returnValue = returnValue === undefined ? value : returnValue;
2150
+ });
2151
+
2152
+ return returnValue !== undefined ? returnValue : $elems;
2153
+ }
2154
+
2155
+ function plainCall( $elems, options ) {
2156
+ $elems.each( function( i, elem ) {
2157
+ var instance = $.data( elem, namespace );
2158
+ if ( instance ) {
2159
+ // set options & init
2160
+ instance.option( options );
2161
+ instance._init();
2162
+ } else {
2163
+ // initialize new instance
2164
+ instance = new PluginClass( elem, options );
2165
+ $.data( elem, namespace, instance );
2166
+ }
2167
+ });
2168
+ }
2169
+
2170
+ updateJQuery( $ );
2171
+
2172
+ }
2173
+
2174
+ // ----- updateJQuery ----- //
2175
+
2176
+ // set $.bridget for v1 backwards compatibility
2177
+ function updateJQuery( $ ) {
2178
+ if ( !$ || ( $ && $.bridget ) ) {
2179
+ return;
2180
+ }
2181
+ $.bridget = jQueryBridget;
2182
+ }
2183
+
2184
+ updateJQuery( jQuery || window.jQuery );
2185
+
2186
+ // ----- ----- //
2187
+
2188
+ return jQueryBridget;
2189
+
2190
+ }));
2191
+
2192
+ /**
2193
+ * EvEmitter v1.1.0
2194
+ * Lil' event emitter
2195
+ * MIT License
2196
+ */
2197
+
2198
+ /* jshint unused: true, undef: true, strict: true */
2199
+
2200
+ ( function( global, factory ) {
2201
+ // universal module definition
2202
+ /* jshint strict: false */ /* globals define, module, window */
2203
+ if ( typeof define == 'function' && define.amd ) {
2204
+ // AMD - RequireJS
2205
+ define( 'ev-emitter/ev-emitter',factory );
2206
+ } else if ( typeof module == 'object' && module.exports ) {
2207
+ // CommonJS - Browserify, Webpack
2208
+ module.exports = factory();
2209
+ } else {
2210
+ // Browser globals
2211
+ global.EvEmitter = factory();
2212
+ }
2213
+
2214
+ }( typeof window != 'undefined' ? window : this, function() {
2215
+
2216
+
2217
+
2218
+ function EvEmitter() {}
2219
+
2220
+ var proto = EvEmitter.prototype;
2221
+
2222
+ proto.on = function( eventName, listener ) {
2223
+ if ( !eventName || !listener ) {
2224
+ return;
2225
+ }
2226
+ // set events hash
2227
+ var events = this._events = this._events || {};
2228
+ // set listeners array
2229
+ var listeners = events[ eventName ] = events[ eventName ] || [];
2230
+ // only add once
2231
+ if ( listeners.indexOf( listener ) == -1 ) {
2232
+ listeners.push( listener );
2233
+ }
2234
+
2235
+ return this;
2236
+ };
2237
+
2238
+ proto.once = function( eventName, listener ) {
2239
+ if ( !eventName || !listener ) {
2240
+ return;
2241
+ }
2242
+ // add event
2243
+ this.on( eventName, listener );
2244
+ // set once flag
2245
+ // set onceEvents hash
2246
+ var onceEvents = this._onceEvents = this._onceEvents || {};
2247
+ // set onceListeners object
2248
+ var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
2249
+ // set flag
2250
+ onceListeners[ listener ] = true;
2251
+
2252
+ return this;
2253
+ };
2254
+
2255
+ proto.off = function( eventName, listener ) {
2256
+ var listeners = this._events && this._events[ eventName ];
2257
+ if ( !listeners || !listeners.length ) {
2258
+ return;
2259
+ }
2260
+ var index = listeners.indexOf( listener );
2261
+ if ( index != -1 ) {
2262
+ listeners.splice( index, 1 );
2263
+ }
2264
+
2265
+ return this;
2266
+ };
2267
+
2268
+ proto.emitEvent = function( eventName, args ) {
2269
+ var listeners = this._events && this._events[ eventName ];
2270
+ if ( !listeners || !listeners.length ) {
2271
+ return;
2272
+ }
2273
+ // copy over to avoid interference if .off() in listener
2274
+ listeners = listeners.slice(0);
2275
+ args = args || [];
2276
+ // once stuff
2277
+ var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
2278
+
2279
+ for ( var i=0; i < listeners.length; i++ ) {
2280
+ var listener = listeners[i]
2281
+ var isOnce = onceListeners && onceListeners[ listener ];
2282
+ if ( isOnce ) {
2283
+ // remove listener
2284
+ // remove before trigger to prevent recursion
2285
+ this.off( eventName, listener );
2286
+ // unset once flag
2287
+ delete onceListeners[ listener ];
2288
+ }
2289
+ // trigger listener
2290
+ listener.apply( this, args );
2291
+ }
2292
+
2293
+ return this;
2294
+ };
2295
+
2296
+ proto.allOff = function() {
2297
+ delete this._events;
2298
+ delete this._onceEvents;
2299
+ };
2300
+
2301
+ return EvEmitter;
2302
+
2303
+ }));
2304
+
2305
+ /*!
2306
+ * getSize v2.0.3
2307
+ * measure size of elements
2308
+ * MIT license
2309
+ */
2310
+
2311
+ /* jshint browser: true, strict: true, undef: true, unused: true */
2312
+ /* globals console: false */
2313
+
2314
+ ( function( window, factory ) {
2315
+ /* jshint strict: false */ /* globals define, module */
2316
+ if ( typeof define == 'function' && define.amd ) {
2317
+ // AMD
2318
+ define( 'get-size/get-size',factory );
2319
+ } else if ( typeof module == 'object' && module.exports ) {
2320
+ // CommonJS
2321
+ module.exports = factory();
2322
+ } else {
2323
+ // browser global
2324
+ window.getSize = factory();
2325
+ }
2326
+
2327
+ })( window, function factory() {
2328
+ 'use strict';
2329
+
2330
+ // -------------------------- helpers -------------------------- //
2331
+
2332
+ // get a number from a string, not a percentage
2333
+ function getStyleSize( value ) {
2334
+ var num = parseFloat( value );
2335
+ // not a percent like '100%', and a number
2336
+ var isValid = value.indexOf('%') == -1 && !isNaN( num );
2337
+ return isValid && num;
2338
+ }
2339
+
2340
+ function noop() {}
2341
+
2342
+ var logError = typeof console == 'undefined' ? noop :
2343
+ function( message ) {
2344
+ console.error( message );
2345
+ };
2346
+
2347
+ // -------------------------- measurements -------------------------- //
2348
+
2349
+ var measurements = [
2350
+ 'paddingLeft',
2351
+ 'paddingRight',
2352
+ 'paddingTop',
2353
+ 'paddingBottom',
2354
+ 'marginLeft',
2355
+ 'marginRight',
2356
+ 'marginTop',
2357
+ 'marginBottom',
2358
+ 'borderLeftWidth',
2359
+ 'borderRightWidth',
2360
+ 'borderTopWidth',
2361
+ 'borderBottomWidth'
2362
+ ];
2363
+
2364
+ var measurementsLength = measurements.length;
2365
+
2366
+ function getZeroSize() {
2367
+ var size = {
2368
+ width: 0,
2369
+ height: 0,
2370
+ innerWidth: 0,
2371
+ innerHeight: 0,
2372
+ outerWidth: 0,
2373
+ outerHeight: 0
2374
+ };
2375
+ for ( var i=0; i < measurementsLength; i++ ) {
2376
+ var measurement = measurements[i];
2377
+ size[ measurement ] = 0;
2378
+ }
2379
+ return size;
2380
+ }
2381
+
2382
+ // -------------------------- getStyle -------------------------- //
2383
+
2384
+ /**
2385
+ * getStyle, get style of element, check for Firefox bug
2386
+ * https://bugzilla.mozilla.org/show_bug.cgi?id=548397
2387
+ */
2388
+ function getStyle( elem ) {
2389
+ var style = getComputedStyle( elem );
2390
+ if ( !style ) {
2391
+ logError( 'Style returned ' + style +
2392
+ '. Are you running this code in a hidden iframe on Firefox? ' +
2393
+ 'See https://bit.ly/getsizebug1' );
2394
+ }
2395
+ return style;
2396
+ }
2397
+
2398
+ // -------------------------- setup -------------------------- //
2399
+
2400
+ var isSetup = false;
2401
+
2402
+ var isBoxSizeOuter;
2403
+
2404
+ /**
2405
+ * setup
2406
+ * check isBoxSizerOuter
2407
+ * do on first getSize() rather than on page load for Firefox bug
2408
+ */
2409
+ function setup() {
2410
+ // setup once
2411
+ if ( isSetup ) {
2412
+ return;
2413
+ }
2414
+ isSetup = true;
2415
+
2416
+ // -------------------------- box sizing -------------------------- //
2417
+
2418
+ /**
2419
+ * Chrome & Safari measure the outer-width on style.width on border-box elems
2420
+ * IE11 & Firefox<29 measures the inner-width
2421
+ */
2422
+ var div = document.createElement('div');
2423
+ div.style.width = '200px';
2424
+ div.style.padding = '1px 2px 3px 4px';
2425
+ div.style.borderStyle = 'solid';
2426
+ div.style.borderWidth = '1px 2px 3px 4px';
2427
+ div.style.boxSizing = 'border-box';
2428
+
2429
+ var body = document.body || document.documentElement;
2430
+ body.appendChild( div );
2431
+ var style = getStyle( div );
2432
+ // round value for browser zoom. desandro/masonry#928
2433
+ isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
2434
+ getSize.isBoxSizeOuter = isBoxSizeOuter;
2435
+
2436
+ body.removeChild( div );
2437
+ }
2438
+
2439
+ // -------------------------- getSize -------------------------- //
2440
+
2441
+ function getSize( elem ) {
2442
+ setup();
2443
+
2444
+ // use querySeletor if elem is string
2445
+ if ( typeof elem == 'string' ) {
2446
+ elem = document.querySelector( elem );
2447
+ }
2448
+
2449
+ // do not proceed on non-objects
2450
+ if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
2451
+ return;
2452
+ }
2453
+
2454
+ var style = getStyle( elem );
2455
+
2456
+ // if hidden, everything is 0
2457
+ if ( style.display == 'none' ) {
2458
+ return getZeroSize();
2459
+ }
2460
+
2461
+ var size = {};
2462
+ size.width = elem.offsetWidth;
2463
+ size.height = elem.offsetHeight;
2464
+
2465
+ var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
2466
+
2467
+ // get all measurements
2468
+ for ( var i=0; i < measurementsLength; i++ ) {
2469
+ var measurement = measurements[i];
2470
+ var value = style[ measurement ];
2471
+ var num = parseFloat( value );
2472
+ // any 'auto', 'medium' value will be 0
2473
+ size[ measurement ] = !isNaN( num ) ? num : 0;
2474
+ }
2475
+
2476
+ var paddingWidth = size.paddingLeft + size.paddingRight;
2477
+ var paddingHeight = size.paddingTop + size.paddingBottom;
2478
+ var marginWidth = size.marginLeft + size.marginRight;
2479
+ var marginHeight = size.marginTop + size.marginBottom;
2480
+ var borderWidth = size.borderLeftWidth + size.borderRightWidth;
2481
+ var borderHeight = size.borderTopWidth + size.borderBottomWidth;
2482
+
2483
+ var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
2484
+
2485
+ // overwrite width and height if we can get it from style
2486
+ var styleWidth = getStyleSize( style.width );
2487
+ if ( styleWidth !== false ) {
2488
+ size.width = styleWidth +
2489
+ // add padding and border unless it's already including it
2490
+ ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
2491
+ }
2492
+
2493
+ var styleHeight = getStyleSize( style.height );
2494
+ if ( styleHeight !== false ) {
2495
+ size.height = styleHeight +
2496
+ // add padding and border unless it's already including it
2497
+ ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
2498
+ }
2499
+
2500
+ size.innerWidth = size.width - ( paddingWidth + borderWidth );
2501
+ size.innerHeight = size.height - ( paddingHeight + borderHeight );
2502
+
2503
+ size.outerWidth = size.width + marginWidth;
2504
+ size.outerHeight = size.height + marginHeight;
2505
+
2506
+ return size;
2507
+ }
2508
+
2509
+ return getSize;
2510
+
2511
+ });
2512
+
2513
+ /**
2514
+ * matchesSelector v2.0.2
2515
+ * matchesSelector( element, '.selector' )
2516
+ * MIT license
2517
+ */
2518
+
2519
+ /*jshint browser: true, strict: true, undef: true, unused: true */
2520
+
2521
+ ( function( window, factory ) {
2522
+ /*global define: false, module: false */
2523
+ 'use strict';
2524
+ // universal module definition
2525
+ if ( typeof define == 'function' && define.amd ) {
2526
+ // AMD
2527
+ define( 'desandro-matches-selector/matches-selector',factory );
2528
+ } else if ( typeof module == 'object' && module.exports ) {
2529
+ // CommonJS
2530
+ module.exports = factory();
2531
+ } else {
2532
+ // browser global
2533
+ window.matchesSelector = factory();
2534
+ }
2535
+
2536
+ }( window, function factory() {
2537
+ 'use strict';
2538
+
2539
+ var matchesMethod = ( function() {
2540
+ var ElemProto = window.Element.prototype;
2541
+ // check for the standard method name first
2542
+ if ( ElemProto.matches ) {
2543
+ return 'matches';
2544
+ }
2545
+ // check un-prefixed
2546
+ if ( ElemProto.matchesSelector ) {
2547
+ return 'matchesSelector';
2548
+ }
2549
+ // check vendor prefixes
2550
+ var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
2551
+
2552
+ for ( var i=0; i < prefixes.length; i++ ) {
2553
+ var prefix = prefixes[i];
2554
+ var method = prefix + 'MatchesSelector';
2555
+ if ( ElemProto[ method ] ) {
2556
+ return method;
2557
+ }
2558
+ }
2559
+ })();
2560
+
2561
+ return function matchesSelector( elem, selector ) {
2562
+ return elem[ matchesMethod ]( selector );
2563
+ };
2564
+
2565
+ }));
2566
+
2567
+ /**
2568
+ * Fizzy UI utils v2.0.7
2569
+ * MIT license
2570
+ */
2571
+
2572
+ /*jshint browser: true, undef: true, unused: true, strict: true */
2573
+
2574
+ ( function( window, factory ) {
2575
+ // universal module definition
2576
+ /*jshint strict: false */ /*globals define, module, require */
2577
+
2578
+ if ( typeof define == 'function' && define.amd ) {
2579
+ // AMD
2580
+ define( 'fizzy-ui-utils/utils',[
2581
+ 'desandro-matches-selector/matches-selector'
2582
+ ], function( matchesSelector ) {
2583
+ return factory( window, matchesSelector );
2584
+ });
2585
+ } else if ( typeof module == 'object' && module.exports ) {
2586
+ // CommonJS
2587
+ module.exports = factory(
2588
+ window,
2589
+ require('desandro-matches-selector')
2590
+ );
2591
+ } else {
2592
+ // browser global
2593
+ window.fizzyUIUtils = factory(
2594
+ window,
2595
+ window.matchesSelector
2596
+ );
2597
+ }
2598
+
2599
+ }( window, function factory( window, matchesSelector ) {
2600
+
2601
+
2602
+
2603
+ var utils = {};
2604
+
2605
+ // ----- extend ----- //
2606
+
2607
+ // extends objects
2608
+ utils.extend = function( a, b ) {
2609
+ for ( var prop in b ) {
2610
+ a[ prop ] = b[ prop ];
2611
+ }
2612
+ return a;
2613
+ };
2614
+
2615
+ // ----- modulo ----- //
2616
+
2617
+ utils.modulo = function( num, div ) {
2618
+ return ( ( num % div ) + div ) % div;
2619
+ };
2620
+
2621
+ // ----- makeArray ----- //
2622
+
2623
+ var arraySlice = Array.prototype.slice;
2624
+
2625
+ // turn element or nodeList into an array
2626
+ utils.makeArray = function( obj ) {
2627
+ if ( Array.isArray( obj ) ) {
2628
+ // use object if already an array
2629
+ return obj;
2630
+ }
2631
+ // return empty array if undefined or null. #6
2632
+ if ( obj === null || obj === undefined ) {
2633
+ return [];
2634
+ }
2635
+
2636
+ var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
2637
+ if ( isArrayLike ) {
2638
+ // convert nodeList to array
2639
+ return arraySlice.call( obj );
2640
+ }
2641
+
2642
+ // array of single index
2643
+ return [ obj ];
2644
+ };
2645
+
2646
+ // ----- removeFrom ----- //
2647
+
2648
+ utils.removeFrom = function( ary, obj ) {
2649
+ var index = ary.indexOf( obj );
2650
+ if ( index != -1 ) {
2651
+ ary.splice( index, 1 );
2652
+ }
2653
+ };
2654
+
2655
+ // ----- getParent ----- //
2656
+
2657
+ utils.getParent = function( elem, selector ) {
2658
+ while ( elem.parentNode && elem != document.body ) {
2659
+ elem = elem.parentNode;
2660
+ if ( matchesSelector( elem, selector ) ) {
2661
+ return elem;
2662
+ }
2663
+ }
2664
+ };
2665
+
2666
+ // ----- getQueryElement ----- //
2667
+
2668
+ // use element as selector string
2669
+ utils.getQueryElement = function( elem ) {
2670
+ if ( typeof elem == 'string' ) {
2671
+ return document.querySelector( elem );
2672
+ }
2673
+ return elem;
2674
+ };
2675
+
2676
+ // ----- handleEvent ----- //
2677
+
2678
+ // enable .ontype to trigger from .addEventListener( elem, 'type' )
2679
+ utils.handleEvent = function( event ) {
2680
+ var method = 'on' + event.type;
2681
+ if ( this[ method ] ) {
2682
+ this[ method ]( event );
2683
+ }
2684
+ };
2685
+
2686
+ // ----- filterFindElements ----- //
2687
+
2688
+ utils.filterFindElements = function( elems, selector ) {
2689
+ // make array of elems
2690
+ elems = utils.makeArray( elems );
2691
+ var ffElems = [];
2692
+
2693
+ elems.forEach( function( elem ) {
2694
+ // check that elem is an actual element
2695
+ if ( !( elem instanceof HTMLElement ) ) {
2696
+ return;
2697
+ }
2698
+ // add elem if no selector
2699
+ if ( !selector ) {
2700
+ ffElems.push( elem );
2701
+ return;
2702
+ }
2703
+ // filter & find items if we have a selector
2704
+ // filter
2705
+ if ( matchesSelector( elem, selector ) ) {
2706
+ ffElems.push( elem );
2707
+ }
2708
+ // find children
2709
+ var childElems = elem.querySelectorAll( selector );
2710
+ // concat childElems to filterFound array
2711
+ for ( var i=0; i < childElems.length; i++ ) {
2712
+ ffElems.push( childElems[i] );
2713
+ }
2714
+ });
2715
+
2716
+ return ffElems;
2717
+ };
2718
+
2719
+ // ----- debounceMethod ----- //
2720
+
2721
+ utils.debounceMethod = function( _class, methodName, threshold ) {
2722
+ threshold = threshold || 100;
2723
+ // original method
2724
+ var method = _class.prototype[ methodName ];
2725
+ var timeoutName = methodName + 'Timeout';
2726
+
2727
+ _class.prototype[ methodName ] = function() {
2728
+ var timeout = this[ timeoutName ];
2729
+ clearTimeout( timeout );
2730
+
2731
+ var args = arguments;
2732
+ var _this = this;
2733
+ this[ timeoutName ] = setTimeout( function() {
2734
+ method.apply( _this, args );
2735
+ delete _this[ timeoutName ];
2736
+ }, threshold );
2737
+ };
2738
+ };
2739
+
2740
+ // ----- docReady ----- //
2741
+
2742
+ utils.docReady = function( callback ) {
2743
+ var readyState = document.readyState;
2744
+ if ( readyState == 'complete' || readyState == 'interactive' ) {
2745
+ // do async to allow for other scripts to run. metafizzy/flickity#441
2746
+ setTimeout( callback );
2747
+ } else {
2748
+ document.addEventListener( 'DOMContentLoaded', callback );
2749
+ }
2750
+ };
2751
+
2752
+ // ----- htmlInit ----- //
2753
+
2754
+ // http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
2755
+ utils.toDashed = function( str ) {
2756
+ return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
2757
+ return $1 + '-' + $2;
2758
+ }).toLowerCase();
2759
+ };
2760
+
2761
+ var console = window.console;
2762
+ /**
2763
+ * allow user to initialize classes via [data-namespace] or .js-namespace class
2764
+ * htmlInit( Widget, 'widgetName' )
2765
+ * options are parsed from data-namespace-options
2766
+ */
2767
+ utils.htmlInit = function( WidgetClass, namespace ) {
2768
+ utils.docReady( function() {
2769
+ var dashedNamespace = utils.toDashed( namespace );
2770
+ var dataAttr = 'data-' + dashedNamespace;
2771
+ var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
2772
+ var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
2773
+ var elems = utils.makeArray( dataAttrElems )
2774
+ .concat( utils.makeArray( jsDashElems ) );
2775
+ var dataOptionsAttr = dataAttr + '-options';
2776
+ var jQuery = window.jQuery;
2777
+
2778
+ elems.forEach( function( elem ) {
2779
+ var attr = elem.getAttribute( dataAttr ) ||
2780
+ elem.getAttribute( dataOptionsAttr );
2781
+ var options;
2782
+ try {
2783
+ options = attr && JSON.parse( attr );
2784
+ } catch ( error ) {
2785
+ // log error, do not initialize
2786
+ if ( console ) {
2787
+ console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
2788
+ ': ' + error );
2789
+ }
2790
+ return;
2791
+ }
2792
+ // initialize
2793
+ var instance = new WidgetClass( elem, options );
2794
+ // make available via $().data('namespace')
2795
+ if ( jQuery ) {
2796
+ jQuery.data( elem, namespace, instance );
2797
+ }
2798
+ });
2799
+
2800
+ });
2801
+ };
2802
+
2803
+ // ----- ----- //
2804
+
2805
+ return utils;
2806
+
2807
+ }));
2808
+
2809
+ /**
2810
+ * Outlayer Item
2811
+ */
2812
+
2813
+ ( function( window, factory ) {
2814
+ // universal module definition
2815
+ /* jshint strict: false */ /* globals define, module, require */
2816
+ if ( typeof define == 'function' && define.amd ) {
2817
+ // AMD - RequireJS
2818
+ define( 'outlayer/item',[
2819
+ 'ev-emitter/ev-emitter',
2820
+ 'get-size/get-size'
2821
+ ],
2822
+ factory
2823
+ );
2824
+ } else if ( typeof module == 'object' && module.exports ) {
2825
+ // CommonJS - Browserify, Webpack
2826
+ module.exports = factory(
2827
+ require('ev-emitter'),
2828
+ require('get-size')
2829
+ );
2830
+ } else {
2831
+ // browser global
2832
+ window.Outlayer = {};
2833
+ window.Outlayer.Item = factory(
2834
+ window.EvEmitter,
2835
+ window.getSize
2836
+ );
2837
+ }
2838
+
2839
+ }( window, function factory( EvEmitter, getSize ) {
2840
+ 'use strict';
2841
+
2842
+ // ----- helpers ----- //
2843
+
2844
+ function isEmptyObj( obj ) {
2845
+ for ( var prop in obj ) {
2846
+ return false;
2847
+ }
2848
+ prop = null;
2849
+ return true;
2850
+ }
2851
+
2852
+ // -------------------------- CSS3 support -------------------------- //
2853
+
2854
+
2855
+ var docElemStyle = document.documentElement.style;
2856
+
2857
+ var transitionProperty = typeof docElemStyle.transition == 'string' ?
2858
+ 'transition' : 'WebkitTransition';
2859
+ var transformProperty = typeof docElemStyle.transform == 'string' ?
2860
+ 'transform' : 'WebkitTransform';
2861
+
2862
+ var transitionEndEvent = {
2863
+ WebkitTransition: 'webkitTransitionEnd',
2864
+ transition: 'transitionend'
2865
+ }[ transitionProperty ];
2866
+
2867
+ // cache all vendor properties that could have vendor prefix
2868
+ var vendorProperties = {
2869
+ transform: transformProperty,
2870
+ transition: transitionProperty,
2871
+ transitionDuration: transitionProperty + 'Duration',
2872
+ transitionProperty: transitionProperty + 'Property',
2873
+ transitionDelay: transitionProperty + 'Delay'
2874
+ };
2875
+
2876
+ // -------------------------- Item -------------------------- //
2877
+
2878
+ function Item( element, layout ) {
2879
+ if ( !element ) {
2880
+ return;
2881
+ }
2882
+
2883
+ this.element = element;
2884
+ // parent layout class, i.e. Masonry, Isotope, or Packery
2885
+ this.layout = layout;
2886
+ this.position = {
2887
+ x: 0,
2888
+ y: 0
2889
+ };
2890
+
2891
+ this._create();
2892
+ }
2893
+
2894
+ // inherit EvEmitter
2895
+ var proto = Item.prototype = Object.create( EvEmitter.prototype );
2896
+ proto.constructor = Item;
2897
+
2898
+ proto._create = function() {
2899
+ // transition objects
2900
+ this._transn = {
2901
+ ingProperties: {},
2902
+ clean: {},
2903
+ onEnd: {}
2904
+ };
2905
+
2906
+ this.css({
2907
+ position: 'absolute'
2908
+ });
2909
+ };
2910
+
2911
+ // trigger specified handler for event type
2912
+ proto.handleEvent = function( event ) {
2913
+ var method = 'on' + event.type;
2914
+ if ( this[ method ] ) {
2915
+ this[ method ]( event );
2916
+ }
2917
+ };
2918
+
2919
+ proto.getSize = function() {
2920
+ this.size = getSize( this.element );
2921
+ };
2922
+
2923
+ /**
2924
+ * apply CSS styles to element
2925
+ * @param {Object} style
2926
+ */
2927
+ proto.css = function( style ) {
2928
+ var elemStyle = this.element.style;
2929
+
2930
+ for ( var prop in style ) {
2931
+ // use vendor property if available
2932
+ var supportedProp = vendorProperties[ prop ] || prop;
2933
+ elemStyle[ supportedProp ] = style[ prop ];
2934
+ }
2935
+ };
2936
+
2937
+ // measure position, and sets it
2938
+ proto.getPosition = function() {
2939
+ var style = getComputedStyle( this.element );
2940
+ var isOriginLeft = this.layout._getOption('originLeft');
2941
+ var isOriginTop = this.layout._getOption('originTop');
2942
+ var xValue = style[ isOriginLeft ? 'left' : 'right' ];
2943
+ var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
2944
+ var x = parseFloat( xValue );
2945
+ var y = parseFloat( yValue );
2946
+ // convert percent to pixels
2947
+ var layoutSize = this.layout.size;
2948
+ if ( xValue.indexOf('%') != -1 ) {
2949
+ x = ( x / 100 ) * layoutSize.width;
2950
+ }
2951
+ if ( yValue.indexOf('%') != -1 ) {
2952
+ y = ( y / 100 ) * layoutSize.height;
2953
+ }
2954
+ // clean up 'auto' or other non-integer values
2955
+ x = isNaN( x ) ? 0 : x;
2956
+ y = isNaN( y ) ? 0 : y;
2957
+ // remove padding from measurement
2958
+ x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
2959
+ y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
2960
+
2961
+ this.position.x = x;
2962
+ this.position.y = y;
2963
+ };
2964
+
2965
+ // set settled position, apply padding
2966
+ proto.layoutPosition = function() {
2967
+ var layoutSize = this.layout.size;
2968
+ var style = {};
2969
+ var isOriginLeft = this.layout._getOption('originLeft');
2970
+ var isOriginTop = this.layout._getOption('originTop');
2971
+
2972
+ // x
2973
+ var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
2974
+ var xProperty = isOriginLeft ? 'left' : 'right';
2975
+ var xResetProperty = isOriginLeft ? 'right' : 'left';
2976
+
2977
+ var x = this.position.x + layoutSize[ xPadding ];
2978
+ // set in percentage or pixels
2979
+ style[ xProperty ] = this.getXValue( x );
2980
+ // reset other property
2981
+ style[ xResetProperty ] = '';
2982
+
2983
+ // y
2984
+ var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
2985
+ var yProperty = isOriginTop ? 'top' : 'bottom';
2986
+ var yResetProperty = isOriginTop ? 'bottom' : 'top';
2987
+
2988
+ var y = this.position.y + layoutSize[ yPadding ];
2989
+ // set in percentage or pixels
2990
+ style[ yProperty ] = this.getYValue( y );
2991
+ // reset other property
2992
+ style[ yResetProperty ] = '';
2993
+
2994
+ this.css( style );
2995
+ this.emitEvent( 'layout', [ this ] );
2996
+ };
2997
+
2998
+ proto.getXValue = function( x ) {
2999
+ var isHorizontal = this.layout._getOption('horizontal');
3000
+ return this.layout.options.percentPosition && !isHorizontal ?
3001
+ ( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
3002
+ };
3003
+
3004
+ proto.getYValue = function( y ) {
3005
+ var isHorizontal = this.layout._getOption('horizontal');
3006
+ return this.layout.options.percentPosition && isHorizontal ?
3007
+ ( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
3008
+ };
3009
+
3010
+ proto._transitionTo = function( x, y ) {
3011
+ this.getPosition();
3012
+ // get current x & y from top/left
3013
+ var curX = this.position.x;
3014
+ var curY = this.position.y;
3015
+
3016
+ var didNotMove = x == this.position.x && y == this.position.y;
3017
+
3018
+ // save end position
3019
+ this.setPosition( x, y );
3020
+
3021
+ // if did not move and not transitioning, just go to layout
3022
+ if ( didNotMove && !this.isTransitioning ) {
3023
+ this.layoutPosition();
3024
+ return;
3025
+ }
3026
+
3027
+ var transX = x - curX;
3028
+ var transY = y - curY;
3029
+ var transitionStyle = {};
3030
+ transitionStyle.transform = this.getTranslate( transX, transY );
3031
+
3032
+ this.transition({
3033
+ to: transitionStyle,
3034
+ onTransitionEnd: {
3035
+ transform: this.layoutPosition
3036
+ },
3037
+ isCleaning: true
3038
+ });
3039
+ };
3040
+
3041
+ proto.getTranslate = function( x, y ) {
3042
+ // flip cooridinates if origin on right or bottom
3043
+ var isOriginLeft = this.layout._getOption('originLeft');
3044
+ var isOriginTop = this.layout._getOption('originTop');
3045
+ x = isOriginLeft ? x : -x;
3046
+ y = isOriginTop ? y : -y;
3047
+ return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
3048
+ };
3049
+
3050
+ // non transition + transform support
3051
+ proto.goTo = function( x, y ) {
3052
+ this.setPosition( x, y );
3053
+ this.layoutPosition();
3054
+ };
3055
+
3056
+ proto.moveTo = proto._transitionTo;
3057
+
3058
+ proto.setPosition = function( x, y ) {
3059
+ this.position.x = parseFloat( x );
3060
+ this.position.y = parseFloat( y );
3061
+ };
3062
+
3063
+ // ----- transition ----- //
3064
+
3065
+ /**
3066
+ * @param {Object} style - CSS
3067
+ * @param {Function} onTransitionEnd
3068
+ */
3069
+
3070
+ // non transition, just trigger callback
3071
+ proto._nonTransition = function( args ) {
3072
+ this.css( args.to );
3073
+ if ( args.isCleaning ) {
3074
+ this._removeStyles( args.to );
3075
+ }
3076
+ for ( var prop in args.onTransitionEnd ) {
3077
+ args.onTransitionEnd[ prop ].call( this );
3078
+ }
3079
+ };
3080
+
3081
+ /**
3082
+ * proper transition
3083
+ * @param {Object} args - arguments
3084
+ * @param {Object} to - style to transition to
3085
+ * @param {Object} from - style to start transition from
3086
+ * @param {Boolean} isCleaning - removes transition styles after transition
3087
+ * @param {Function} onTransitionEnd - callback
3088
+ */
3089
+ proto.transition = function( args ) {
3090
+ // redirect to nonTransition if no transition duration
3091
+ if ( !parseFloat( this.layout.options.transitionDuration ) ) {
3092
+ this._nonTransition( args );
3093
+ return;
3094
+ }
3095
+
3096
+ var _transition = this._transn;
3097
+ // keep track of onTransitionEnd callback by css property
3098
+ for ( var prop in args.onTransitionEnd ) {
3099
+ _transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
3100
+ }
3101
+ // keep track of properties that are transitioning
3102
+ for ( prop in args.to ) {
3103
+ _transition.ingProperties[ prop ] = true;
3104
+ // keep track of properties to clean up when transition is done
3105
+ if ( args.isCleaning ) {
3106
+ _transition.clean[ prop ] = true;
3107
+ }
3108
+ }
3109
+
3110
+ // set from styles
3111
+ if ( args.from ) {
3112
+ this.css( args.from );
3113
+ // force redraw. http://blog.alexmaccaw.com/css-transitions
3114
+ var h = this.element.offsetHeight;
3115
+ // hack for JSHint to hush about unused var
3116
+ h = null;
3117
+ }
3118
+ // enable transition
3119
+ this.enableTransition( args.to );
3120
+ // set styles that are transitioning
3121
+ this.css( args.to );
3122
+
3123
+ this.isTransitioning = true;
3124
+
3125
+ };
3126
+
3127
+ // dash before all cap letters, including first for
3128
+ // WebkitTransform => -webkit-transform
3129
+ function toDashedAll( str ) {
3130
+ return str.replace( /([A-Z])/g, function( $1 ) {
3131
+ return '-' + $1.toLowerCase();
3132
+ });
3133
+ }
3134
+
3135
+ var transitionProps = 'opacity,' + toDashedAll( transformProperty );
3136
+
3137
+ proto.enableTransition = function(/* style */) {
3138
+ // HACK changing transitionProperty during a transition
3139
+ // will cause transition to jump
3140
+ if ( this.isTransitioning ) {
3141
+ return;
3142
+ }
3143
+
3144
+ // make `transition: foo, bar, baz` from style object
3145
+ // HACK un-comment this when enableTransition can work
3146
+ // while a transition is happening
3147
+ // var transitionValues = [];
3148
+ // for ( var prop in style ) {
3149
+ // // dash-ify camelCased properties like WebkitTransition
3150
+ // prop = vendorProperties[ prop ] || prop;
3151
+ // transitionValues.push( toDashedAll( prop ) );
3152
+ // }
3153
+ // munge number to millisecond, to match stagger
3154
+ var duration = this.layout.options.transitionDuration;
3155
+ duration = typeof duration == 'number' ? duration + 'ms' : duration;
3156
+ // enable transition styles
3157
+ this.css({
3158
+ transitionProperty: transitionProps,
3159
+ transitionDuration: duration,
3160
+ transitionDelay: this.staggerDelay || 0
3161
+ });
3162
+ // listen for transition end event
3163
+ this.element.addEventListener( transitionEndEvent, this, false );
3164
+ };
3165
+
3166
+ // ----- events ----- //
3167
+
3168
+ proto.onwebkitTransitionEnd = function( event ) {
3169
+ this.ontransitionend( event );
3170
+ };
3171
+
3172
+ proto.onotransitionend = function( event ) {
3173
+ this.ontransitionend( event );
3174
+ };
3175
+
3176
+ // properties that I munge to make my life easier
3177
+ var dashedVendorProperties = {
3178
+ '-webkit-transform': 'transform'
3179
+ };
3180
+
3181
+ proto.ontransitionend = function( event ) {
3182
+ // disregard bubbled events from children
3183
+ if ( event.target !== this.element ) {
3184
+ return;
3185
+ }
3186
+ var _transition = this._transn;
3187
+ // get property name of transitioned property, convert to prefix-free
3188
+ var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;
3189
+
3190
+ // remove property that has completed transitioning
3191
+ delete _transition.ingProperties[ propertyName ];
3192
+ // check if any properties are still transitioning
3193
+ if ( isEmptyObj( _transition.ingProperties ) ) {
3194
+ // all properties have completed transitioning
3195
+ this.disableTransition();
3196
+ }
3197
+ // clean style
3198
+ if ( propertyName in _transition.clean ) {
3199
+ // clean up style
3200
+ this.element.style[ event.propertyName ] = '';
3201
+ delete _transition.clean[ propertyName ];
3202
+ }
3203
+ // trigger onTransitionEnd callback
3204
+ if ( propertyName in _transition.onEnd ) {
3205
+ var onTransitionEnd = _transition.onEnd[ propertyName ];
3206
+ onTransitionEnd.call( this );
3207
+ delete _transition.onEnd[ propertyName ];
3208
+ }
3209
+
3210
+ this.emitEvent( 'transitionEnd', [ this ] );
3211
+ };
3212
+
3213
+ proto.disableTransition = function() {
3214
+ this.removeTransitionStyles();
3215
+ this.element.removeEventListener( transitionEndEvent, this, false );
3216
+ this.isTransitioning = false;
3217
+ };
3218
+
3219
+ /**
3220
+ * removes style property from element
3221
+ * @param {Object} style
3222
+ **/
3223
+ proto._removeStyles = function( style ) {
3224
+ // clean up transition styles
3225
+ var cleanStyle = {};
3226
+ for ( var prop in style ) {
3227
+ cleanStyle[ prop ] = '';
3228
+ }
3229
+ this.css( cleanStyle );
3230
+ };
3231
+
3232
+ var cleanTransitionStyle = {
3233
+ transitionProperty: '',
3234
+ transitionDuration: '',
3235
+ transitionDelay: ''
3236
+ };
3237
+
3238
+ proto.removeTransitionStyles = function() {
3239
+ // remove transition
3240
+ this.css( cleanTransitionStyle );
3241
+ };
3242
+
3243
+ // ----- stagger ----- //
3244
+
3245
+ proto.stagger = function( delay ) {
3246
+ delay = isNaN( delay ) ? 0 : delay;
3247
+ this.staggerDelay = delay + 'ms';
3248
+ };
3249
+
3250
+ // ----- show/hide/remove ----- //
3251
+
3252
+ // remove element from DOM
3253
+ proto.removeElem = function() {
3254
+ this.element.parentNode.removeChild( this.element );
3255
+ // remove display: none
3256
+ this.css({ display: '' });
3257
+ this.emitEvent( 'remove', [ this ] );
3258
+ };
3259
+
3260
+ proto.remove = function() {
3261
+ // just remove element if no transition support or no transition
3262
+ if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
3263
+ this.removeElem();
3264
+ return;
3265
+ }
3266
+
3267
+ // start transition
3268
+ this.once( 'transitionEnd', function() {
3269
+ this.removeElem();
3270
+ });
3271
+ this.hide();
3272
+ };
3273
+
3274
+ proto.reveal = function() {
3275
+ delete this.isHidden;
3276
+ // remove display: none
3277
+ this.css({ display: '' });
3278
+
3279
+ var options = this.layout.options;
3280
+
3281
+ var onTransitionEnd = {};
3282
+ var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
3283
+ onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
3284
+
3285
+ this.transition({
3286
+ from: options.hiddenStyle,
3287
+ to: options.visibleStyle,
3288
+ isCleaning: true,
3289
+ onTransitionEnd: onTransitionEnd
3290
+ });
3291
+ };
3292
+
3293
+ proto.onRevealTransitionEnd = function() {
3294
+ // check if still visible
3295
+ // during transition, item may have been hidden
3296
+ if ( !this.isHidden ) {
3297
+ this.emitEvent('reveal');
3298
+ }
3299
+ };
3300
+
3301
+ /**
3302
+ * get style property use for hide/reveal transition end
3303
+ * @param {String} styleProperty - hiddenStyle/visibleStyle
3304
+ * @returns {String}
3305
+ */
3306
+ proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
3307
+ var optionStyle = this.layout.options[ styleProperty ];
3308
+ // use opacity
3309
+ if ( optionStyle.opacity ) {
3310
+ return 'opacity';
3311
+ }
3312
+ // get first property
3313
+ for ( var prop in optionStyle ) {
3314
+ return prop;
3315
+ }
3316
+ };
3317
+
3318
+ proto.hide = function() {
3319
+ // set flag
3320
+ this.isHidden = true;
3321
+ // remove display: none
3322
+ this.css({ display: '' });
3323
+
3324
+ var options = this.layout.options;
3325
+
3326
+ var onTransitionEnd = {};
3327
+ var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
3328
+ onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
3329
+
3330
+ this.transition({
3331
+ from: options.visibleStyle,
3332
+ to: options.hiddenStyle,
3333
+ // keep hidden stuff hidden
3334
+ isCleaning: true,
3335
+ onTransitionEnd: onTransitionEnd
3336
+ });
3337
+ };
3338
+
3339
+ proto.onHideTransitionEnd = function() {
3340
+ // check if still hidden
3341
+ // during transition, item may have been un-hidden
3342
+ if ( this.isHidden ) {
3343
+ this.css({ display: 'none' });
3344
+ this.emitEvent('hide');
3345
+ }
3346
+ };
3347
+
3348
+ proto.destroy = function() {
3349
+ this.css({
3350
+ position: '',
3351
+ left: '',
3352
+ right: '',
3353
+ top: '',
3354
+ bottom: '',
3355
+ transition: '',
3356
+ transform: ''
3357
+ });
3358
+ };
3359
+
3360
+ return Item;
3361
+
3362
+ }));
3363
+
3364
+ /*!
3365
+ * Outlayer v2.1.1
3366
+ * the brains and guts of a layout library
3367
+ * MIT license
3368
+ */
3369
+
3370
+ ( function( window, factory ) {
3371
+ 'use strict';
3372
+ // universal module definition
3373
+ /* jshint strict: false */ /* globals define, module, require */
3374
+ if ( typeof define == 'function' && define.amd ) {
3375
+ // AMD - RequireJS
3376
+ define( 'outlayer/outlayer',[
3377
+ 'ev-emitter/ev-emitter',
3378
+ 'get-size/get-size',
3379
+ 'fizzy-ui-utils/utils',
3380
+ './item'
3381
+ ],
3382
+ function( EvEmitter, getSize, utils, Item ) {
3383
+ return factory( window, EvEmitter, getSize, utils, Item);
3384
+ }
3385
+ );
3386
+ } else if ( typeof module == 'object' && module.exports ) {
3387
+ // CommonJS - Browserify, Webpack
3388
+ module.exports = factory(
3389
+ window,
3390
+ require('ev-emitter'),
3391
+ require('get-size'),
3392
+ require('fizzy-ui-utils'),
3393
+ require('./item')
3394
+ );
3395
+ } else {
3396
+ // browser global
3397
+ window.Outlayer = factory(
3398
+ window,
3399
+ window.EvEmitter,
3400
+ window.getSize,
3401
+ window.fizzyUIUtils,
3402
+ window.Outlayer.Item
3403
+ );
3404
+ }
3405
+
3406
+ }( window, function factory( window, EvEmitter, getSize, utils, Item ) {
3407
+ 'use strict';
3408
+
3409
+ // ----- vars ----- //
3410
+
3411
+ var console = window.console;
3412
+ var jQuery = window.jQuery;
3413
+ var noop = function() {};
3414
+
3415
+ // -------------------------- Outlayer -------------------------- //
3416
+
3417
+ // globally unique identifiers
3418
+ var GUID = 0;
3419
+ // internal store of all Outlayer intances
3420
+ var instances = {};
3421
+
3422
+
3423
+ /**
3424
+ * @param {Element, String} element
3425
+ * @param {Object} options
3426
+ * @constructor
3427
+ */
3428
+ function Outlayer( element, options ) {
3429
+ var queryElement = utils.getQueryElement( element );
3430
+ if ( !queryElement ) {
3431
+ if ( console ) {
3432
+ console.error( 'Bad element for ' + this.constructor.namespace +
3433
+ ': ' + ( queryElement || element ) );
3434
+ }
3435
+ return;
3436
+ }
3437
+ this.element = queryElement;
3438
+ // add jQuery
3439
+ if ( jQuery ) {
3440
+ this.$element = jQuery( this.element );
3441
+ }
3442
+
3443
+ // options
3444
+ this.options = utils.extend( {}, this.constructor.defaults );
3445
+ this.option( options );
3446
+
3447
+ // add id for Outlayer.getFromElement
3448
+ var id = ++GUID;
3449
+ this.element.outlayerGUID = id; // expando
3450
+ instances[ id ] = this; // associate via id
3451
+
3452
+ // kick it off
3453
+ this._create();
3454
+
3455
+ var isInitLayout = this._getOption('initLayout');
3456
+ if ( isInitLayout ) {
3457
+ this.layout();
3458
+ }
3459
+ }
3460
+
3461
+ // settings are for internal use only
3462
+ Outlayer.namespace = 'outlayer';
3463
+ Outlayer.Item = Item;
3464
+
3465
+ // default options
3466
+ Outlayer.defaults = {
3467
+ containerStyle: {
3468
+ position: 'relative'
3469
+ },
3470
+ initLayout: true,
3471
+ originLeft: true,
3472
+ originTop: true,
3473
+ resize: true,
3474
+ resizeContainer: true,
3475
+ // item options
3476
+ transitionDuration: '0.4s',
3477
+ hiddenStyle: {
3478
+ opacity: 0,
3479
+ transform: 'scale(0.001)'
3480
+ },
3481
+ visibleStyle: {
3482
+ opacity: 1,
3483
+ transform: 'scale(1)'
3484
+ }
3485
+ };
3486
+
3487
+ var proto = Outlayer.prototype;
3488
+ // inherit EvEmitter
3489
+ utils.extend( proto, EvEmitter.prototype );
3490
+
3491
+ /**
3492
+ * set options
3493
+ * @param {Object} opts
3494
+ */
3495
+ proto.option = function( opts ) {
3496
+ utils.extend( this.options, opts );
3497
+ };
3498
+
3499
+ /**
3500
+ * get backwards compatible option value, check old name
3501
+ */
3502
+ proto._getOption = function( option ) {
3503
+ var oldOption = this.constructor.compatOptions[ option ];
3504
+ return oldOption && this.options[ oldOption ] !== undefined ?
3505
+ this.options[ oldOption ] : this.options[ option ];
3506
+ };
3507
+
3508
+ Outlayer.compatOptions = {
3509
+ // currentName: oldName
3510
+ initLayout: 'isInitLayout',
3511
+ horizontal: 'isHorizontal',
3512
+ layoutInstant: 'isLayoutInstant',
3513
+ originLeft: 'isOriginLeft',
3514
+ originTop: 'isOriginTop',
3515
+ resize: 'isResizeBound',
3516
+ resizeContainer: 'isResizingContainer'
3517
+ };
3518
+
3519
+ proto._create = function() {
3520
+ // get items from children
3521
+ this.reloadItems();
3522
+ // elements that affect layout, but are not laid out
3523
+ this.stamps = [];
3524
+ this.stamp( this.options.stamp );
3525
+ // set container style
3526
+ utils.extend( this.element.style, this.options.containerStyle );
3527
+
3528
+ // bind resize method
3529
+ var canBindResize = this._getOption('resize');
3530
+ if ( canBindResize ) {
3531
+ this.bindResize();
3532
+ }
3533
+ };
3534
+
3535
+ // goes through all children again and gets bricks in proper order
3536
+ proto.reloadItems = function() {
3537
+ // collection of item elements
3538
+ this.items = this._itemize( this.element.children );
3539
+ };
3540
+
3541
+
3542
+ /**
3543
+ * turn elements into Outlayer.Items to be used in layout
3544
+ * @param {Array or NodeList or HTMLElement} elems
3545
+ * @returns {Array} items - collection of new Outlayer Items
3546
+ */
3547
+ proto._itemize = function( elems ) {
3548
+
3549
+ var itemElems = this._filterFindItemElements( elems );
3550
+ var Item = this.constructor.Item;
3551
+
3552
+ // create new Outlayer Items for collection
3553
+ var items = [];
3554
+ for ( var i=0; i < itemElems.length; i++ ) {
3555
+ var elem = itemElems[i];
3556
+ var item = new Item( elem, this );
3557
+ items.push( item );
3558
+ }
3559
+
3560
+ return items;
3561
+ };
3562
+
3563
+ /**
3564
+ * get item elements to be used in layout
3565
+ * @param {Array or NodeList or HTMLElement} elems
3566
+ * @returns {Array} items - item elements
3567
+ */
3568
+ proto._filterFindItemElements = function( elems ) {
3569
+ return utils.filterFindElements( elems, this.options.itemSelector );
3570
+ };
3571
+
3572
+ /**
3573
+ * getter method for getting item elements
3574
+ * @returns {Array} elems - collection of item elements
3575
+ */
3576
+ proto.getItemElements = function() {
3577
+ return this.items.map( function( item ) {
3578
+ return item.element;
3579
+ });
3580
+ };
3581
+
3582
+ // ----- init & layout ----- //
3583
+
3584
+ /**
3585
+ * lays out all items
3586
+ */
3587
+ proto.layout = function() {
3588
+ this._resetLayout();
3589
+ this._manageStamps();
3590
+
3591
+ // don't animate first layout
3592
+ var layoutInstant = this._getOption('layoutInstant');
3593
+ var isInstant = layoutInstant !== undefined ?
3594
+ layoutInstant : !this._isLayoutInited;
3595
+ this.layoutItems( this.items, isInstant );
3596
+
3597
+ // flag for initalized
3598
+ this._isLayoutInited = true;
3599
+ };
3600
+
3601
+ // _init is alias for layout
3602
+ proto._init = proto.layout;
3603
+
3604
+ /**
3605
+ * logic before any new layout
3606
+ */
3607
+ proto._resetLayout = function() {
3608
+ this.getSize();
3609
+ };
3610
+
3611
+
3612
+ proto.getSize = function() {
3613
+ this.size = getSize( this.element );
3614
+ };
3615
+
3616
+ /**
3617
+ * get measurement from option, for columnWidth, rowHeight, gutter
3618
+ * if option is String -> get element from selector string, & get size of element
3619
+ * if option is Element -> get size of element
3620
+ * else use option as a number
3621
+ *
3622
+ * @param {String} measurement
3623
+ * @param {String} size - width or height
3624
+ * @private
3625
+ */
3626
+ proto._getMeasurement = function( measurement, size ) {
3627
+ var option = this.options[ measurement ];
3628
+ var elem;
3629
+ if ( !option ) {
3630
+ // default to 0
3631
+ this[ measurement ] = 0;
3632
+ } else {
3633
+ // use option as an element
3634
+ if ( typeof option == 'string' ) {
3635
+ elem = this.element.querySelector( option );
3636
+ } else if ( option instanceof HTMLElement ) {
3637
+ elem = option;
3638
+ }
3639
+ // use size of element, if element
3640
+ this[ measurement ] = elem ? getSize( elem )[ size ] : option;
3641
+ }
3642
+ };
3643
+
3644
+ /**
3645
+ * layout a collection of item elements
3646
+ * @api public
3647
+ */
3648
+ proto.layoutItems = function( items, isInstant ) {
3649
+ items = this._getItemsForLayout( items );
3650
+
3651
+ this._layoutItems( items, isInstant );
3652
+
3653
+ this._postLayout();
3654
+ };
3655
+
3656
+ /**
3657
+ * get the items to be laid out
3658
+ * you may want to skip over some items
3659
+ * @param {Array} items
3660
+ * @returns {Array} items
3661
+ */
3662
+ proto._getItemsForLayout = function( items ) {
3663
+ return items.filter( function( item ) {
3664
+ return !item.isIgnored;
3665
+ });
3666
+ };
3667
+
3668
+ /**
3669
+ * layout items
3670
+ * @param {Array} items
3671
+ * @param {Boolean} isInstant
3672
+ */
3673
+ proto._layoutItems = function( items, isInstant ) {
3674
+ this._emitCompleteOnItems( 'layout', items );
3675
+
3676
+ if ( !items || !items.length ) {
3677
+ // no items, emit event with empty array
3678
+ return;
3679
+ }
3680
+
3681
+ var queue = [];
3682
+
3683
+ items.forEach( function( item ) {
3684
+ // get x/y object from method
3685
+ var position = this._getItemLayoutPosition( item );
3686
+ // enqueue
3687
+ position.item = item;
3688
+ position.isInstant = isInstant || item.isLayoutInstant;
3689
+ queue.push( position );
3690
+ }, this );
3691
+
3692
+ this._processLayoutQueue( queue );
3693
+ };
3694
+
3695
+ /**
3696
+ * get item layout position
3697
+ * @param {Outlayer.Item} item
3698
+ * @returns {Object} x and y position
3699
+ */
3700
+ proto._getItemLayoutPosition = function( /* item */ ) {
3701
+ return {
3702
+ x: 0,
3703
+ y: 0
3704
+ };
3705
+ };
3706
+
3707
+ /**
3708
+ * iterate over array and position each item
3709
+ * Reason being - separating this logic prevents 'layout invalidation'
3710
+ * thx @paul_irish
3711
+ * @param {Array} queue
3712
+ */
3713
+ proto._processLayoutQueue = function( queue ) {
3714
+ this.updateStagger();
3715
+ queue.forEach( function( obj, i ) {
3716
+ this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
3717
+ }, this );
3718
+ };
3719
+
3720
+ // set stagger from option in milliseconds number
3721
+ proto.updateStagger = function() {
3722
+ var stagger = this.options.stagger;
3723
+ if ( stagger === null || stagger === undefined ) {
3724
+ this.stagger = 0;
3725
+ return;
3726
+ }
3727
+ this.stagger = getMilliseconds( stagger );
3728
+ return this.stagger;
3729
+ };
3730
+
3731
+ /**
3732
+ * Sets position of item in DOM
3733
+ * @param {Outlayer.Item} item
3734
+ * @param {Number} x - horizontal position
3735
+ * @param {Number} y - vertical position
3736
+ * @param {Boolean} isInstant - disables transitions
3737
+ */
3738
+ proto._positionItem = function( item, x, y, isInstant, i ) {
3739
+ if ( isInstant ) {
3740
+ // if not transition, just set CSS
3741
+ item.goTo( x, y );
3742
+ } else {
3743
+ item.stagger( i * this.stagger );
3744
+ item.moveTo( x, y );
3745
+ }
3746
+ };
3747
+
3748
+ /**
3749
+ * Any logic you want to do after each layout,
3750
+ * i.e. size the container
3751
+ */
3752
+ proto._postLayout = function() {
3753
+ this.resizeContainer();
3754
+ };
3755
+
3756
+ proto.resizeContainer = function() {
3757
+ var isResizingContainer = this._getOption('resizeContainer');
3758
+ if ( !isResizingContainer ) {
3759
+ return;
3760
+ }
3761
+ var size = this._getContainerSize();
3762
+ if ( size ) {
3763
+ this._setContainerMeasure( size.width, true );
3764
+ this._setContainerMeasure( size.height, false );
3765
+ }
3766
+ };
3767
+
3768
+ /**
3769
+ * Sets width or height of container if returned
3770
+ * @returns {Object} size
3771
+ * @param {Number} width
3772
+ * @param {Number} height
3773
+ */
3774
+ proto._getContainerSize = noop;
3775
+
3776
+ /**
3777
+ * @param {Number} measure - size of width or height
3778
+ * @param {Boolean} isWidth
3779
+ */
3780
+ proto._setContainerMeasure = function( measure, isWidth ) {
3781
+ if ( measure === undefined ) {
3782
+ return;
3783
+ }
3784
+
3785
+ var elemSize = this.size;
3786
+ // add padding and border width if border box
3787
+ if ( elemSize.isBorderBox ) {
3788
+ measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
3789
+ elemSize.borderLeftWidth + elemSize.borderRightWidth :
3790
+ elemSize.paddingBottom + elemSize.paddingTop +
3791
+ elemSize.borderTopWidth + elemSize.borderBottomWidth;
3792
+ }
3793
+
3794
+ measure = Math.max( measure, 0 );
3795
+ this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
3796
+ };
3797
+
3798
+ /**
3799
+ * emit eventComplete on a collection of items events
3800
+ * @param {String} eventName
3801
+ * @param {Array} items - Outlayer.Items
3802
+ */
3803
+ proto._emitCompleteOnItems = function( eventName, items ) {
3804
+ var _this = this;
3805
+ function onComplete() {
3806
+ _this.dispatchEvent( eventName + 'Complete', null, [ items ] );
3807
+ }
3808
+
3809
+ var count = items.length;
3810
+ if ( !items || !count ) {
3811
+ onComplete();
3812
+ return;
3813
+ }
3814
+
3815
+ var doneCount = 0;
3816
+ function tick() {
3817
+ doneCount++;
3818
+ if ( doneCount == count ) {
3819
+ onComplete();
3820
+ }
3821
+ }
3822
+
3823
+ // bind callback
3824
+ items.forEach( function( item ) {
3825
+ item.once( eventName, tick );
3826
+ });
3827
+ };
3828
+
3829
+ /**
3830
+ * emits events via EvEmitter and jQuery events
3831
+ * @param {String} type - name of event
3832
+ * @param {Event} event - original event
3833
+ * @param {Array} args - extra arguments
3834
+ */
3835
+ proto.dispatchEvent = function( type, event, args ) {
3836
+ // add original event to arguments
3837
+ var emitArgs = event ? [ event ].concat( args ) : args;
3838
+ this.emitEvent( type, emitArgs );
3839
+
3840
+ if ( jQuery ) {
3841
+ // set this.$element
3842
+ this.$element = this.$element || jQuery( this.element );
3843
+ if ( event ) {
3844
+ // create jQuery event
3845
+ var $event = jQuery.Event( event );
3846
+ $event.type = type;
3847
+ this.$element.trigger( $event, args );
3848
+ } else {
3849
+ // just trigger with type if no event available
3850
+ this.$element.trigger( type, args );
3851
+ }
3852
+ }
3853
+ };
3854
+
3855
+ // -------------------------- ignore & stamps -------------------------- //
3856
+
3857
+
3858
+ /**
3859
+ * keep item in collection, but do not lay it out
3860
+ * ignored items do not get skipped in layout
3861
+ * @param {Element} elem
3862
+ */
3863
+ proto.ignore = function( elem ) {
3864
+ var item = this.getItem( elem );
3865
+ if ( item ) {
3866
+ item.isIgnored = true;
3867
+ }
3868
+ };
3869
+
3870
+ /**
3871
+ * return item to layout collection
3872
+ * @param {Element} elem
3873
+ */
3874
+ proto.unignore = function( elem ) {
3875
+ var item = this.getItem( elem );
3876
+ if ( item ) {
3877
+ delete item.isIgnored;
3878
+ }
3879
+ };
3880
+
3881
+ /**
3882
+ * adds elements to stamps
3883
+ * @param {NodeList, Array, Element, or String} elems
3884
+ */
3885
+ proto.stamp = function( elems ) {
3886
+ elems = this._find( elems );
3887
+ if ( !elems ) {
3888
+ return;
3889
+ }
3890
+
3891
+ this.stamps = this.stamps.concat( elems );
3892
+ // ignore
3893
+ elems.forEach( this.ignore, this );
3894
+ };
3895
+
3896
+ /**
3897
+ * removes elements to stamps
3898
+ * @param {NodeList, Array, or Element} elems
3899
+ */
3900
+ proto.unstamp = function( elems ) {
3901
+ elems = this._find( elems );
3902
+ if ( !elems ){
3903
+ return;
3904
+ }
3905
+
3906
+ elems.forEach( function( elem ) {
3907
+ // filter out removed stamp elements
3908
+ utils.removeFrom( this.stamps, elem );
3909
+ this.unignore( elem );
3910
+ }, this );
3911
+ };
3912
+
3913
+ /**
3914
+ * finds child elements
3915
+ * @param {NodeList, Array, Element, or String} elems
3916
+ * @returns {Array} elems
3917
+ */
3918
+ proto._find = function( elems ) {
3919
+ if ( !elems ) {
3920
+ return;
3921
+ }
3922
+ // if string, use argument as selector string
3923
+ if ( typeof elems == 'string' ) {
3924
+ elems = this.element.querySelectorAll( elems );
3925
+ }
3926
+ elems = utils.makeArray( elems );
3927
+ return elems;
3928
+ };
3929
+
3930
+ proto._manageStamps = function() {
3931
+ if ( !this.stamps || !this.stamps.length ) {
3932
+ return;
3933
+ }
3934
+
3935
+ this._getBoundingRect();
3936
+
3937
+ this.stamps.forEach( this._manageStamp, this );
3938
+ };
3939
+
3940
+ // update boundingLeft / Top
3941
+ proto._getBoundingRect = function() {
3942
+ // get bounding rect for container element
3943
+ var boundingRect = this.element.getBoundingClientRect();
3944
+ var size = this.size;
3945
+ this._boundingRect = {
3946
+ left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,
3947
+ top: boundingRect.top + size.paddingTop + size.borderTopWidth,
3948
+ right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),
3949
+ bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )
3950
+ };
3951
+ };
3952
+
3953
+ /**
3954
+ * @param {Element} stamp
3955
+ **/
3956
+ proto._manageStamp = noop;
3957
+
3958
+ /**
3959
+ * get x/y position of element relative to container element
3960
+ * @param {Element} elem
3961
+ * @returns {Object} offset - has left, top, right, bottom
3962
+ */
3963
+ proto._getElementOffset = function( elem ) {
3964
+ var boundingRect = elem.getBoundingClientRect();
3965
+ var thisRect = this._boundingRect;
3966
+ var size = getSize( elem );
3967
+ var offset = {
3968
+ left: boundingRect.left - thisRect.left - size.marginLeft,
3969
+ top: boundingRect.top - thisRect.top - size.marginTop,
3970
+ right: thisRect.right - boundingRect.right - size.marginRight,
3971
+ bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom
3972
+ };
3973
+ return offset;
3974
+ };
3975
+
3976
+ // -------------------------- resize -------------------------- //
3977
+
3978
+ // enable event handlers for listeners
3979
+ // i.e. resize -> onresize
3980
+ proto.handleEvent = utils.handleEvent;
3981
+
3982
+ /**
3983
+ * Bind layout to window resizing
3984
+ */
3985
+ proto.bindResize = function() {
3986
+ window.addEventListener( 'resize', this );
3987
+ this.isResizeBound = true;
3988
+ };
3989
+
3990
+ /**
3991
+ * Unbind layout to window resizing
3992
+ */
3993
+ proto.unbindResize = function() {
3994
+ window.removeEventListener( 'resize', this );
3995
+ this.isResizeBound = false;
3996
+ };
3997
+
3998
+ proto.onresize = function() {
3999
+ this.resize();
4000
+ };
4001
+
4002
+ utils.debounceMethod( Outlayer, 'onresize', 100 );
4003
+
4004
+ proto.resize = function() {
4005
+ // don't trigger if size did not change
4006
+ // or if resize was unbound. See #9
4007
+ if ( !this.isResizeBound || !this.needsResizeLayout() ) {
4008
+ return;
4009
+ }
4010
+
4011
+ this.layout();
4012
+ };
4013
+
4014
+ /**
4015
+ * check if layout is needed post layout
4016
+ * @returns Boolean
4017
+ */
4018
+ proto.needsResizeLayout = function() {
4019
+ var size = getSize( this.element );
4020
+ // check that this.size and size are there
4021
+ // IE8 triggers resize on body size change, so they might not be
4022
+ var hasSizes = this.size && size;
4023
+ return hasSizes && size.innerWidth !== this.size.innerWidth;
4024
+ };
4025
+
4026
+ // -------------------------- methods -------------------------- //
4027
+
4028
+ /**
4029
+ * add items to Outlayer instance
4030
+ * @param {Array or NodeList or Element} elems
4031
+ * @returns {Array} items - Outlayer.Items
4032
+ **/
4033
+ proto.addItems = function( elems ) {
4034
+ var items = this._itemize( elems );
4035
+ // add items to collection
4036
+ if ( items.length ) {
4037
+ this.items = this.items.concat( items );
4038
+ }
4039
+ return items;
4040
+ };
4041
+
4042
+ /**
4043
+ * Layout newly-appended item elements
4044
+ * @param {Array or NodeList or Element} elems
4045
+ */
4046
+ proto.appended = function( elems ) {
4047
+ var items = this.addItems( elems );
4048
+ if ( !items.length ) {
4049
+ return;
4050
+ }
4051
+ // layout and reveal just the new items
4052
+ this.layoutItems( items, true );
4053
+ this.reveal( items );
4054
+ };
4055
+
4056
+ /**
4057
+ * Layout prepended elements
4058
+ * @param {Array or NodeList or Element} elems
4059
+ */
4060
+ proto.prepended = function( elems ) {
4061
+ var items = this._itemize( elems );
4062
+ if ( !items.length ) {
4063
+ return;
4064
+ }
4065
+ // add items to beginning of collection
4066
+ var previousItems = this.items.slice(0);
4067
+ this.items = items.concat( previousItems );
4068
+ // start new layout
4069
+ this._resetLayout();
4070
+ this._manageStamps();
4071
+ // layout new stuff without transition
4072
+ this.layoutItems( items, true );
4073
+ this.reveal( items );
4074
+ // layout previous items
4075
+ this.layoutItems( previousItems );
4076
+ };
4077
+
4078
+ /**
4079
+ * reveal a collection of items
4080
+ * @param {Array of Outlayer.Items} items
4081
+ */
4082
+ proto.reveal = function( items ) {
4083
+ this._emitCompleteOnItems( 'reveal', items );
4084
+ if ( !items || !items.length ) {
4085
+ return;
4086
+ }
4087
+ var stagger = this.updateStagger();
4088
+ items.forEach( function( item, i ) {
4089
+ item.stagger( i * stagger );
4090
+ item.reveal();
4091
+ });
4092
+ };
4093
+
4094
+ /**
4095
+ * hide a collection of items
4096
+ * @param {Array of Outlayer.Items} items
4097
+ */
4098
+ proto.hide = function( items ) {
4099
+ this._emitCompleteOnItems( 'hide', items );
4100
+ if ( !items || !items.length ) {
4101
+ return;
4102
+ }
4103
+ var stagger = this.updateStagger();
4104
+ items.forEach( function( item, i ) {
4105
+ item.stagger( i * stagger );
4106
+ item.hide();
4107
+ });
4108
+ };
4109
+
4110
+ /**
4111
+ * reveal item elements
4112
+ * @param {Array}, {Element}, {NodeList} items
4113
+ */
4114
+ proto.revealItemElements = function( elems ) {
4115
+ var items = this.getItems( elems );
4116
+ this.reveal( items );
4117
+ };
4118
+
4119
+ /**
4120
+ * hide item elements
4121
+ * @param {Array}, {Element}, {NodeList} items
4122
+ */
4123
+ proto.hideItemElements = function( elems ) {
4124
+ var items = this.getItems( elems );
4125
+ this.hide( items );
4126
+ };
4127
+
4128
+ /**
4129
+ * get Outlayer.Item, given an Element
4130
+ * @param {Element} elem
4131
+ * @param {Function} callback
4132
+ * @returns {Outlayer.Item} item
4133
+ */
4134
+ proto.getItem = function( elem ) {
4135
+ // loop through items to get the one that matches
4136
+ for ( var i=0; i < this.items.length; i++ ) {
4137
+ var item = this.items[i];
4138
+ if ( item.element == elem ) {
4139
+ // return item
4140
+ return item;
4141
+ }
4142
+ }
4143
+ };
4144
+
4145
+ /**
4146
+ * get collection of Outlayer.Items, given Elements
4147
+ * @param {Array} elems
4148
+ * @returns {Array} items - Outlayer.Items
4149
+ */
4150
+ proto.getItems = function( elems ) {
4151
+ elems = utils.makeArray( elems );
4152
+ var items = [];
4153
+ elems.forEach( function( elem ) {
4154
+ var item = this.getItem( elem );
4155
+ if ( item ) {
4156
+ items.push( item );
4157
+ }
4158
+ }, this );
4159
+
4160
+ return items;
4161
+ };
4162
+
4163
+ /**
4164
+ * remove element(s) from instance and DOM
4165
+ * @param {Array or NodeList or Element} elems
4166
+ */
4167
+ proto.remove = function( elems ) {
4168
+ var removeItems = this.getItems( elems );
4169
+
4170
+ this._emitCompleteOnItems( 'remove', removeItems );
4171
+
4172
+ // bail if no items to remove
4173
+ if ( !removeItems || !removeItems.length ) {
4174
+ return;
4175
+ }
4176
+
4177
+ removeItems.forEach( function( item ) {
4178
+ item.remove();
4179
+ // remove item from collection
4180
+ utils.removeFrom( this.items, item );
4181
+ }, this );
4182
+ };
4183
+
4184
+ // ----- destroy ----- //
4185
+
4186
+ // remove and disable Outlayer instance
4187
+ proto.destroy = function() {
4188
+ // clean up dynamic styles
4189
+ var style = this.element.style;
4190
+ style.height = '';
4191
+ style.position = '';
4192
+ style.width = '';
4193
+ // destroy items
4194
+ this.items.forEach( function( item ) {
4195
+ item.destroy();
4196
+ });
4197
+
4198
+ this.unbindResize();
4199
+
4200
+ var id = this.element.outlayerGUID;
4201
+ delete instances[ id ]; // remove reference to instance by id
4202
+ delete this.element.outlayerGUID;
4203
+ // remove data for jQuery
4204
+ if ( jQuery ) {
4205
+ jQuery.removeData( this.element, this.constructor.namespace );
4206
+ }
4207
+
4208
+ };
4209
+
4210
+ // -------------------------- data -------------------------- //
4211
+
4212
+ /**
4213
+ * get Outlayer instance from element
4214
+ * @param {Element} elem
4215
+ * @returns {Outlayer}
4216
+ */
4217
+ Outlayer.data = function( elem ) {
4218
+ elem = utils.getQueryElement( elem );
4219
+ var id = elem && elem.outlayerGUID;
4220
+ return id && instances[ id ];
4221
+ };
4222
+
4223
+
4224
+ // -------------------------- create Outlayer class -------------------------- //
4225
+
4226
+ /**
4227
+ * create a layout class
4228
+ * @param {String} namespace
4229
+ */
4230
+ Outlayer.create = function( namespace, options ) {
4231
+ // sub-class Outlayer
4232
+ var Layout = subclass( Outlayer );
4233
+ // apply new options and compatOptions
4234
+ Layout.defaults = utils.extend( {}, Outlayer.defaults );
4235
+ utils.extend( Layout.defaults, options );
4236
+ Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
4237
+
4238
+ Layout.namespace = namespace;
4239
+
4240
+ Layout.data = Outlayer.data;
4241
+
4242
+ // sub-class Item
4243
+ Layout.Item = subclass( Item );
4244
+
4245
+ // -------------------------- declarative -------------------------- //
4246
+
4247
+ utils.htmlInit( Layout, namespace );
4248
+
4249
+ // -------------------------- jQuery bridge -------------------------- //
4250
+
4251
+ // make into jQuery plugin
4252
+ if ( jQuery && jQuery.bridget ) {
4253
+ jQuery.bridget( namespace, Layout );
4254
+ }
4255
+
4256
+ return Layout;
4257
+ };
4258
+
4259
+ function subclass( Parent ) {
4260
+ function SubClass() {
4261
+ Parent.apply( this, arguments );
4262
+ }
4263
+
4264
+ SubClass.prototype = Object.create( Parent.prototype );
4265
+ SubClass.prototype.constructor = SubClass;
4266
+
4267
+ return SubClass;
4268
+ }
4269
+
4270
+ // ----- helpers ----- //
4271
+
4272
+ // how many milliseconds are in each unit
4273
+ var msUnits = {
4274
+ ms: 1,
4275
+ s: 1000
4276
+ };
4277
+
4278
+ // munge time-like parameter into millisecond number
4279
+ // '0.4s' -> 40
4280
+ function getMilliseconds( time ) {
4281
+ if ( typeof time == 'number' ) {
4282
+ return time;
4283
+ }
4284
+ var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
4285
+ var num = matches && matches[1];
4286
+ var unit = matches && matches[2];
4287
+ if ( !num.length ) {
4288
+ return 0;
4289
+ }
4290
+ num = parseFloat( num );
4291
+ var mult = msUnits[ unit ] || 1;
4292
+ return num * mult;
4293
+ }
4294
+
4295
+ // ----- fin ----- //
4296
+
4297
+ // back in global
4298
+ Outlayer.Item = Item;
4299
+
4300
+ return Outlayer;
4301
+
4302
+ }));
4303
+
4304
+ /**
4305
+ * Isotope Item
4306
+ **/
4307
+
4308
+ ( function( window, factory ) {
4309
+ // universal module definition
4310
+ /* jshint strict: false */ /*globals define, module, require */
4311
+ if ( typeof define == 'function' && define.amd ) {
4312
+ // AMD
4313
+ define( 'isotope-layout/js/item',[
4314
+ 'outlayer/outlayer'
4315
+ ],
4316
+ factory );
4317
+ } else if ( typeof module == 'object' && module.exports ) {
4318
+ // CommonJS
4319
+ module.exports = factory(
4320
+ require('outlayer')
4321
+ );
4322
+ } else {
4323
+ // browser global
4324
+ window.Isotope = window.Isotope || {};
4325
+ window.Isotope.Item = factory(
4326
+ window.Outlayer
4327
+ );
4328
+ }
4329
+
4330
+ }( window, function factory( Outlayer ) {
4331
+ 'use strict';
4332
+
4333
+ // -------------------------- Item -------------------------- //
4334
+
4335
+ // sub-class Outlayer Item
4336
+ function Item() {
4337
+ Outlayer.Item.apply( this, arguments );
4338
+ }
4339
+
4340
+ var proto = Item.prototype = Object.create( Outlayer.Item.prototype );
4341
+
4342
+ var _create = proto._create;
4343
+ proto._create = function() {
4344
+ // assign id, used for original-order sorting
4345
+ this.id = this.layout.itemGUID++;
4346
+ _create.call( this );
4347
+ this.sortData = {};
4348
+ };
4349
+
4350
+ proto.updateSortData = function() {
4351
+ if ( this.isIgnored ) {
4352
+ return;
4353
+ }
4354
+ // default sorters
4355
+ this.sortData.id = this.id;
4356
+ // for backward compatibility
4357
+ this.sortData['original-order'] = this.id;
4358
+ this.sortData.random = Math.random();
4359
+ // go thru getSortData obj and apply the sorters
4360
+ var getSortData = this.layout.options.getSortData;
4361
+ var sorters = this.layout._sorters;
4362
+ for ( var key in getSortData ) {
4363
+ var sorter = sorters[ key ];
4364
+ this.sortData[ key ] = sorter( this.element, this );
4365
+ }
4366
+ };
4367
+
4368
+ var _destroy = proto.destroy;
4369
+ proto.destroy = function() {
4370
+ // call super
4371
+ _destroy.apply( this, arguments );
4372
+ // reset display, #741
4373
+ this.css({
4374
+ display: ''
4375
+ });
4376
+ };
4377
+
4378
+ return Item;
4379
+
4380
+ }));
4381
+
4382
+ /**
4383
+ * Isotope LayoutMode
4384
+ */
4385
+
4386
+ ( function( window, factory ) {
4387
+ // universal module definition
4388
+ /* jshint strict: false */ /*globals define, module, require */
4389
+ if ( typeof define == 'function' && define.amd ) {
4390
+ // AMD
4391
+ define( 'isotope-layout/js/layout-mode',[
4392
+ 'get-size/get-size',
4393
+ 'outlayer/outlayer'
4394
+ ],
4395
+ factory );
4396
+ } else if ( typeof module == 'object' && module.exports ) {
4397
+ // CommonJS
4398
+ module.exports = factory(
4399
+ require('get-size'),
4400
+ require('outlayer')
4401
+ );
4402
+ } else {
4403
+ // browser global
4404
+ window.Isotope = window.Isotope || {};
4405
+ window.Isotope.LayoutMode = factory(
4406
+ window.getSize,
4407
+ window.Outlayer
4408
+ );
4409
+ }
4410
+
4411
+ }( window, function factory( getSize, Outlayer ) {
4412
+ 'use strict';
4413
+
4414
+ // layout mode class
4415
+ function LayoutMode( isotope ) {
4416
+ this.isotope = isotope;
4417
+ // link properties
4418
+ if ( isotope ) {
4419
+ this.options = isotope.options[ this.namespace ];
4420
+ this.element = isotope.element;
4421
+ this.items = isotope.filteredItems;
4422
+ this.size = isotope.size;
4423
+ }
4424
+ }
4425
+
4426
+ var proto = LayoutMode.prototype;
4427
+
4428
+ /**
4429
+ * some methods should just defer to default Outlayer method
4430
+ * and reference the Isotope instance as `this`
4431
+ **/
4432
+ var facadeMethods = [
4433
+ '_resetLayout',
4434
+ '_getItemLayoutPosition',
4435
+ '_manageStamp',
4436
+ '_getContainerSize',
4437
+ '_getElementOffset',
4438
+ 'needsResizeLayout',
4439
+ '_getOption'
4440
+ ];
4441
+
4442
+ facadeMethods.forEach( function( methodName ) {
4443
+ proto[ methodName ] = function() {
4444
+ return Outlayer.prototype[ methodName ].apply( this.isotope, arguments );
4445
+ };
4446
+ });
4447
+
4448
+ // ----- ----- //
4449
+
4450
+ // for horizontal layout modes, check vertical size
4451
+ proto.needsVerticalResizeLayout = function() {
4452
+ // don't trigger if size did not change
4453
+ var size = getSize( this.isotope.element );
4454
+ // check that this.size and size are there
4455
+ // IE8 triggers resize on body size change, so they might not be
4456
+ var hasSizes = this.isotope.size && size;
4457
+ return hasSizes && size.innerHeight != this.isotope.size.innerHeight;
4458
+ };
4459
+
4460
+ // ----- measurements ----- //
4461
+
4462
+ proto._getMeasurement = function() {
4463
+ this.isotope._getMeasurement.apply( this, arguments );
4464
+ };
4465
+
4466
+ proto.getColumnWidth = function() {
4467
+ this.getSegmentSize( 'column', 'Width' );
4468
+ };
4469
+
4470
+ proto.getRowHeight = function() {
4471
+ this.getSegmentSize( 'row', 'Height' );
4472
+ };
4473
+
4474
+ /**
4475
+ * get columnWidth or rowHeight
4476
+ * segment: 'column' or 'row'
4477
+ * size 'Width' or 'Height'
4478
+ **/
4479
+ proto.getSegmentSize = function( segment, size ) {
4480
+ var segmentName = segment + size;
4481
+ var outerSize = 'outer' + size;
4482
+ // columnWidth / outerWidth // rowHeight / outerHeight
4483
+ this._getMeasurement( segmentName, outerSize );
4484
+ // got rowHeight or columnWidth, we can chill
4485
+ if ( this[ segmentName ] ) {
4486
+ return;
4487
+ }
4488
+ // fall back to item of first element
4489
+ var firstItemSize = this.getFirstItemSize();
4490
+ this[ segmentName ] = firstItemSize && firstItemSize[ outerSize ] ||
4491
+ // or size of container
4492
+ this.isotope.size[ 'inner' + size ];
4493
+ };
4494
+
4495
+ proto.getFirstItemSize = function() {
4496
+ var firstItem = this.isotope.filteredItems[0];
4497
+ return firstItem && firstItem.element && getSize( firstItem.element );
4498
+ };
4499
+
4500
+ // ----- methods that should reference isotope ----- //
4501
+
4502
+ proto.layout = function() {
4503
+ this.isotope.layout.apply( this.isotope, arguments );
4504
+ };
4505
+
4506
+ proto.getSize = function() {
4507
+ this.isotope.getSize();
4508
+ this.size = this.isotope.size;
4509
+ };
4510
+
4511
+ // -------------------------- create -------------------------- //
4512
+
4513
+ LayoutMode.modes = {};
4514
+
4515
+ LayoutMode.create = function( namespace, options ) {
4516
+
4517
+ function Mode() {
4518
+ LayoutMode.apply( this, arguments );
4519
+ }
4520
+
4521
+ Mode.prototype = Object.create( proto );
4522
+ Mode.prototype.constructor = Mode;
4523
+
4524
+ // default options
4525
+ if ( options ) {
4526
+ Mode.options = options;
4527
+ }
4528
+
4529
+ Mode.prototype.namespace = namespace;
4530
+ // register in Isotope
4531
+ LayoutMode.modes[ namespace ] = Mode;
4532
+
4533
+ return Mode;
4534
+ };
4535
+
4536
+ return LayoutMode;
4537
+
4538
+ }));
4539
+
4540
+ /*!
4541
+ * Masonry v4.2.1
4542
+ * Cascading grid layout library
4543
+ * https://masonry.desandro.com
4544
+ * MIT License
4545
+ * by David DeSandro
4546
+ */
4547
+
4548
+ ( function( window, factory ) {
4549
+ // universal module definition
4550
+ /* jshint strict: false */ /*globals define, module, require */
4551
+ if ( typeof define == 'function' && define.amd ) {
4552
+ // AMD
4553
+ define( 'masonry-layout/masonry',[
4554
+ 'outlayer/outlayer',
4555
+ 'get-size/get-size'
4556
+ ],
4557
+ factory );
4558
+ } else if ( typeof module == 'object' && module.exports ) {
4559
+ // CommonJS
4560
+ module.exports = factory(
4561
+ require('outlayer'),
4562
+ require('get-size')
4563
+ );
4564
+ } else {
4565
+ // browser global
4566
+ window.Masonry = factory(
4567
+ window.Outlayer,
4568
+ window.getSize
4569
+ );
4570
+ }
4571
+
4572
+ }( window, function factory( Outlayer, getSize ) {
4573
+
4574
+
4575
+
4576
+ // -------------------------- masonryDefinition -------------------------- //
4577
+
4578
+ // create an Outlayer layout class
4579
+ var Masonry = Outlayer.create('masonry');
4580
+ // isFitWidth -> fitWidth
4581
+ Masonry.compatOptions.fitWidth = 'isFitWidth';
4582
+
4583
+ var proto = Masonry.prototype;
4584
+
4585
+ proto._resetLayout = function() {
4586
+ this.getSize();
4587
+ this._getMeasurement( 'columnWidth', 'outerWidth' );
4588
+ this._getMeasurement( 'gutter', 'outerWidth' );
4589
+ this.measureColumns();
4590
+
4591
+ // reset column Y
4592
+ this.colYs = [];
4593
+ for ( var i=0; i < this.cols; i++ ) {
4594
+ this.colYs.push( 0 );
4595
+ }
4596
+
4597
+ this.maxY = 0;
4598
+ this.horizontalColIndex = 0;
4599
+ };
4600
+
4601
+ proto.measureColumns = function() {
4602
+ this.getContainerWidth();
4603
+ // if columnWidth is 0, default to outerWidth of first item
4604
+ if ( !this.columnWidth ) {
4605
+ var firstItem = this.items[0];
4606
+ var firstItemElem = firstItem && firstItem.element;
4607
+ // columnWidth fall back to item of first element
4608
+ this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
4609
+ // if first elem has no width, default to size of container
4610
+ this.containerWidth;
4611
+ }
4612
+
4613
+ var columnWidth = this.columnWidth += this.gutter;
4614
+
4615
+ // calculate columns
4616
+ var containerWidth = this.containerWidth + this.gutter;
4617
+ var cols = containerWidth / columnWidth;
4618
+ // fix rounding errors, typically with gutters
4619
+ var excess = columnWidth - containerWidth % columnWidth;
4620
+ // if overshoot is less than a pixel, round up, otherwise floor it
4621
+ var mathMethod = excess && excess < 1 ? 'round' : 'floor';
4622
+ cols = Math[ mathMethod ]( cols );
4623
+ this.cols = Math.max( cols, 1 );
4624
+ };
4625
+
4626
+ proto.getContainerWidth = function() {
4627
+ // container is parent if fit width
4628
+ var isFitWidth = this._getOption('fitWidth');
4629
+ var container = isFitWidth ? this.element.parentNode : this.element;
4630
+ // check that this.size and size are there
4631
+ // IE8 triggers resize on body size change, so they might not be
4632
+ var size = getSize( container );
4633
+ this.containerWidth = size && size.innerWidth;
4634
+ };
4635
+
4636
+ proto._getItemLayoutPosition = function( item ) {
4637
+ item.getSize();
4638
+ // how many columns does this brick span
4639
+ var remainder = item.size.outerWidth % this.columnWidth;
4640
+ var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
4641
+ // round if off by 1 pixel, otherwise use ceil
4642
+ var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
4643
+ colSpan = Math.min( colSpan, this.cols );
4644
+ // use horizontal or top column position
4645
+ var colPosMethod = this.options.horizontalOrder ?
4646
+ '_getHorizontalColPosition' : '_getTopColPosition';
4647
+ var colPosition = this[ colPosMethod ]( colSpan, item );
4648
+ // position the brick
4649
+ var position = {
4650
+ x: this.columnWidth * colPosition.col,
4651
+ y: colPosition.y
4652
+ };
4653
+ // apply setHeight to necessary columns
4654
+ var setHeight = colPosition.y + item.size.outerHeight;
4655
+ var setMax = colSpan + colPosition.col;
4656
+ for ( var i = colPosition.col; i < setMax; i++ ) {
4657
+ this.colYs[i] = setHeight;
4658
+ }
4659
+
4660
+ return position;
4661
+ };
4662
+
4663
+ proto._getTopColPosition = function( colSpan ) {
4664
+ var colGroup = this._getTopColGroup( colSpan );
4665
+ // get the minimum Y value from the columns
4666
+ var minimumY = Math.min.apply( Math, colGroup );
4667
+
4668
+ return {
4669
+ col: colGroup.indexOf( minimumY ),
4670
+ y: minimumY,
4671
+ };
4672
+ };
4673
+
4674
+ /**
4675
+ * @param {Number} colSpan - number of columns the element spans
4676
+ * @returns {Array} colGroup
4677
+ */
4678
+ proto._getTopColGroup = function( colSpan ) {
4679
+ if ( colSpan < 2 ) {
4680
+ // if brick spans only one column, use all the column Ys
4681
+ return this.colYs;
4682
+ }
4683
+
4684
+ var colGroup = [];
4685
+ // how many different places could this brick fit horizontally
4686
+ var groupCount = this.cols + 1 - colSpan;
4687
+ // for each group potential horizontal position
4688
+ for ( var i = 0; i < groupCount; i++ ) {
4689
+ colGroup[i] = this._getColGroupY( i, colSpan );
4690
+ }
4691
+ return colGroup;
4692
+ };
4693
+
4694
+ proto._getColGroupY = function( col, colSpan ) {
4695
+ if ( colSpan < 2 ) {
4696
+ return this.colYs[ col ];
4697
+ }
4698
+ // make an array of colY values for that one group
4699
+ var groupColYs = this.colYs.slice( col, col + colSpan );
4700
+ // and get the max value of the array
4701
+ return Math.max.apply( Math, groupColYs );
4702
+ };
4703
+
4704
+ // get column position based on horizontal index. #873
4705
+ proto._getHorizontalColPosition = function( colSpan, item ) {
4706
+ var col = this.horizontalColIndex % this.cols;
4707
+ var isOver = colSpan > 1 && col + colSpan > this.cols;
4708
+ // shift to next row if item can't fit on current row
4709
+ col = isOver ? 0 : col;
4710
+ // don't let zero-size items take up space
4711
+ var hasSize = item.size.outerWidth && item.size.outerHeight;
4712
+ this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
4713
+
4714
+ return {
4715
+ col: col,
4716
+ y: this._getColGroupY( col, colSpan ),
4717
+ };
4718
+ };
4719
+
4720
+ proto._manageStamp = function( stamp ) {
4721
+ var stampSize = getSize( stamp );
4722
+ var offset = this._getElementOffset( stamp );
4723
+ // get the columns that this stamp affects
4724
+ var isOriginLeft = this._getOption('originLeft');
4725
+ var firstX = isOriginLeft ? offset.left : offset.right;
4726
+ var lastX = firstX + stampSize.outerWidth;
4727
+ var firstCol = Math.floor( firstX / this.columnWidth );
4728
+ firstCol = Math.max( 0, firstCol );
4729
+ var lastCol = Math.floor( lastX / this.columnWidth );
4730
+ // lastCol should not go over if multiple of columnWidth #425
4731
+ lastCol -= lastX % this.columnWidth ? 0 : 1;
4732
+ lastCol = Math.min( this.cols - 1, lastCol );
4733
+ // set colYs to bottom of the stamp
4734
+
4735
+ var isOriginTop = this._getOption('originTop');
4736
+ var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +
4737
+ stampSize.outerHeight;
4738
+ for ( var i = firstCol; i <= lastCol; i++ ) {
4739
+ this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );
4740
+ }
4741
+ };
4742
+
4743
+ proto._getContainerSize = function() {
4744
+ this.maxY = Math.max.apply( Math, this.colYs );
4745
+ var size = {
4746
+ height: this.maxY
4747
+ };
4748
+
4749
+ if ( this._getOption('fitWidth') ) {
4750
+ size.width = this._getContainerFitWidth();
4751
+ }
4752
+
4753
+ return size;
4754
+ };
4755
+
4756
+ proto._getContainerFitWidth = function() {
4757
+ var unusedCols = 0;
4758
+ // count unused columns
4759
+ var i = this.cols;
4760
+ while ( --i ) {
4761
+ if ( this.colYs[i] !== 0 ) {
4762
+ break;
4763
+ }
4764
+ unusedCols++;
4765
+ }
4766
+ // fit container to columns that have been used
4767
+ return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
4768
+ };
4769
+
4770
+ proto.needsResizeLayout = function() {
4771
+ var previousWidth = this.containerWidth;
4772
+ this.getContainerWidth();
4773
+ return previousWidth != this.containerWidth;
4774
+ };
4775
+
4776
+ return Masonry;
4777
+
4778
+ }));
4779
+
4780
+ /*!
4781
+ * Masonry layout mode
4782
+ * sub-classes Masonry
4783
+ * https://masonry.desandro.com
4784
+ */
4785
+
4786
+ ( function( window, factory ) {
4787
+ // universal module definition
4788
+ /* jshint strict: false */ /*globals define, module, require */
4789
+ if ( typeof define == 'function' && define.amd ) {
4790
+ // AMD
4791
+ define( 'isotope-layout/js/layout-modes/masonry',[
4792
+ '../layout-mode',
4793
+ 'masonry-layout/masonry'
4794
+ ],
4795
+ factory );
4796
+ } else if ( typeof module == 'object' && module.exports ) {
4797
+ // CommonJS
4798
+ module.exports = factory(
4799
+ require('../layout-mode'),
4800
+ require('masonry-layout')
4801
+ );
4802
+ } else {
4803
+ // browser global
4804
+ factory(
4805
+ window.Isotope.LayoutMode,
4806
+ window.Masonry
4807
+ );
4808
+ }
4809
+
4810
+ }( window, function factory( LayoutMode, Masonry ) {
4811
+ 'use strict';
4812
+
4813
+ // -------------------------- masonryDefinition -------------------------- //
4814
+
4815
+ // create an Outlayer layout class
4816
+ var MasonryMode = LayoutMode.create('masonry');
4817
+
4818
+ var proto = MasonryMode.prototype;
4819
+
4820
+ var keepModeMethods = {
4821
+ _getElementOffset: true,
4822
+ layout: true,
4823
+ _getMeasurement: true
4824
+ };
4825
+
4826
+ // inherit Masonry prototype
4827
+ for ( var method in Masonry.prototype ) {
4828
+ // do not inherit mode methods
4829
+ if ( !keepModeMethods[ method ] ) {
4830
+ proto[ method ] = Masonry.prototype[ method ];
4831
+ }
4832
+ }
4833
+
4834
+ var measureColumns = proto.measureColumns;
4835
+ proto.measureColumns = function() {
4836
+ // set items, used if measuring first item
4837
+ this.items = this.isotope.filteredItems;
4838
+ measureColumns.call( this );
4839
+ };
4840
+
4841
+ // point to mode options for fitWidth
4842
+ var _getOption = proto._getOption;
4843
+ proto._getOption = function( option ) {
4844
+ if ( option == 'fitWidth' ) {
4845
+ return this.options.isFitWidth !== undefined ?
4846
+ this.options.isFitWidth : this.options.fitWidth;
4847
+ }
4848
+ return _getOption.apply( this.isotope, arguments );
4849
+ };
4850
+
4851
+ return MasonryMode;
4852
+
4853
+ }));
4854
+
4855
+ /**
4856
+ * fitRows layout mode
4857
+ */
4858
+
4859
+ ( function( window, factory ) {
4860
+ // universal module definition
4861
+ /* jshint strict: false */ /*globals define, module, require */
4862
+ if ( typeof define == 'function' && define.amd ) {
4863
+ // AMD
4864
+ define( 'isotope-layout/js/layout-modes/fit-rows',[
4865
+ '../layout-mode'
4866
+ ],
4867
+ factory );
4868
+ } else if ( typeof exports == 'object' ) {
4869
+ // CommonJS
4870
+ module.exports = factory(
4871
+ require('../layout-mode')
4872
+ );
4873
+ } else {
4874
+ // browser global
4875
+ factory(
4876
+ window.Isotope.LayoutMode
4877
+ );
4878
+ }
4879
+
4880
+ }( window, function factory( LayoutMode ) {
4881
+ 'use strict';
4882
+
4883
+ var FitRows = LayoutMode.create('fitRows');
4884
+
4885
+ var proto = FitRows.prototype;
4886
+
4887
+ proto._resetLayout = function() {
4888
+ this.x = 0;
4889
+ this.y = 0;
4890
+ this.maxY = 0;
4891
+ this._getMeasurement( 'gutter', 'outerWidth' );
4892
+ };
4893
+
4894
+ proto._getItemLayoutPosition = function( item ) {
4895
+ item.getSize();
4896
+
4897
+ var itemWidth = item.size.outerWidth + this.gutter;
4898
+ // if this element cannot fit in the current row
4899
+ var containerWidth = this.isotope.size.innerWidth + this.gutter;
4900
+ if ( this.x !== 0 && itemWidth + this.x > containerWidth ) {
4901
+ this.x = 0;
4902
+ this.y = this.maxY;
4903
+ }
4904
+
4905
+ var position = {
4906
+ x: this.x,
4907
+ y: this.y
4908
+ };
4909
+
4910
+ this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
4911
+ this.x += itemWidth;
4912
+
4913
+ return position;
4914
+ };
4915
+
4916
+ proto._getContainerSize = function() {
4917
+ return { height: this.maxY };
4918
+ };
4919
+
4920
+ return FitRows;
4921
+
4922
+ }));
4923
+
4924
+ /**
4925
+ * vertical layout mode
4926
+ */
4927
+
4928
+ ( function( window, factory ) {
4929
+ // universal module definition
4930
+ /* jshint strict: false */ /*globals define, module, require */
4931
+ if ( typeof define == 'function' && define.amd ) {
4932
+ // AMD
4933
+ define( 'isotope-layout/js/layout-modes/vertical',[
4934
+ '../layout-mode'
4935
+ ],
4936
+ factory );
4937
+ } else if ( typeof module == 'object' && module.exports ) {
4938
+ // CommonJS
4939
+ module.exports = factory(
4940
+ require('../layout-mode')
4941
+ );
4942
+ } else {
4943
+ // browser global
4944
+ factory(
4945
+ window.Isotope.LayoutMode
4946
+ );
4947
+ }
4948
+
4949
+ }( window, function factory( LayoutMode ) {
4950
+ 'use strict';
4951
+
4952
+ var Vertical = LayoutMode.create( 'vertical', {
4953
+ horizontalAlignment: 0
4954
+ });
4955
+
4956
+ var proto = Vertical.prototype;
4957
+
4958
+ proto._resetLayout = function() {
4959
+ this.y = 0;
4960
+ };
4961
+
4962
+ proto._getItemLayoutPosition = function( item ) {
4963
+ item.getSize();
4964
+ var x = ( this.isotope.size.innerWidth - item.size.outerWidth ) *
4965
+ this.options.horizontalAlignment;
4966
+ var y = this.y;
4967
+ this.y += item.size.outerHeight;
4968
+ return { x: x, y: y };
4969
+ };
4970
+
4971
+ proto._getContainerSize = function() {
4972
+ return { height: this.y };
4973
+ };
4974
+
4975
+ return Vertical;
4976
+
4977
+ }));
4978
+
4979
+ /*!
4980
+ * Isotope v3.0.6
4981
+ *
4982
+ * Licensed GPLv3 for open source use
4983
+ * or Isotope Commercial License for commercial use
4984
+ *
4985
+ * https://isotope.metafizzy.co
4986
+ * Copyright 2010-2018 Metafizzy
4987
+ */
4988
+
4989
+ ( function( window, factory ) {
4990
+ // universal module definition
4991
+ /* jshint strict: false */ /*globals define, module, require */
4992
+ if ( typeof define == 'function' && define.amd ) {
4993
+ // AMD
4994
+ define( [
4995
+ 'outlayer/outlayer',
4996
+ 'get-size/get-size',
4997
+ 'desandro-matches-selector/matches-selector',
4998
+ 'fizzy-ui-utils/utils',
4999
+ 'isotope-layout/js/item',
5000
+ 'isotope-layout/js/layout-mode',
5001
+ // include default layout modes
5002
+ 'isotope-layout/js/layout-modes/masonry',
5003
+ 'isotope-layout/js/layout-modes/fit-rows',
5004
+ 'isotope-layout/js/layout-modes/vertical'
5005
+ ],
5006
+ function( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) {
5007
+ return factory( window, Outlayer, getSize, matchesSelector, utils, Item, LayoutMode );
5008
+ });
5009
+ } else if ( typeof module == 'object' && module.exports ) {
5010
+ // CommonJS
5011
+ module.exports = factory(
5012
+ window,
5013
+ require('outlayer'),
5014
+ require('get-size'),
5015
+ require('desandro-matches-selector'),
5016
+ require('fizzy-ui-utils'),
5017
+ require('isotope-layout/js/item'),
5018
+ require('isotope-layout/js/layout-mode'),
5019
+ // include default layout modes
5020
+ require('isotope-layout/js/layout-modes/masonry'),
5021
+ require('isotope-layout/js/layout-modes/fit-rows'),
5022
+ require('isotope-layout/js/layout-modes/vertical')
5023
+ );
5024
+ } else {
5025
+ // browser global
5026
+ window.Isotope = factory(
5027
+ window,
5028
+ window.Outlayer,
5029
+ window.getSize,
5030
+ window.matchesSelector,
5031
+ window.fizzyUIUtils,
5032
+ window.Isotope.Item,
5033
+ window.Isotope.LayoutMode
5034
+ );
5035
+ }
5036
+
5037
+ }( window, function factory( window, Outlayer, getSize, matchesSelector, utils,
5038
+ Item, LayoutMode ) {
5039
+
5040
+
5041
+
5042
+ // -------------------------- vars -------------------------- //
5043
+
5044
+ var jQuery = window.jQuery;
5045
+
5046
+ // -------------------------- helpers -------------------------- //
5047
+
5048
+ var trim = String.prototype.trim ?
5049
+ function( str ) {
5050
+ return str.trim();
5051
+ } :
5052
+ function( str ) {
5053
+ return str.replace( /^\s+|\s+$/g, '' );
5054
+ };
5055
+
5056
+ // -------------------------- isotopeDefinition -------------------------- //
5057
+
5058
+ // create an Outlayer layout class
5059
+ var Isotope = Outlayer.create( 'isotope', {
5060
+ layoutMode: 'masonry',
5061
+ isJQueryFiltering: true,
5062
+ sortAscending: true
5063
+ });
5064
+
5065
+ Isotope.Item = Item;
5066
+ Isotope.LayoutMode = LayoutMode;
5067
+
5068
+ var proto = Isotope.prototype;
5069
+
5070
+ proto._create = function() {
5071
+ this.itemGUID = 0;
5072
+ // functions that sort items
5073
+ this._sorters = {};
5074
+ this._getSorters();
5075
+ // call super
5076
+ Outlayer.prototype._create.call( this );
5077
+
5078
+ // create layout modes
5079
+ this.modes = {};
5080
+ // start filteredItems with all items
5081
+ this.filteredItems = this.items;
5082
+ // keep of track of sortBys
5083
+ this.sortHistory = [ 'original-order' ];
5084
+ // create from registered layout modes
5085
+ for ( var name in LayoutMode.modes ) {
5086
+ this._initLayoutMode( name );
5087
+ }
5088
+ };
5089
+
5090
+ proto.reloadItems = function() {
5091
+ // reset item ID counter
5092
+ this.itemGUID = 0;
5093
+ // call super
5094
+ Outlayer.prototype.reloadItems.call( this );
5095
+ };
5096
+
5097
+ proto._itemize = function() {
5098
+ var items = Outlayer.prototype._itemize.apply( this, arguments );
5099
+ // assign ID for original-order
5100
+ for ( var i=0; i < items.length; i++ ) {
5101
+ var item = items[i];
5102
+ item.id = this.itemGUID++;
5103
+ }
5104
+ this._updateItemsSortData( items );
5105
+ return items;
5106
+ };
5107
+
5108
+
5109
+ // -------------------------- layout -------------------------- //
5110
+
5111
+ proto._initLayoutMode = function( name ) {
5112
+ var Mode = LayoutMode.modes[ name ];
5113
+ // set mode options
5114
+ // HACK extend initial options, back-fill in default options
5115
+ var initialOpts = this.options[ name ] || {};
5116
+ this.options[ name ] = Mode.options ?
5117
+ utils.extend( Mode.options, initialOpts ) : initialOpts;
5118
+ // init layout mode instance
5119
+ this.modes[ name ] = new Mode( this );
5120
+ };
5121
+
5122
+
5123
+ proto.layout = function() {
5124
+ // if first time doing layout, do all magic
5125
+ if ( !this._isLayoutInited && this._getOption('initLayout') ) {
5126
+ this.arrange();
5127
+ return;
5128
+ }
5129
+ this._layout();
5130
+ };
5131
+
5132
+ // private method to be used in layout() & magic()
5133
+ proto._layout = function() {
5134
+ // don't animate first layout
5135
+ var isInstant = this._getIsInstant();
5136
+ // layout flow
5137
+ this._resetLayout();
5138
+ this._manageStamps();
5139
+ this.layoutItems( this.filteredItems, isInstant );
5140
+
5141
+ // flag for initalized
5142
+ this._isLayoutInited = true;
5143
+ };
5144
+
5145
+ // filter + sort + layout
5146
+ proto.arrange = function( opts ) {
5147
+ // set any options pass
5148
+ this.option( opts );
5149
+ this._getIsInstant();
5150
+ // filter, sort, and layout
5151
+
5152
+ // filter
5153
+ var filtered = this._filter( this.items );
5154
+ this.filteredItems = filtered.matches;
5155
+
5156
+ this._bindArrangeComplete();
5157
+
5158
+ if ( this._isInstant ) {
5159
+ this._noTransition( this._hideReveal, [ filtered ] );
5160
+ } else {
5161
+ this._hideReveal( filtered );
5162
+ }
5163
+
5164
+ this._sort();
5165
+ this._layout();
5166
+ };
5167
+ // alias to _init for main plugin method
5168
+ proto._init = proto.arrange;
5169
+
5170
+ proto._hideReveal = function( filtered ) {
5171
+ this.reveal( filtered.needReveal );
5172
+ this.hide( filtered.needHide );
5173
+ };
5174
+
5175
+ // HACK
5176
+ // Don't animate/transition first layout
5177
+ // Or don't animate/transition other layouts
5178
+ proto._getIsInstant = function() {
5179
+ var isLayoutInstant = this._getOption('layoutInstant');
5180
+ var isInstant = isLayoutInstant !== undefined ? isLayoutInstant :
5181
+ !this._isLayoutInited;
5182
+ this._isInstant = isInstant;
5183
+ return isInstant;
5184
+ };
5185
+
5186
+ // listen for layoutComplete, hideComplete and revealComplete
5187
+ // to trigger arrangeComplete
5188
+ proto._bindArrangeComplete = function() {
5189
+ // listen for 3 events to trigger arrangeComplete
5190
+ var isLayoutComplete, isHideComplete, isRevealComplete;
5191
+ var _this = this;
5192
+ function arrangeParallelCallback() {
5193
+ if ( isLayoutComplete && isHideComplete && isRevealComplete ) {
5194
+ _this.dispatchEvent( 'arrangeComplete', null, [ _this.filteredItems ] );
5195
+ }
5196
+ }
5197
+ this.once( 'layoutComplete', function() {
5198
+ isLayoutComplete = true;
5199
+ arrangeParallelCallback();
5200
+ });
5201
+ this.once( 'hideComplete', function() {
5202
+ isHideComplete = true;
5203
+ arrangeParallelCallback();
5204
+ });
5205
+ this.once( 'revealComplete', function() {
5206
+ isRevealComplete = true;
5207
+ arrangeParallelCallback();
5208
+ });
5209
+ };
5210
+
5211
+ // -------------------------- filter -------------------------- //
5212
+
5213
+ proto._filter = function( items ) {
5214
+ var filter = this.options.filter;
5215
+ filter = filter || '*';
5216
+ var matches = [];
5217
+ var hiddenMatched = [];
5218
+ var visibleUnmatched = [];
5219
+
5220
+ var test = this._getFilterTest( filter );
5221
+
5222
+ // test each item
5223
+ for ( var i=0; i < items.length; i++ ) {
5224
+ var item = items[i];
5225
+ if ( item.isIgnored ) {
5226
+ continue;
5227
+ }
5228
+ // add item to either matched or unmatched group
5229
+ var isMatched = test( item );
5230
+ // item.isFilterMatched = isMatched;
5231
+ // add to matches if its a match
5232
+ if ( isMatched ) {
5233
+ matches.push( item );
5234
+ }
5235
+ // add to additional group if item needs to be hidden or revealed
5236
+ if ( isMatched && item.isHidden ) {
5237
+ hiddenMatched.push( item );
5238
+ } else if ( !isMatched && !item.isHidden ) {
5239
+ visibleUnmatched.push( item );
5240
+ }
5241
+ }
5242
+
5243
+ // return collections of items to be manipulated
5244
+ return {
5245
+ matches: matches,
5246
+ needReveal: hiddenMatched,
5247
+ needHide: visibleUnmatched
5248
+ };
5249
+ };
5250
+
5251
+ // get a jQuery, function, or a matchesSelector test given the filter
5252
+ proto._getFilterTest = function( filter ) {
5253
+ if ( jQuery && this.options.isJQueryFiltering ) {
5254
+ // use jQuery
5255
+ return function( item ) {
5256
+ return jQuery( item.element ).is( filter );
5257
+ };
5258
+ }
5259
+ if ( typeof filter == 'function' ) {
5260
+ // use filter as function
5261
+ return function( item ) {
5262
+ return filter( item.element );
5263
+ };
5264
+ }
5265
+ // default, use filter as selector string
5266
+ return function( item ) {
5267
+ return matchesSelector( item.element, filter );
5268
+ };
5269
+ };
5270
+
5271
+ // -------------------------- sorting -------------------------- //
5272
+
5273
+ /**
5274
+ * @params {Array} elems
5275
+ * @public
5276
+ */
5277
+ proto.updateSortData = function( elems ) {
5278
+ // get items
5279
+ var items;
5280
+ if ( elems ) {
5281
+ elems = utils.makeArray( elems );
5282
+ items = this.getItems( elems );
5283
+ } else {
5284
+ // update all items if no elems provided
5285
+ items = this.items;
5286
+ }
5287
+
5288
+ this._getSorters();
5289
+ this._updateItemsSortData( items );
5290
+ };
5291
+
5292
+ proto._getSorters = function() {
5293
+ var getSortData = this.options.getSortData;
5294
+ for ( var key in getSortData ) {
5295
+ var sorter = getSortData[ key ];
5296
+ this._sorters[ key ] = mungeSorter( sorter );
5297
+ }
5298
+ };
5299
+
5300
+ /**
5301
+ * @params {Array} items - of Isotope.Items
5302
+ * @private
5303
+ */
5304
+ proto._updateItemsSortData = function( items ) {
5305
+ // do not update if no items
5306
+ var len = items && items.length;
5307
+
5308
+ for ( var i=0; len && i < len; i++ ) {
5309
+ var item = items[i];
5310
+ item.updateSortData();
5311
+ }
5312
+ };
5313
+
5314
+ // ----- munge sorter ----- //
5315
+
5316
+ // encapsulate this, as we just need mungeSorter
5317
+ // other functions in here are just for munging
5318
+ var mungeSorter = ( function() {
5319
+ // add a magic layer to sorters for convienent shorthands
5320
+ // `.foo-bar` will use the text of .foo-bar querySelector
5321
+ // `[foo-bar]` will use attribute
5322
+ // you can also add parser
5323
+ // `.foo-bar parseInt` will parse that as a number
5324
+ function mungeSorter( sorter ) {
5325
+ // if not a string, return function or whatever it is
5326
+ if ( typeof sorter != 'string' ) {
5327
+ return sorter;
5328
+ }
5329
+ // parse the sorter string
5330
+ var args = trim( sorter ).split(' ');
5331
+ var query = args[0];
5332
+ // check if query looks like [an-attribute]
5333
+ var attrMatch = query.match( /^\[(.+)\]$/ );
5334
+ var attr = attrMatch && attrMatch[1];
5335
+ var getValue = getValueGetter( attr, query );
5336
+ // use second argument as a parser
5337
+ var parser = Isotope.sortDataParsers[ args[1] ];
5338
+ // parse the value, if there was a parser
5339
+ sorter = parser ? function( elem ) {
5340
+ return elem && parser( getValue( elem ) );
5341
+ } :
5342
+ // otherwise just return value
5343
+ function( elem ) {
5344
+ return elem && getValue( elem );
5345
+ };
5346
+
5347
+ return sorter;
5348
+ }
5349
+
5350
+ // get an attribute getter, or get text of the querySelector
5351
+ function getValueGetter( attr, query ) {
5352
+ // if query looks like [foo-bar], get attribute
5353
+ if ( attr ) {
5354
+ return function getAttribute( elem ) {
5355
+ return elem.getAttribute( attr );
5356
+ };
5357
+ }
5358
+
5359
+ // otherwise, assume its a querySelector, and get its text
5360
+ return function getChildText( elem ) {
5361
+ var child = elem.querySelector( query );
5362
+ return child && child.textContent;
5363
+ };
5364
+ }
5365
+
5366
+ return mungeSorter;
5367
+ })();
5368
+
5369
+ // parsers used in getSortData shortcut strings
5370
+ Isotope.sortDataParsers = {
5371
+ 'parseInt': function( val ) {
5372
+ return parseInt( val, 10 );
5373
+ },
5374
+ 'parseFloat': function( val ) {
5375
+ return parseFloat( val );
5376
+ }
5377
+ };
5378
+
5379
+ // ----- sort method ----- //
5380
+
5381
+ // sort filteredItem order
5382
+ proto._sort = function() {
5383
+ if ( !this.options.sortBy ) {
5384
+ return;
5385
+ }
5386
+ // keep track of sortBy History
5387
+ var sortBys = utils.makeArray( this.options.sortBy );
5388
+ if ( !this._getIsSameSortBy( sortBys ) ) {
5389
+ // concat all sortBy and sortHistory, add to front, oldest goes in last
5390
+ this.sortHistory = sortBys.concat( this.sortHistory );
5391
+ }
5392
+ // sort magic
5393
+ var itemSorter = getItemSorter( this.sortHistory, this.options.sortAscending );
5394
+ this.filteredItems.sort( itemSorter );
5395
+ };
5396
+
5397
+ // check if sortBys is same as start of sortHistory
5398
+ proto._getIsSameSortBy = function( sortBys ) {
5399
+ for ( var i=0; i < sortBys.length; i++ ) {
5400
+ if ( sortBys[i] != this.sortHistory[i] ) {
5401
+ return false;
5402
+ }
5403
+ }
5404
+ return true;
5405
+ };
5406
+
5407
+ // returns a function used for sorting
5408
+ function getItemSorter( sortBys, sortAsc ) {
5409
+ return function sorter( itemA, itemB ) {
5410
+ // cycle through all sortKeys
5411
+ for ( var i = 0; i < sortBys.length; i++ ) {
5412
+ var sortBy = sortBys[i];
5413
+ var a = itemA.sortData[ sortBy ];
5414
+ var b = itemB.sortData[ sortBy ];
5415
+ if ( a > b || a < b ) {
5416
+ // if sortAsc is an object, use the value given the sortBy key
5417
+ var isAscending = sortAsc[ sortBy ] !== undefined ? sortAsc[ sortBy ] : sortAsc;
5418
+ var direction = isAscending ? 1 : -1;
5419
+ return ( a > b ? 1 : -1 ) * direction;
5420
+ }
5421
+ }
5422
+ return 0;
5423
+ };
5424
+ }
5425
 
5426
+ // -------------------------- methods -------------------------- //
 
 
5427
 
5428
+ // get layout mode
5429
+ proto._mode = function() {
5430
+ var layoutMode = this.options.layoutMode;
5431
+ var mode = this.modes[ layoutMode ];
5432
+ if ( !mode ) {
5433
+ // TODO console.error
5434
+ throw new Error( 'No layout mode: ' + layoutMode );
5435
+ }
5436
+ // HACK sync mode's options
5437
+ // any options set after init for layout mode need to be synced
5438
+ mode.options = this.options[ layoutMode ];
5439
+ return mode;
5440
+ };
5441
+
5442
+ proto._resetLayout = function() {
5443
+ // trigger original reset layout
5444
+ Outlayer.prototype._resetLayout.call( this );
5445
+ this._mode()._resetLayout();
5446
+ };
5447
+
5448
+ proto._getItemLayoutPosition = function( item ) {
5449
+ return this._mode()._getItemLayoutPosition( item );
5450
+ };
5451
+
5452
+ proto._manageStamp = function( stamp ) {
5453
+ this._mode()._manageStamp( stamp );
5454
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5455
 
5456
+ proto._getContainerSize = function() {
5457
+ return this._mode()._getContainerSize();
5458
+ };
5459
 
5460
+ proto.needsResizeLayout = function() {
5461
+ return this._mode().needsResizeLayout();
5462
+ };
5463
+
5464
+ // -------------------------- adding & removing -------------------------- //
5465
+
5466
+ // HEADS UP overwrites default Outlayer appended
5467
+ proto.appended = function( elems ) {
5468
+ var items = this.addItems( elems );
5469
+ if ( !items.length ) {
5470
+ return;
5471
+ }
5472
+ // filter, layout, reveal new items
5473
+ var filteredItems = this._filterRevealAdded( items );
5474
+ // add to filteredItems
5475
+ this.filteredItems = this.filteredItems.concat( filteredItems );
5476
+ };
5477
+
5478
+ // HEADS UP overwrites default Outlayer prepended
5479
+ proto.prepended = function( elems ) {
5480
+ var items = this._itemize( elems );
5481
+ if ( !items.length ) {
5482
+ return;
5483
+ }
5484
+ // start new layout
5485
+ this._resetLayout();
5486
+ this._manageStamps();
5487
+ // filter, layout, reveal new items
5488
+ var filteredItems = this._filterRevealAdded( items );
5489
+ // layout previous items
5490
+ this.layoutItems( this.filteredItems );
5491
+ // add to items and filteredItems
5492
+ this.filteredItems = filteredItems.concat( this.filteredItems );
5493
+ this.items = items.concat( this.items );
5494
+ };
5495
+
5496
+ proto._filterRevealAdded = function( items ) {
5497
+ var filtered = this._filter( items );
5498
+ this.hide( filtered.needHide );
5499
+ // reveal all new items
5500
+ this.reveal( filtered.matches );
5501
+ // layout new items, no transition
5502
+ this.layoutItems( filtered.matches, true );
5503
+ return filtered.matches;
5504
+ };
5505
+
5506
+ /**
5507
+ * Filter, sort, and layout newly-appended item elements
5508
+ * @param {Array or NodeList or Element} elems
5509
+ */
5510
+ proto.insert = function( elems ) {
5511
+ var items = this.addItems( elems );
5512
+ if ( !items.length ) {
5513
+ return;
5514
+ }
5515
+ // append item elements
5516
+ var i, item;
5517
+ var len = items.length;
5518
+ for ( i=0; i < len; i++ ) {
5519
+ item = items[i];
5520
+ this.element.appendChild( item.element );
5521
+ }
5522
+ // filter new stuff
5523
+ var filteredInsertItems = this._filter( items ).matches;
5524
+ // set flag
5525
+ for ( i=0; i < len; i++ ) {
5526
+ items[i].isLayoutInstant = true;
5527
+ }
5528
+ this.arrange();
5529
+ // reset flag
5530
+ for ( i=0; i < len; i++ ) {
5531
+ delete items[i].isLayoutInstant;
5532
+ }
5533
+ this.reveal( filteredInsertItems );
5534
+ };
5535
+
5536
+ var _remove = proto.remove;
5537
+ proto.remove = function( elems ) {
5538
+ elems = utils.makeArray( elems );
5539
+ var removeItems = this.getItems( elems );
5540
+ // do regular thing
5541
+ _remove.call( this, elems );
5542
+ // bail if no items to remove
5543
+ var len = removeItems && removeItems.length;
5544
+ // remove elems from filteredItems
5545
+ for ( var i=0; len && i < len; i++ ) {
5546
+ var item = removeItems[i];
5547
+ // remove item from collection
5548
+ utils.removeFrom( this.filteredItems, item );
5549
+ }
5550
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5551
 
5552
+ proto.shuffle = function() {
5553
+ // update random sortData
5554
+ for ( var i=0; i < this.items.length; i++ ) {
5555
+ var item = this.items[i];
5556
+ item.sortData.random = Math.random();
5557
+ }
5558
+ this.options.sortBy = 'random';
5559
+ this._sort();
5560
+ this._layout();
5561
+ };
5562
+
5563
+ /**
5564
+ * trigger fn without transition
5565
+ * kind of hacky to have this in the first place
5566
+ * @param {Function} fn
5567
+ * @param {Array} args
5568
+ * @returns ret
5569
+ * @private
5570
+ */
5571
+ proto._noTransition = function( fn, args ) {
5572
+ // save transitionDuration before disabling
5573
+ var transitionDuration = this.options.transitionDuration;
5574
+ // disable transition
5575
+ this.options.transitionDuration = 0;
5576
+ // do it
5577
+ var returnValue = fn.apply( this, args );
5578
+ // re-enable transition for reveal
5579
+ this.options.transitionDuration = transitionDuration;
5580
+ return returnValue;
5581
+ };
5582
+
5583
+ // ----- helper methods ----- //
5584
+
5585
+ /**
5586
+ * getter method for getting filtered item elements
5587
+ * @returns {Array} elems - collection of item elements
5588
+ */
5589
+ proto.getFilteredItemElements = function() {
5590
+ return this.filteredItems.map( function( item ) {
5591
+ return item.element;
5592
+ });
5593
+ };
5594
+
5595
+ // ----- ----- //
5596
+
5597
+ return Isotope;
5598
+
5599
+ }));
5600
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5601
 
 
 
 
 
5602
  /*! Magnific Popup - v1.1.0 - 2016-02-20
5603
  * http://dimsemenov.com/plugins/magnific-popup/
5604
  * Copyright (c) 2016 Dmitry Semenov; */
11979
  );
11980
  });
11981
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11982
  var ContentTicker = function($scope, $) {
11983
  var $contentTicker = $scope.find(".eael-content-ticker").eq(0),
11984
  $items =
12074
  spaceBetween: $margin_tablet
12075
  }
12076
  }
12077
+ };
12078
+
12079
+ var $contentTickerSlider = new Swiper(
12080
+ $contentTicker,
12081
+ $contentTickerOptions
12082
+ );
12083
+ if ($autoplay === 0) {
12084
+ $contentTickerSlider.autoplay.stop();
12085
+ }
12086
+ if ($pause_on_hover && $autoplay !== 0) {
12087
+ $contentTicker.on("mouseenter", function() {
12088
+ $contentTickerSlider.autoplay.stop();
12089
+ });
12090
+ $contentTicker.on("mouseleave", function() {
12091
+ $contentTickerSlider.autoplay.start();
12092
+ });
12093
+ }
12094
+ };
12095
+ jQuery(window).on("elementor/frontend/init", function() {
12096
+ elementorFrontend.hooks.addAction(
12097
+ "frontend/element_ready/eael-content-ticker.default",
12098
+ ContentTicker
12099
+ );
12100
+ });
12101
+ var CountDown = function($scope, $) {
12102
+ var $coundDown = $scope.find(".eael-countdown-wrapper").eq(0),
12103
+ $countdown_id =
12104
+ $coundDown.data("countdown-id") !== undefined
12105
+ ? $coundDown.data("countdown-id")
12106
+ : "",
12107
+ $expire_type =
12108
+ $coundDown.data("expire-type") !== undefined
12109
+ ? $coundDown.data("expire-type")
12110
+ : "",
12111
+ $expiry_text =
12112
+ $coundDown.data("expiry-text") !== undefined
12113
+ ? $coundDown.data("expiry-text")
12114
+ : "",
12115
+ $expiry_title =
12116
+ $coundDown.data("expiry-title") !== undefined
12117
+ ? $coundDown.data("expiry-title")
12118
+ : "",
12119
+ $redirect_url =
12120
+ $coundDown.data("redirect-url") !== undefined
12121
+ ? $coundDown.data("redirect-url")
12122
+ : "",
12123
+ $template =
12124
+ $coundDown.data("template") !== undefined
12125
+ ? $coundDown.data("template")
12126
+ : "";
12127
+
12128
+ jQuery(document).ready(function($) {
12129
+ "use strict";
12130
+ var countDown = $("#eael-countdown-" + $countdown_id);
12131
+
12132
+ countDown.countdown({
12133
+ end: function() {
12134
+ if ($expire_type == "text") {
12135
+ countDown.html(
12136
+ '<div class="eael-countdown-finish-message"><h4 class="expiry-title">' +
12137
+ $expiry_title +
12138
+ "</h4>" +
12139
+ '<div class="eael-countdown-finish-text">' +
12140
+ $expiry_text +
12141
+ "</div></div>"
12142
+ );
12143
+ } else if ($expire_type === "url") {
12144
+ var editMode = $("body").find("#elementor").length;
12145
+ if (editMode > 0) {
12146
+ countDown.html(
12147
+ "Your Page will be redirected to given URL (only on Frontend)."
12148
+ );
12149
+ } else {
12150
+ window.location.href = $redirect_url;
12151
+ }
12152
+ } else if ($expire_type === "template") {
12153
+ countDown.html($template);
12154
+ } else {
12155
+ //do nothing!
12156
+ }
12157
+ }
12158
  });
12159
+ });
 
 
 
12160
  };
12161
  jQuery(window).on("elementor/frontend/init", function() {
12162
  elementorFrontend.hooks.addAction(
12163
+ "frontend/element_ready/eael-countdown.default",
12164
+ CountDown
12165
  );
12166
  });
12167
+
12168
  var dataTable = function($scope, $) {
12169
  var $_this = $scope.find(".eael-data-table-wrap"),
12170
  $id = $_this.data("table_id");
12201
  dataTable
12202
  );
12203
  });
12204
+ var FacebookFeed = function($scope, $) {
12205
+ if (!isEditMode) {
12206
+ $facebook_gallery = $(".eael-facebook-feed", $scope).isotope({
12207
+ itemSelector: ".eael-facebook-feed-item",
12208
+ percentPosition: true,
12209
+ columnWidth: ".eael-facebook-feed-item"
12210
+ });
12211
+
12212
+ $facebook_gallery.imagesLoaded().progress(function() {
12213
+ $facebook_gallery.isotope("layout");
12214
+ });
12215
+ }
12216
+
12217
+ // ajax load more
12218
+ $(".eael-load-more-button", $scope).on("click", function(e) {
12219
+ e.preventDefault();
12220
+
12221
+ $this = $(this);
12222
+ $settings = $this.attr("data-settings");
12223
+ $page = $this.attr("data-page");
12224
+
12225
+ // update load moer button
12226
+ $this.addClass("button--loading");
12227
+ $("span", $this).html("Loading...");
12228
+
12229
+ $.ajax({
12230
+ url: localize.ajaxurl,
12231
+ type: "post",
12232
+ data: {
12233
+ action: "facebook_feed_load_more",
12234
+ security: localize.nonce,
12235
+ settings: $settings,
12236
+ page: $page
12237
+ },
12238
+ success: function(response) {
12239
+ $html = $(response.html);
12240
+
12241
+ // append items
12242
+ $facebook_gallery = $(".eael-facebook-feed", $scope).isotope();
12243
+ $(".eael-facebook-feed", $scope).append($html);
12244
+ $facebook_gallery.isotope("appended", $html);
12245
+ $facebook_gallery.imagesLoaded().progress(function() {
12246
+ $facebook_gallery.isotope("layout");
12247
+ });
12248
+
12249
+ // update load more button
12250
+ if (response.num_pages > $page) {
12251
+ $this.attr("data-page", parseInt($page) + 1);
12252
+ $this.removeClass("button--loading");
12253
+ $("span", $this).html("Load more");
12254
+ } else {
12255
+ $this.remove();
12256
+ }
12257
+ },
12258
+ error: function() {}
12259
+ });
12260
+ });
12261
+ };
12262
+
12263
+ jQuery(window).on("elementor/frontend/init", function() {
12264
+ elementorFrontend.hooks.addAction(
12265
+ "frontend/element_ready/eael-facebook-feed.default",
12266
+ FacebookFeed
12267
+ );
12268
+ });
12269
+
12270
  var FancyText = function($scope, $) {
12271
  var $fancyText = $scope.find(".eael-fancy-text-container").eq(0),
12272
  $id =
12335
  );
12336
  });
12337
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12338
  var filterableGalleryHandler = function($scope, $) {
12339
 
12340
  var filterControls = $scope.find('.fg-layout-3-filter-controls').eq(0),
12652
  );
12653
  });
12654
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12655
  jQuery(document).ready(function() {
12656
  // scroll func
12657
  jQuery(window).scroll(function() {
12729
  );
12730
  }
12731
  });
12732
+
12733
+ var TwitterFeedHandler = function($scope, $) {
12734
+ if (!isEditMode) {
12735
+ $gutter = $(".eael-twitter-feed-masonry", $scope).data("gutter");
12736
+ $settings = {
12737
+ itemSelector: ".eael-twitter-feed-item",
12738
+ percentPosition: true,
12739
+ masonry: {
12740
+ columnWidth: ".eael-twitter-feed-item",
12741
+ gutter: $gutter
12742
+ }
12743
+ };
12744
+
12745
+ // init isotope
12746
+ $twitter_feed_gallery = $(".eael-twitter-feed-masonry", $scope).isotope(
12747
+ $settings
12748
+ );
12749
+
12750
+ // layout gal, while images are loading
12751
+ $twitter_feed_gallery.imagesLoaded().progress(function() {
12752
+ $twitter_feed_gallery.isotope("layout");
12753
+ });
12754
+ }
12755
+ };
12756
+
12757
+ jQuery(window).on("elementor/frontend/init", function() {
12758
+ elementorFrontend.hooks.addAction(
12759
+ "frontend/element_ready/eael-twitter-feed.default",
12760
+ TwitterFeedHandler
12761
+ );
12762
+ });
assets/front-end/js/eael.min.js CHANGED
@@ -1,27 +1,26 @@
1
  !function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(i){"use strict";var n=function(t,s){this.$element=i(t),this.defaults=i.extend({},n.defaults,this.$element.data(),i.isPlainObject(s)?s:{}),this.init()};n.prototype={constructor:n,init:function(){var t=this.$element.html(),s=new Date(this.defaults.date||t);s.getTime()&&(this.content=t,this.date=s,this.find(),this.defaults.autoStart&&this.start())},find:function(){var t=this.$element;this.$days=t.find("[data-days]"),this.$hours=t.find("[data-hours]"),this.$minutes=t.find("[data-minutes]"),this.$seconds=t.find("[data-seconds]"),0<this.$days.length+this.$hours.length+this.$minutes.length+this.$seconds.length&&(this.found=!0)},reset:function(){this.found?(this.output("days"),this.output("hours"),this.output("minutes"),this.output("seconds")):this.output()},ready:function(){var t,s=this.date,e={};return!!s&&((t=s.getTime()-(new Date).getTime())<=0?(this.end(),!1):(e.days=t,e.hours=e.days%864e5,e.minutes=e.hours%36e5,e.seconds=e.minutes%6e4,e.milliseconds=e.seconds%1e3,this.days=Math.floor(e.days/864e5),this.hours=Math.floor(e.hours/36e5),this.minutes=Math.floor(e.minutes/6e4),this.seconds=Math.floor(e.seconds/1e3),this.deciseconds=Math.floor(e.milliseconds/100),!0))},start:function(){!this.active&&this.ready()&&(this.active=!0,this.reset(),this.autoUpdate=this.defaults.fast?setInterval(i.proxy(this.fastUpdate,this),100):setInterval(i.proxy(this.update,this),1e3))},stop:function(){this.active&&(this.active=!1,clearInterval(this.autoUpdate))},end:function(){this.date&&(this.stop(),this.days=0,this.hours=0,this.minutes=0,this.seconds=0,this.deciseconds=0,this.reset(),this.defaults.end())},destroy:function(){this.date&&(this.stop(),this.$days=null,this.$hours=null,this.$minutes=null,this.$seconds=null,this.$element.empty().html(this.content),this.$element.removeData("countdown"))},fastUpdate:function(){0<=--this.deciseconds?this.output("deciseconds"):(this.deciseconds=9,this.update())},update:function(){0<=--this.seconds?this.output("seconds"):(this.seconds=59,0<=--this.minutes?this.output("minutes"):(this.minutes=59,0<=--this.hours?this.output("hours"):(this.hours=23,0<=--this.days?this.output("days"):this.end())))},output:function(t){if(this.found)switch(t){case"deciseconds":this.$seconds.text(this.getSecondsText());break;case"seconds":this.$seconds.text(this.seconds);break;case"minutes":this.$minutes.text(this.minutes);break;case"hours":this.$hours.text(this.hours);break;case"days":this.$days.text(this.days)}else this.$element.empty().html(this.template())},template:function(){return this.defaults.text.replace("%s",this.days).replace("%s",this.hours).replace("%s",this.minutes).replace("%s",this.getSecondsText())},getSecondsText:function(){return this.active&&this.defaults.fast?this.seconds+"."+this.deciseconds:this.seconds}},n.defaults={autoStart:!0,date:null,fast:!1,end:i.noop,text:"%s days, %s hours, %s minutes, %s seconds"},n.setDefaults=function(t){i.extend(n.defaults,t)},i.fn.countdown=function(e){return this.each(function(){var t=i(this),s=t.data("countdown");s||t.data("countdown",s=new n(this,e)),"string"==typeof e&&i.isFunction(s[e])&&s[e]()})},i.fn.countdown.constructor=n,i.fn.countdown.setDefaults=n.setDefaults,i(function(){i("[countdown]").countdown()})});
2
- !function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return-1==n.indexOf(t)&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{};return(i[e]=i[e]||{})[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return-1!=n&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var s=i[o];n&&n[s]&&(this.off(e,s),delete n[s]),s.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(t,i){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(e){return i(t,e)}):"object"==typeof module&&module.exports?module.exports=i(t,require("ev-emitter")):t.imagesLoaded=i(t,t.EvEmitter)}("undefined"!=typeof window?window:this,function(t,e){var o=t.jQuery,s=t.console;function r(e,t){for(var i in t)e[i]=t[i];return e}var h=Array.prototype.slice;function a(e,t,i){if(!(this instanceof a))return new a(e,t,i);var n=e;"string"==typeof e&&(n=document.querySelectorAll(e)),n?(this.elements=function(e){return Array.isArray(e)?e:"object"==typeof e&&"number"==typeof e.length?h.call(e):[e]}(n),this.options=r({},this.options),"function"==typeof t?i=t:r(this.options,t),i&&this.on("always",i),this.getImages(),o&&(this.jqDeferred=new o.Deferred),setTimeout(this.check.bind(this))):s.error("Bad element for imagesLoaded "+(n||e))}(a.prototype=Object.create(e.prototype)).options={},a.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},a.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),!0===this.options.background&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&d[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var s=e.querySelectorAll(this.options.background);for(n=0;n<s.length;n++){var r=s[n];this.addElementBackgroundImages(r)}}}};var d={1:!0,9:!0,11:!0};function i(e){this.img=e}function n(e,t){this.url=e,this.element=t,this.img=new Image}return a.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},a.prototype.addImage=function(e){var t=new i(e);this.images.push(t)},a.prototype.addBackground=function(e,t){var i=new n(e,t);this.images.push(i)},a.prototype.check=function(){var n=this;function t(e,t,i){setTimeout(function(){n.progress(e,t,i)})}this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?this.images.forEach(function(e){e.once("progress",t),e.check()}):this.complete()},a.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&s&&s.log("progress: "+i,e,t)},a.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},(i.prototype=Object.create(e.prototype)).check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.src)},i.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},i.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},i.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},i.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},i.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},i.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},(n.prototype=Object.create(i.prototype)).check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},n.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},n.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},a.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&((o=e).fn.imagesLoaded=function(e,t){return new a(this,e,t).jqDeferred.promise(o(this))})},a.makeJQueryPlugin(),a});
3
  !function(t,e,n){"use strict";function o(t,s){var e=this;this.el=t,this.options={},Object.keys(i).forEach(function(t){e.options[t]=i[t]}),Object.keys(s).forEach(function(t){e.options[t]=s[t]}),this.isInput="input"===this.el.tagName.toLowerCase(),this.attr=this.options.attr,this.showCursor=!this.isInput&&this.options.showCursor,this.elContent=this.attr?this.el.getAttribute(this.attr):this.el.textContent,this.contentType=this.options.contentType,this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,n&&this.options.stringsElement instanceof n?this.stringsElement=this.options.stringsElement[0]:this.stringsElement=this.options.stringsElement,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.cursorChar=this.options.cursorChar,this.shuffle=this.options.shuffle,this.sequence=[],this.build()}o.prototype={constructor:o,init:function(){var s=this;s.timeout=setTimeout(function(){for(var t=0;t<s.strings.length;++t)s.sequence[t]=t;s.shuffle&&(s.sequence=s.shuffleArray(s.sequence)),s.typewrite(s.strings[s.sequence[s.arrayPos]],s.strPos)},s.startDelay)},build:function(){var s=this;!0===this.showCursor&&(this.cursor=e.createElement("span"),this.cursor.className="typed-cursor",this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)),this.stringsElement&&(this.strings=[],this.stringsElement.style.display="none",Array.prototype.slice.apply(this.stringsElement.children).forEach(function(t){s.strings.push(t.innerHTML)}));this.init()},typewrite:function(o,r){if(!0!==this.stop){var t=Math.round(70*Math.random())+this.typeSpeed,a=this;a.timeout=setTimeout(function(){var t=0,s=o.substr(r);if("^"===s.charAt(0)){var e=1;/^\^\d+/.test(s)&&(e+=(s=/\d+/.exec(s)[0]).length,t=parseInt(s)),o=o.substring(0,r)+o.substring(r+e)}if("html"===a.contentType){var i=o.substr(r).charAt(0);if("<"===i||"&"===i){var n;for(n="<"===i?">":";";o.substr(r+1).charAt(0)!==n&&(o.substr(r).charAt(0),!(++r+1>o.length)););r++,n}}a.timeout=setTimeout(function(){if(r===o.length){if(a.options.onStringTyped(a.arrayPos),a.arrayPos===a.strings.length-1&&(a.options.callback(),a.curLoop++,!1===a.loop||a.curLoop===a.loopCount))return;a.timeout=setTimeout(function(){a.backspace(o,r)},a.backDelay)}else{0===r&&a.options.preStringTyped(a.arrayPos);var t=o.substr(0,r+1);a.attr?a.el.setAttribute(a.attr,t):a.isInput?a.el.value=t:"html"===a.contentType?a.el.innerHTML=t:a.el.textContent=t,r++,a.typewrite(o,r)}},t)},t)}},backspace:function(s,e){if(!0!==this.stop){var t=Math.round(70*Math.random())+this.backSpeed,i=this;i.timeout=setTimeout(function(){if("html"===i.contentType&&">"===s.substr(e).charAt(0)){for(;"<"!==s.substr(e-1).charAt(0)&&(s.substr(e).charAt(0),!(--e<0)););e--,"<"}var t=s.substr(0,e);i.attr?i.el.setAttribute(i.attr,t):i.isInput?i.el.value=t:"html"===i.contentType?i.el.innerHTML=t:i.el.textContent=t,e>i.stopNum?(e--,i.backspace(s,e)):e<=i.stopNum&&(i.arrayPos++,i.arrayPos===i.strings.length?(i.arrayPos=0,i.shuffle&&(i.sequence=i.shuffleArray(i.sequence)),i.init()):i.typewrite(i.strings[i.sequence[i.arrayPos]],e))},t)}},shuffleArray:function(t){var s,e,i=t.length;if(i)for(;--i;)s=t[e=Math.floor(Math.random()*(i+1))],t[e]=t[i],t[i]=s;return t},reset:function(){clearInterval(this.timeout),this.el.getAttribute("id"),this.el.textContent="",void 0!==this.cursor&&void 0!==this.cursor.parentNode&&this.cursor.parentNode.removeChild(this.cursor),this.strPos=0,this.arrayPos=0,this.curLoop=0,this.options.resetCallback()}},o.new=function(t,i){Array.prototype.slice.apply(e.querySelectorAll(t)).forEach(function(t){var s=t._typed,e="object"==typeof i&&i;s&&s.reset(),t._typed=s=new o(t,e),"string"==typeof i&&s[i]()})},n&&(n.fn.typed=function(i){return this.each(function(){var t=n(this),s=t.data("typed"),e="object"==typeof i&&i;s&&s.reset(),t.data("typed",s=new o(this,e)),"string"==typeof i&&s[i]()})}),t.Typed=o;var i={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,shuffle:!1,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window,document,window.jQuery),function(i){"use strict";function s(t,s){this.element=i(t),this.settings=i.extend({},n,s),this._defaults=n,this._init()}var e="Morphext",n={animation:"bounceIn",separator:",",speed:2e3,complete:i.noop};s.prototype={_init:function(){var e=this;this.phrases=[],this.element.addClass("morphext"),i.each(this.element.text().split(this.settings.separator),function(t,s){e.phrases.push(i.trim(s))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML='<span class="animated '+this.settings.animation+'">'+this.phrases[this.index]+"</span>",i.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var t=this;this._interval=setInterval(function(){t.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},i.fn[e]=function(t){return this.each(function(){i.data(this,"plugin_"+e)||i.data(this,"plugin_"+e,new s(this,t))})}}(jQuery);
4
  !function(e){"use strict";var i="Morphext",s={animation:"bounceIn",separator:",",speed:2e3,complete:e.noop};function n(t,i){this.element=e(t),this.settings=e.extend({},s,i),this._defaults=s,this._init()}n.prototype={_init:function(){var s=this;this.phrases=[],this.element.addClass("morphext"),e.each(this.element.text().split(this.settings.separator),function(t,i){s.phrases.push(e.trim(i))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML='<span class="animated '+this.settings.animation+'">'+this.phrases[this.index]+"</span>",e.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var t=this;this._interval=setInterval(function(){t.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},e.fn[i]=function(t){return this.each(function(){e.data(this,"plugin_"+i)||e.data(this,"plugin_"+i,new n(this,t))})}}(jQuery);
5
  !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Typed=e():t.Typed=e()}(this,function(){return i={},s.m=n=[function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,s){return e&&i(t.prototype,e),s&&i(t,s),t};function i(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var r=s(1),u=s(3),o=(n(a,[{key:"toggle",value:function(){this.pause.status?this.start():this.stop()}},{key:"stop",value:function(){this.typingComplete||this.pause.status||(this.toggleBlinking(!0),this.pause.status=!0,this.options.onStop(this.arrayPos,this))}},{key:"start",value:function(){this.typingComplete||this.pause.status&&(this.pause.status=!1,this.pause.typewrite?this.typewrite(this.pause.curString,this.pause.curStrPos):this.backspace(this.pause.curString,this.pause.curStrPos),this.options.onStart(this.arrayPos,this))}},{key:"destroy",value:function(){this.reset(!1),this.options.onDestroy(this)}},{key:"reset",value:function(t){var e=arguments.length<=0||void 0===t||t;clearInterval(this.timeout),this.replaceText(""),this.cursor&&this.cursor.parentNode&&(this.cursor.parentNode.removeChild(this.cursor),this.cursor=null),this.strPos=0,this.arrayPos=0,this.curLoop=0,e&&(this.insertCursor(),this.options.onReset(this),this.begin())}},{key:"begin",value:function(){var t=this;this.typingComplete=!1,this.shuffleStringsIfNeeded(this),this.insertCursor(),this.bindInputFocusEvents&&this.bindFocusEvents(),this.timeout=setTimeout(function(){t.currentElContent&&0!==t.currentElContent.length?t.backspace(t.currentElContent,t.currentElContent.length):t.typewrite(t.strings[t.sequence[t.arrayPos]],t.strPos)},this.startDelay)}},{key:"typewrite",value:function(i,r){var o=this;this.fadeOut&&this.el.classList.contains(this.fadeOutClass)&&(this.el.classList.remove(this.fadeOutClass),this.cursor&&this.cursor.classList.remove(this.fadeOutClass));var t=this.humanizer(this.typeSpeed),a=1;!0!==this.pause.status?this.timeout=setTimeout(function(){r=u.htmlParser.typeHtmlChars(i,r,o);var t=0,e=i.substr(r);if("^"===e.charAt(0)&&/^\^\d+/.test(e)){var s=1;s+=(e=/\d+/.exec(e)[0]).length,t=parseInt(e),o.temporaryPause=!0,o.options.onTypingPaused(o.arrayPos,o),i=i.substring(0,r)+i.substring(r+s),o.toggleBlinking(!0)}if("`"===e.charAt(0)){for(;"`"!==i.substr(r+a).charAt(0)&&!(r+ ++a>i.length););var n=i.substring(0,r);i=n+i.substring(n.length+1,r+a)+i.substring(r+a+1),a--}o.timeout=setTimeout(function(){o.toggleBlinking(!1),r>=i.length?o.doneTyping(i,r):o.keepTyping(i,r,a),o.temporaryPause&&(o.temporaryPause=!1,o.options.onTypingResumed(o.arrayPos,o))},t)},t):this.setPauseStatus(i,r,!0)}},{key:"keepTyping",value:function(t,e,s){0===e&&(this.toggleBlinking(!1),this.options.preStringTyped(this.arrayPos,this)),e+=s;var n=t.substr(0,e);this.replaceText(n),this.typewrite(t,e)}},{key:"doneTyping",value:function(t,e){var s=this;this.options.onStringTyped(this.arrayPos,this),this.toggleBlinking(!0),this.arrayPos===this.strings.length-1&&(this.complete(),!1===this.loop||this.curLoop===this.loopCount)||(this.timeout=setTimeout(function(){s.backspace(t,e)},this.backDelay))}},{key:"backspace",value:function(s,n){var i=this;if(!0!==this.pause.status){if(this.fadeOut)return this.initFadeOut();this.toggleBlinking(!1);var t=this.humanizer(this.backSpeed);this.timeout=setTimeout(function(){n=u.htmlParser.backSpaceHtmlChars(s,n,i);var t=s.substr(0,n);if(i.replaceText(t),i.smartBackspace){var e=i.strings[i.arrayPos+1];e&&t===e.substr(0,n)?i.stopNum=n:i.stopNum=0}n>i.stopNum?(n--,i.backspace(s,n)):n<=i.stopNum&&(i.arrayPos++,i.arrayPos===i.strings.length?(i.arrayPos=0,i.options.onLastStringBackspaced(),i.shuffleStringsIfNeeded(),i.begin()):i.typewrite(i.strings[i.sequence[i.arrayPos]],n))},t)}else this.setPauseStatus(s,n,!0)}},{key:"complete",value:function(){this.options.onComplete(this),this.loop?this.curLoop++:this.typingComplete=!0}},{key:"setPauseStatus",value:function(t,e,s){this.pause.typewrite=s,this.pause.curString=t,this.pause.curStrPos=e}},{key:"toggleBlinking",value:function(t){this.cursor&&(this.pause.status||this.cursorBlinking!==t&&((this.cursorBlinking=t)?this.cursor.classList.add("typed-cursor--blink"):this.cursor.classList.remove("typed-cursor--blink")))}},{key:"humanizer",value:function(t){return Math.round(Math.random()*t/2)+t}},{key:"shuffleStringsIfNeeded",value:function(){this.shuffle&&(this.sequence=this.sequence.sort(function(){return Math.random()-.5}))}},{key:"initFadeOut",value:function(){var t=this;return this.el.className+=" "+this.fadeOutClass,this.cursor&&(this.cursor.className+=" "+this.fadeOutClass),setTimeout(function(){t.arrayPos++,t.replaceText(""),t.strings.length>t.arrayPos?t.typewrite(t.strings[t.sequence[t.arrayPos]],0):(t.typewrite(t.strings[0],0),t.arrayPos=0)},this.fadeOutDelay)}},{key:"replaceText",value:function(t){this.attr?this.el.setAttribute(this.attr,t):this.isInput?this.el.value=t:"html"===this.contentType?this.el.innerHTML=t:this.el.textContent=t}},{key:"bindFocusEvents",value:function(){var e=this;this.isInput&&(this.el.addEventListener("focus",function(t){e.stop()}),this.el.addEventListener("blur",function(t){e.el.value&&0!==e.el.value.length||e.start()}))}},{key:"insertCursor",value:function(){this.showCursor&&(this.cursor||(this.cursor=document.createElement("span"),this.cursor.className="typed-cursor",this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)))}}]),a);function a(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),r.initializer.load(this,e,t),this.begin()}e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var s=arguments[e];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n])}return t},n=function(t,e,s){return e&&i(t.prototype,e),s&&i(t,s),t};function i(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var r,o=s(2),u=(r=o)&&r.__esModule?r:{default:r},l=(n(c,[{key:"load",value:function(t,e,s){if(t.el="string"==typeof s?document.querySelector(s):s,t.options=a({},u.default,e),t.isInput="input"===t.el.tagName.toLowerCase(),t.attr=t.options.attr,t.bindInputFocusEvents=t.options.bindInputFocusEvents,t.showCursor=!t.isInput&&t.options.showCursor,t.cursorChar=t.options.cursorChar,t.cursorBlinking=!0,t.elContent=t.attr?t.el.getAttribute(t.attr):t.el.textContent,t.contentType=t.options.contentType,t.typeSpeed=t.options.typeSpeed,t.startDelay=t.options.startDelay,t.backSpeed=t.options.backSpeed,t.smartBackspace=t.options.smartBackspace,t.backDelay=t.options.backDelay,t.fadeOut=t.options.fadeOut,t.fadeOutClass=t.options.fadeOutClass,t.fadeOutDelay=t.options.fadeOutDelay,t.isPaused=!1,t.strings=t.options.strings.map(function(t){return t.trim()}),"string"==typeof t.options.stringsElement?t.stringsElement=document.querySelector(t.options.stringsElement):t.stringsElement=t.options.stringsElement,t.stringsElement){t.strings=[],t.stringsElement.style.display="none";var n=Array.prototype.slice.apply(t.stringsElement.children),i=n.length;if(i)for(var r=0;r<i;r+=1){var o=n[r];t.strings.push(o.innerHTML.trim())}}for(var r in t.strPos=0,t.arrayPos=0,t.stopNum=0,t.loop=t.options.loop,t.loopCount=t.options.loopCount,t.curLoop=0,t.shuffle=t.options.shuffle,t.sequence=[],t.pause={status:!1,typewrite:!0,curString:"",curStrPos:0},t.typingComplete=!1,t.strings)t.sequence[r]=r;t.currentElContent=this.getCurrentElContent(t),t.autoInsertCss=t.options.autoInsertCss,this.appendAnimationCss(t)}},{key:"getCurrentElContent",value:function(t){return t.attr?t.el.getAttribute(t.attr):t.isInput?t.el.value:"html"===t.contentType?t.el.innerHTML:t.el.textContent}},{key:"appendAnimationCss",value:function(t){var e="data-typed-js-css";if(t.autoInsertCss&&(t.showCursor||t.fadeOut)&&!document.querySelector("["+e+"]")){var s=document.createElement("style");s.type="text/css",s.setAttribute(e,!0);var n="";t.showCursor&&(n+="\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n "),t.fadeOut&&(n+="\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n "),0!==s.length&&(s.innerHTML=n,document.body.appendChild(s))}}}]),c);function c(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,c)}var p=new(e.default=l);e.initializer=p},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,smartBackspace:!0,shuffle:!1,backDelay:700,fadeOut:!1,fadeOutClass:"typed-fade-out",fadeOutDelay:500,loop:!1,loopCount:1/0,showCursor:!0,cursorChar:"|",autoInsertCss:!0,attr:null,bindInputFocusEvents:!1,contentType:"html",onComplete:function(t){},preStringTyped:function(t,e){},onStringTyped:function(t,e){},onLastStringBackspaced:function(t){},onTypingPaused:function(t,e){},onTypingResumed:function(t,e){},onReset:function(t){},onStop:function(t,e){},onStart:function(t,e){},onDestroy:function(t){}};e.default=s,t.exports=e.default},function(t,e){"use strict";function n(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}Object.defineProperty(e,"__esModule",{value:!0});var s=(function(t,e,s){return e&&n(t.prototype,e),s&&n(t,s),t}(i,[{key:"typeHtmlChars",value:function(t,e,s){if("html"!==s.contentType)return e;var n=t.substr(e).charAt(0);if("<"===n||"&"===n){var i="";for(i="<"===n?">":";";t.substr(e+1).charAt(0)!==i&&!(++e+1>t.length););e++}return e}},{key:"backSpaceHtmlChars",value:function(t,e,s){if("html"!==s.contentType)return e;var n=t.substr(e).charAt(0);if(">"===n||";"===n){var i="";for(i=">"===n?"<":"&";t.substr(e-1).charAt(0)!==i&&!(--e<0););e--}return e}}]),i);function i(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i)}var r=new(e.default=s);e.htmlParser=r}],s.c=i,s.p="",s(0);function s(t){if(i[t])return i[t].exports;var e=i[t]={exports:{},id:t,loaded:!1};return n[t].call(e.exports,e,e.exports,s),e.loaded=!0,e.exports}var n,i});
 
6
  !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(f){var a,d,i,c=[],h=document,u=window,s=h.documentElement;function t(){if(c.length){var e=0,t=f.map(c,function(e){var t=e.data.selector,n=e.$element;return t?n.find(t):n});for(a=a||function(){var e,t,n={height:u.innerHeight,width:u.innerWidth};return n.height||!(e=h.compatMode)&&f.support.boxModel||(n={height:(t="CSS1Compat"===e?s:h.body).clientHeight,width:t.clientWidth}),n}(),d=d||{top:u.pageYOffset||s.scrollTop||h.body.scrollTop,left:u.pageXOffset||s.scrollLeft||h.body.scrollLeft};e<c.length;e++)if(f.contains(s,t[e][0])){var n=f(t[e]),i=n[0].offsetHeight,o=n[0].offsetWidth,l=n.offset(),r=n.data("inview");if(!d||!a)return;l.top+i>d.top&&l.top<d.top+a.height&&l.left+o>d.left&&l.left<d.left+a.width?r||n.data("inview",!0).trigger("inview",[!0]):r&&n.data("inview",!1).trigger("inview",[!1])}}}f.event.special.inview={add:function(e){c.push({data:e,$element:f(this),element:this}),!i&&c.length&&(i=setInterval(t,250))},remove:function(e){for(var t=0;t<c.length;t++){var n=c[t];if(n.element===this&&n.data.guid===e.guid){c.splice(t,1);break}}c.length||(clearInterval(i),i=null)}},f(u).on("scroll resize scrollstop",function(){a=d=null}),!s.addEventListener&&s.attachEvent&&s.attachEvent("onfocusin",function(){d=null})});
7
  !function(e,i){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("jquery")):e.jQueryBridget=i(e,e.jQuery)}(window,function(t,e){"use strict";var i=Array.prototype.slice,o=t.console,d=void 0===o?function(){}:function(t){o.error(t)};function n(h,n,l){(l=l||e||t.jQuery)&&(n.prototype.option||(n.prototype.option=function(t){l.isPlainObject(t)&&(this.options=l.extend(!0,this.options,t))}),l.fn[h]=function(t){return"string"==typeof t?function(t,s,r){var a,u="$()."+h+'("'+s+'")';return t.each(function(t,e){var i=l.data(e,h);if(i){var o=i[s];if(o&&"_"!=s.charAt(0)){var n=o.apply(i,r);a=void 0===a?n:a}else d(u+" is not a valid method")}else d(h+" not initialized. Cannot call methods, i.e. "+u)}),void 0!==a?a:t}(this,t,i.call(arguments,1)):(function(t,o){t.each(function(t,e){var i=l.data(e,h);i?(i.option(o),i._init()):(i=new n(e,o),l.data(e,h,i))})}(this,t),this)},s(l))}function s(t){!t||t&&t.bridget||(t.bridget=n)}return s(e||t.jQuery),n}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return-1==o.indexOf(e)&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return-1!=o&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var o=this._onceEvents&&this._onceEvents[t],n=0;n<i.length;n++){var s=i[n];o&&o[s]&&(this.off(t,s),delete o[s]),s.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function g(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}var i="undefined"==typeof console?function(){}:function(t){console.error(t)},v=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],_=v.length;function z(t){var e=getComputedStyle(t);return e||i("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}var I,x=!1;function S(t){if(function(){if(!x){x=!0;var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style.boxSizing="border-box";var e=document.body||document.documentElement;e.appendChild(t);var i=z(t);I=200==Math.round(g(i.width)),S.isBoxSizeOuter=I,e.removeChild(t)}}(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var e=z(t);if("none"==e.display)return function(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<_;e++){t[v[e]]=0}return t}();var i={};i.width=t.offsetWidth,i.height=t.offsetHeight;for(var o=i.isBorderBox="border-box"==e.boxSizing,n=0;n<_;n++){var s=v[n],r=e[s],a=parseFloat(r);i[s]=isNaN(a)?0:a}var u=i.paddingLeft+i.paddingRight,h=i.paddingTop+i.paddingBottom,l=i.marginLeft+i.marginRight,d=i.marginTop+i.marginBottom,f=i.borderLeftWidth+i.borderRightWidth,c=i.borderTopWidth+i.borderBottomWidth,m=o&&I,p=g(e.width);!1!==p&&(i.width=p+(m?0:u+f));var y=g(e.height);return!1!==y&&(i.height=y+(m?0:h+c)),i.innerWidth=i.width-(u+f),i.innerHeight=i.height-(h+c),i.outerWidth=i.width+l,i.outerHeight=i.height+d,i}}return S}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var i=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var o=e[i]+"MatchesSelector";if(t[o])return o}}();return function(t,e){return t[i](e)}}),function(e,i){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("desandro-matches-selector")):e.fizzyUIUtils=i(e,e.matchesSelector)}(window,function(h,s){var l={extend:function(t,e){for(var i in e)t[i]=e[i];return t},modulo:function(t,e){return(t%e+e)%e}},e=Array.prototype.slice;l.makeArray=function(t){return Array.isArray(t)?t:null==t?[]:"object"==typeof t&&"number"==typeof t.length?e.call(t):[t]},l.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},l.getParent=function(t,e){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,s(t,e))return t},l.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},l.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},l.filterFindElements=function(t,o){t=l.makeArray(t);var n=[];return t.forEach(function(t){if(t instanceof HTMLElement)if(o){s(t,o)&&n.push(t);for(var e=t.querySelectorAll(o),i=0;i<e.length;i++)n.push(e[i])}else n.push(t)}),n},l.debounceMethod=function(t,e,o){o=o||100;var n=t.prototype[e],s=e+"Timeout";t.prototype[e]=function(){var t=this[s];clearTimeout(t);var e=arguments,i=this;this[s]=setTimeout(function(){n.apply(i,e),delete i[s]},o)}},l.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},l.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var d=h.console;return l.htmlInit=function(a,u){l.docReady(function(){var t=l.toDashed(u),n="data-"+t,e=document.querySelectorAll("["+n+"]"),i=document.querySelectorAll(".js-"+t),o=l.makeArray(e).concat(l.makeArray(i)),s=n+"-options",r=h.jQuery;o.forEach(function(e){var t,i=e.getAttribute(n)||e.getAttribute(s);try{t=i&&JSON.parse(i)}catch(t){return void(d&&d.error("Error parsing "+n+" on "+e.className+": "+t))}var o=new a(e,t);r&&r.data(e,u,o)})})},l}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";var i=document.documentElement.style,o="string"==typeof i.transition?"transition":"WebkitTransition",n="string"==typeof i.transform?"transform":"WebkitTransform",s={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[o],r={transform:n,transition:o,transitionDuration:o+"Duration",transitionProperty:o+"Property",transitionDelay:o+"Delay"};function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var u=a.prototype=Object.create(t.prototype);u.constructor=a,u._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},u.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},u.getSize=function(){this.size=e(this.element)},u.css=function(t){var e=this.element.style;for(var i in t){e[r[i]||i]=t[i]}},u.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),o=t[e?"left":"right"],n=t[i?"top":"bottom"],s=parseFloat(o),r=parseFloat(n),a=this.layout.size;-1!=o.indexOf("%")&&(s=s/100*a.width),-1!=n.indexOf("%")&&(r=r/100*a.height),s=isNaN(s)?0:s,r=isNaN(r)?0:r,s-=e?a.paddingLeft:a.paddingRight,r-=i?a.paddingTop:a.paddingBottom,this.position.x=s,this.position.y=r},u.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),o=this.layout._getOption("originTop"),n=i?"paddingLeft":"paddingRight",s=i?"left":"right",r=i?"right":"left",a=this.position.x+t[n];e[s]=this.getXValue(a),e[r]="";var u=o?"paddingTop":"paddingBottom",h=o?"top":"bottom",l=o?"bottom":"top",d=this.position.y+t[u];e[h]=this.getYValue(d),e[l]="",this.css(e),this.emitEvent("layout",[this])},u.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},u.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},u._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),!n||this.isTransitioning){var s=t-i,r=e-o,a={};a.transform=this.getTranslate(s,r),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})}else this.layoutPosition()},u.getTranslate=function(t,e){return"translate3d("+(t=this.layout._getOption("originLeft")?t:-t)+"px, "+(e=this.layout._getOption("originTop")?e:-e)+"px, 0)"},u.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},u.moveTo=u._transitionTo,u.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},u._nonTransition=function(t){for(var e in this.css(t.to),t.isCleaning&&this._removeStyles(t.to),t.onTransitionEnd)t.onTransitionEnd[e].call(this)},u.transition=function(t){if(parseFloat(this.layout.options.transitionDuration)){var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);this.element.offsetHeight;null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0}else this._nonTransition(t)};var h="opacity,"+n.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()});u.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:h,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(s,this,!1)}},u.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},u.onotransitionend=function(t){this.ontransitionend(t)};var l={"-webkit-transform":"transform"};u.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,i=l[t.propertyName]||t.propertyName;if(delete e.ingProperties[i],function(t){for(var e in t)return!1;return!null}(e.ingProperties)&&this.disableTransition(),i in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[i]),i in e.onEnd)e.onEnd[i].call(this),delete e.onEnd[i];this.emitEvent("transitionEnd",[this])}},u.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(s,this,!1),this.isTransitioning=!1},u._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var d={transitionProperty:"",transitionDuration:"",transitionDelay:""};return u.removeTransitionStyles=function(){this.css(d)},u.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},u.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},u.remove=function(){o&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),this.hide()):this.removeElem()},u.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("visibleStyle")]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},u.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},u.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},u.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("hiddenStyle")]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},u.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},u.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}),function(n,s){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(t,e,i,o){return s(n,t,e,i,o)}):"object"==typeof module&&module.exports?module.exports=s(n,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):n.Outlayer=s(n,n.EvEmitter,n.getSize,n.fizzyUIUtils,n.Outlayer.Item)}(window,function(t,e,n,s,o){"use strict";function i(){}var r=t.console,a=t.jQuery,u=0,h={};function l(t,e){var i=s.getQueryElement(t);if(i){this.element=i,a&&(this.$element=a(this.element)),this.options=s.extend({},this.constructor.defaults),this.option(e);var o=++u;this.element.outlayerGUID=o,(h[o]=this)._create(),this._getOption("initLayout")&&this.layout()}else r&&r.error("Bad element for "+this.constructor.namespace+": "+(i||t))}l.namespace="outlayer",l.Item=o,l.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var d=l.prototype;function f(t){function e(){t.apply(this,arguments)}return(e.prototype=Object.create(t.prototype)).constructor=e}s.extend(d,e.prototype),d.option=function(t){s.extend(this.options,t)},d._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},l.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},d._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),s.extend(this.element.style,this.options.containerStyle),this._getOption("resize")&&this.bindResize()},d.reloadItems=function(){this.items=this._itemize(this.element.children)},d._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0;n<e.length;n++){var s=new i(e[n],this);o.push(s)}return o},d._filterFindItemElements=function(t){return s.filterFindElements(t,this.options.itemSelector)},d.getItemElements=function(){return this.items.map(function(t){return t.element})},d.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},d._init=d.layout,d._resetLayout=function(){this.getSize()},d.getSize=function(){this.size=n(this.element)},d._getMeasurement=function(t,e){var i,o=this.options[t];o?("string"==typeof o?i=this.element.querySelector(o):o instanceof HTMLElement&&(i=o),this[t]=i?n(i)[e]:o):this[t]=0},d.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},d._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},d._layoutItems=function(t,i){if(this._emitCompleteOnItems("layout",t),t&&t.length){var o=[];t.forEach(function(t){var e=this._getItemLayoutPosition(t);e.item=t,e.isInstant=i||t.isLayoutInstant,o.push(e)},this),this._processLayoutQueue(o)}},d._getItemLayoutPosition=function(){return{x:0,y:0}},d._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},d.updateStagger=function(){var t=this.options.stagger;if(null!=t)return this.stagger=function(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],o=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var n=c[o]||1;return i*n}(t),this.stagger;this.stagger=0},d._positionItem=function(t,e,i,o,n){o?t.goTo(e,i):(t.stagger(n*this.stagger),t.moveTo(e,i))},d._postLayout=function(){this.resizeContainer()},d.resizeContainer=function(){if(this._getOption("resizeContainer")){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},d._getContainerSize=i,d._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},d._emitCompleteOnItems=function(e,t){var i=this;function o(){i.dispatchEvent(e+"Complete",null,[t])}var n=t.length;if(t&&n){var s=0;t.forEach(function(t){t.once(e,r)})}else o();function r(){++s==n&&o()}},d.dispatchEvent=function(t,e,i){var o=e?[e].concat(i):i;if(this.emitEvent(t,o),a)if(this.$element=this.$element||a(this.element),e){var n=a.Event(e);n.type=t,this.$element.trigger(n,i)}else this.$element.trigger(t,i)},d.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},d.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},d.stamp=function(t){(t=this._find(t))&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},d.unstamp=function(t){(t=this._find(t))&&t.forEach(function(t){s.removeFrom(this.stamps,t),this.unignore(t)},this)},d._find=function(t){if(t)return"string"==typeof t&&(t=this.element.querySelectorAll(t)),t=s.makeArray(t)},d._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},d._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},d._manageStamp=i,d._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,o=n(t);return{left:e.left-i.left-o.marginLeft,top:e.top-i.top-o.marginTop,right:i.right-e.right-o.marginRight,bottom:i.bottom-e.bottom-o.marginBottom}},d.handleEvent=s.handleEvent,d.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},d.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},d.onresize=function(){this.resize()},s.debounceMethod(l,"onresize",100),d.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},d.needsResizeLayout=function(){var t=n(this.element);return this.size&&t&&t.innerWidth!==this.size.innerWidth},d.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},d.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},d.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},d.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var i=this.updateStagger();t.forEach(function(t,e){t.stagger(e*i),t.reveal()})}},d.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var i=this.updateStagger();t.forEach(function(t,e){t.stagger(e*i),t.hide()})}},d.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},d.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},d.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},d.getItems=function(t){t=s.makeArray(t);var i=[];return t.forEach(function(t){var e=this.getItem(t);e&&i.push(e)},this),i},d.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),s.removeFrom(this.items,t)},this)},d.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete h[e],delete this.element.outlayerGUID,a&&a.removeData(this.element,this.constructor.namespace)},l.data=function(t){var e=(t=s.getQueryElement(t))&&t.outlayerGUID;return e&&h[e]},l.create=function(t,e){var i=f(l);return i.defaults=s.extend({},l.defaults),s.extend(i.defaults,e),i.compatOptions=s.extend({},l.compatOptions),i.namespace=t,i.data=l.data,i.Item=f(o),s.htmlInit(i,t),a&&a.bridget&&a.bridget(t,i),i};var c={ms:1,s:1e3};return l.Item=o,l}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/item",["outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window,function(t){"use strict";function e(){t.Item.apply(this,arguments)}var i=e.prototype=Object.create(t.Item.prototype),o=i._create;i._create=function(){this.id=this.layout.itemGUID++,o.call(this),this.sortData={}},i.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}};var n=i.destroy;return i.destroy=function(){n.apply(this,arguments),this.css({display:""})},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window,function(e,i){"use strict";function o(t){(this.isotope=t)&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}var n=o.prototype;return["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"].forEach(function(t){n[t]=function(){return i.prototype[t].apply(this.isotope,arguments)}}),n.needsVerticalResizeLayout=function(){var t=e(this.isotope.element);return this.isotope.size&&t&&t.innerHeight!=this.isotope.size.innerHeight},n._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},n.getColumnWidth=function(){this.getSegmentSize("column","Width")},n.getRowHeight=function(){this.getSegmentSize("row","Height")},n.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},n.getFirstItemSize=function(){var t=this.isotope.filteredItems[0];return t&&t.element&&e(t.element)},n.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},n.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},o.modes={},o.create=function(t,e){function i(){o.apply(this,arguments)}return(i.prototype=Object.create(n)).constructor=i,e&&(i.options=e),o.modes[i.prototype.namespace=t]=i},o}),function(t,e){"function"==typeof define&&define.amd?define("masonry-layout/masonry",["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,h){var e=t.create("masonry");e.compatOptions.fitWidth="isFitWidth";var i=e.prototype;return i._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},i.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],e=t&&t.element;this.columnWidth=e&&h(e).outerWidth||this.containerWidth}var i=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,n=o/i,s=i-o%i;n=Math[s&&s<1?"round":"floor"](n),this.cols=Math.max(n,1)},i.getContainerWidth=function(){var t=this._getOption("fitWidth")?this.element.parentNode:this.element,e=h(t);this.containerWidth=e&&e.innerWidth},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=Math[e&&e<1?"round":"ceil"](t.size.outerWidth/this.columnWidth);i=Math.min(i,this.cols);for(var o=this[this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition"](i,t),n={x:this.columnWidth*o.col,y:o.y},s=o.y+t.size.outerHeight,r=i+o.col,a=o.col;a<r;a++)this.colYs[a]=s;return n},i._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},i._getTopColGroup=function(t){if(t<2)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;o<i;o++)e[o]=this._getColGroupY(o,t);return e},i._getColGroupY=function(t,e){if(e<2)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},i._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols;i=1<t&&i+t>this.cols?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},i._manageStamp=function(t){var e=h(t),i=this._getElementOffset(t),o=this._getOption("originLeft")?i.left:i.right,n=o+e.outerWidth,s=Math.floor(o/this.columnWidth);s=Math.max(0,s);var r=Math.floor(n/this.columnWidth);r-=n%this.columnWidth?0:1,r=Math.min(this.cols-1,r);for(var a=(this._getOption("originTop")?i.top:i.bottom)+e.outerHeight,u=s;u<=r;u++)this.colYs[u]=Math.max(a,this.colYs[u])},i._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/masonry",["../layout-mode","masonry-layout/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Isotope.LayoutMode,t.Masonry)}(window,function(t,e){"use strict";var i=t.create("masonry"),o=i.prototype,n={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var s in e.prototype)n[s]||(o[s]=e.prototype[s]);var r=o.measureColumns;o.measureColumns=function(){this.items=this.isotope.filteredItems,r.call(this)};var a=o._getOption;return o._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.isotope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.isotope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var o={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,o},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(r,a){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope-layout/js/item","isotope-layout/js/layout-mode","isotope-layout/js/layout-modes/masonry","isotope-layout/js/layout-modes/fit-rows","isotope-layout/js/layout-modes/vertical"],function(t,e,i,o,n,s){return a(r,t,e,i,o,n,s)}):"object"==typeof module&&module.exports?module.exports=a(r,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope-layout/js/item"),require("isotope-layout/js/layout-mode"),require("isotope-layout/js/layout-modes/masonry"),require("isotope-layout/js/layout-modes/fit-rows"),require("isotope-layout/js/layout-modes/vertical")):r.Isotope=a(r,r.Outlayer,r.getSize,r.matchesSelector,r.fizzyUIUtils,r.Isotope.Item,r.Isotope.LayoutMode)}(window,function(t,i,e,o,s,n,r){var a=t.jQuery,u=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},h=i.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});h.Item=n,h.LayoutMode=r;var l=h.prototype;l._create=function(){for(var t in this.itemGUID=0,this._sorters={},this._getSorters(),i.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"],r.modes)this._initLayoutMode(t)},l.reloadItems=function(){this.itemGUID=0,i.prototype.reloadItems.call(this)},l._itemize=function(){for(var t=i.prototype._itemize.apply(this,arguments),e=0;e<t.length;e++){t[e].id=this.itemGUID++}return this._updateItemsSortData(t),t},l._initLayoutMode=function(t){var e=r.modes[t],i=this.options[t]||{};this.options[t]=e.options?s.extend(e.options,i):i,this.modes[t]=new e(this)},l.layout=function(){this._isLayoutInited||!this._getOption("initLayout")?this._layout():this.arrange()},l._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},l.arrange=function(t){this.option(t),this._getIsInstant();var e=this._filter(this.items);this.filteredItems=e.matches,this._bindArrangeComplete(),this._isInstant?this._noTransition(this._hideReveal,[e]):this._hideReveal(e),this._sort(),this._layout()},l._init=l.arrange,l._hideReveal=function(t){this.reveal(t.needReveal),this.hide(t.needHide)},l._getIsInstant=function(){var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;return this._isInstant=e},l._bindArrangeComplete=function(){var t,e,i,o=this;function n(){t&&e&&i&&o.dispatchEvent("arrangeComplete",null,[o.filteredItems])}this.once("layoutComplete",function(){t=!0,n()}),this.once("hideComplete",function(){e=!0,n()}),this.once("revealComplete",function(){i=!0,n()})},l._filter=function(t){var e=this.options.filter;e=e||"*";for(var i=[],o=[],n=[],s=this._getFilterTest(e),r=0;r<t.length;r++){var a=t[r];if(!a.isIgnored){var u=s(a);u&&i.push(a),u&&a.isHidden?o.push(a):u||a.isHidden||n.push(a)}}return{matches:i,needReveal:o,needHide:n}},l._getFilterTest=function(e){return a&&this.options.isJQueryFiltering?function(t){return a(t.element).is(e)}:"function"==typeof e?function(t){return e(t.element)}:function(t){return o(t.element,e)}},l.updateSortData=function(t){var e;e=t?(t=s.makeArray(t),this.getItems(t)):this.items,this._getSorters(),this._updateItemsSortData(e)},l._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=d(i)}},l._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&i<e;i++){t[i].updateSortData()}};var d=function(t){if("string"!=typeof t)return t;var e=u(t).split(" "),i=e[0],o=i.match(/^\[(.+)\]$/),n=function(e,i){return e?function(t){return t.getAttribute(e)}:function(t){var e=t.querySelector(i);return e&&e.textContent}}(o&&o[1],i),s=h.sortDataParsers[e[1]];return t=s?function(t){return t&&s(n(t))}:function(t){return t&&n(t)}};h.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},l._sort=function(){if(this.options.sortBy){var t=s.makeArray(this.options.sortBy);this._getIsSameSortBy(t)||(this.sortHistory=t.concat(this.sortHistory));var e=function(r,a){return function(t,e){for(var i=0;i<r.length;i++){var o=r[i],n=t.sortData[o],s=e.sortData[o];if(s<n||n<s)return(s<n?1:-1)*((void 0!==a[o]?a[o]:a)?1:-1)}return 0}}(this.sortHistory,this.options.sortAscending);this.filteredItems.sort(e)}},l._getIsSameSortBy=function(t){for(var e=0;e<t.length;e++)if(t[e]!=this.sortHistory[e])return!1;return!0},l._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw new Error("No layout mode: "+t);return e.options=this.options[t],e},l._resetLayout=function(){i.prototype._resetLayout.call(this),this._mode()._resetLayout()},l._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},l._manageStamp=function(t){this._mode()._manageStamp(t)},l._getContainerSize=function(){return this._mode()._getContainerSize()},l.needsResizeLayout=function(){return this._mode().needsResizeLayout()},l.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},l.prepended=function(t){var e=this._itemize(t);if(e.length){this._resetLayout(),this._manageStamps();var i=this._filterRevealAdded(e);this.layoutItems(this.filteredItems),this.filteredItems=i.concat(this.filteredItems),this.items=e.concat(this.items)}},l._filterRevealAdded=function(t){var e=this._filter(t);return this.hide(e.needHide),this.reveal(e.matches),this.layoutItems(e.matches,!0),e.matches},l.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;i<n;i++)o=e[i],this.element.appendChild(o.element);var s=this._filter(e).matches;for(i=0;i<n;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;i<n;i++)delete e[i].isLayoutInstant;this.reveal(s)}};var f=l.remove;return l.remove=function(t){t=s.makeArray(t);var e=this.getItems(t);f.call(this,t);for(var i=e&&e.length,o=0;i&&o<i;o++){var n=e[o];s.removeFrom(this.filteredItems,n)}},l.shuffle=function(){for(var t=0;t<this.items.length;t++){this.items[t].sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},l._noTransition=function(t,e){var i=this.options.transitionDuration;this.options.transitionDuration=0;var o=t.apply(this,e);return this.options.transitionDuration=i,o},l.getFilteredItemElements=function(){return this.filteredItems.map(function(t){return t.element})},h});
8
- !function(s){s.fn.eaelProgressBar=function(){var a=s(this),i=a.data("layout"),e=a.data("count"),r=a.data("duration");a.one("inview",function(){"line"==i?s(".eael-progressbar-line-fill",a).css({width:e+"%"}):"half_circle"==i&&s(".eael-progressbar-circle-half",a).css({transform:"rotate("+1.8*e+"deg)"}),s(".eael-progressbar-count",a).prop({counter:0}).animate({counter:e},{duration:r,easing:"linear",step:function(e){if("circle"==i){var r=3.6*e;s(".eael-progressbar-circle-half-left",a).css({transform:"rotate("+r+"deg)"}),180<r&&(s(".eael-progressbar-circle-pie",a).css({"clip-path":"inset(0)"}),s(".eael-progressbar-circle-half-right",a).css({visibility:"visible"}))}s(this).text(Math.ceil(e))}})})}}(jQuery);
9
  !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(window.jQuery||window.Zepto)}(function(d){function e(){}function u(e,t){g.ev.on(n+e+w,t)}function p(e,t,n,i){var o=document.createElement("div");return o.className="mfp-"+e,n&&(o.innerHTML=n),i?t&&t.appendChild(o):(o=d(o),t&&o.appendTo(t)),o}function f(e,t){g.ev.triggerHandler(n+e,t),g.st.callbacks&&(e=e.charAt(0).toLowerCase()+e.slice(1),g.st.callbacks[e]&&g.st.callbacks[e].apply(g,d.isArray(t)?t:[t]))}function m(e){return e===t&&g.currTemplate.closeBtn||(g.currTemplate.closeBtn=d(g.st.closeMarkup.replace("%title%",g.st.tClose)),t=e),g.currTemplate.closeBtn}function r(){d.magnificPopup.instance||((g=new e).init(),d.magnificPopup.instance=g)}var g,i,h,o,v,t,l="Close",c="BeforeClose",y="MarkupParse",C="Open",a="Change",n="mfp",w="."+n,b="mfp-ready",s="mfp-removing",I="mfp-prevent-close",x=!!window.jQuery,k=d(window);e.prototype={constructor:e,init:function(){var e=navigator.appVersion;g.isLowIE=g.isIE8=document.all&&!document.addEventListener,g.isAndroid=/android/gi.test(e),g.isIOS=/iphone|ipad|ipod/gi.test(e),g.supportsTransition=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1}(),g.probablyMobile=g.isAndroid||g.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),h=d(document),g.popupsCache={}},open:function(e){var t;if(!1===e.isObj){g.items=e.items.toArray(),g.index=0;var n,i=e.items;for(t=0;t<i.length;t++)if((n=i[t]).parsed&&(n=n.el[0]),n===e.el[0]){g.index=t;break}}else g.items=d.isArray(e.items)?e.items:[e.items],g.index=e.index||0;if(!g.isOpen){g.types=[],v="",e.mainEl&&e.mainEl.length?g.ev=e.mainEl.eq(0):g.ev=h,e.key?(g.popupsCache[e.key]||(g.popupsCache[e.key]={}),g.currTemplate=g.popupsCache[e.key]):g.currTemplate={},g.st=d.extend(!0,{},d.magnificPopup.defaults,e),g.fixedContentPos="auto"===g.st.fixedContentPos?!g.probablyMobile:g.st.fixedContentPos,g.st.modal&&(g.st.closeOnContentClick=!1,g.st.closeOnBgClick=!1,g.st.showCloseBtn=!1,g.st.enableEscapeKey=!1),g.bgOverlay||(g.bgOverlay=p("bg").on("click"+w,function(){g.close()}),g.wrap=p("wrap").attr("tabindex",-1).on("click"+w,function(e){g._checkIfClose(e.target)&&g.close()}),g.container=p("container",g.wrap)),g.contentContainer=p("content"),g.st.preloader&&(g.preloader=p("preloader",g.container,g.st.tLoading));var o=d.magnificPopup.modules;for(t=0;t<o.length;t++){var r=o[t];r=r.charAt(0).toUpperCase()+r.slice(1),g["init"+r].call(g)}f("BeforeOpen"),g.st.showCloseBtn&&(g.st.closeBtnInside?(u(y,function(e,t,n,i){n.close_replaceWith=m(i.type)}),v+=" mfp-close-btn-in"):g.wrap.append(m())),g.st.alignTop&&(v+=" mfp-align-top"),g.fixedContentPos?g.wrap.css({overflow:g.st.overflowY,overflowX:"hidden",overflowY:g.st.overflowY}):g.wrap.css({top:k.scrollTop(),position:"absolute"}),!1!==g.st.fixedBgPos&&("auto"!==g.st.fixedBgPos||g.fixedContentPos)||g.bgOverlay.css({height:h.height(),position:"absolute"}),g.st.enableEscapeKey&&h.on("keyup"+w,function(e){27===e.keyCode&&g.close()}),k.on("resize"+w,function(){g.updateSize()}),g.st.closeOnContentClick||(v+=" mfp-auto-cursor"),v&&g.wrap.addClass(v);var a=g.wH=k.height(),s={};if(g.fixedContentPos&&g._hasScrollBar(a)){var l=g._getScrollbarSize();l&&(s.marginRight=l)}g.fixedContentPos&&(g.isIE7?d("body, html").css("overflow","hidden"):s.overflow="hidden");var c=g.st.mainClass;return g.isIE7&&(c+=" mfp-ie7"),c&&g._addClassToMFP(c),g.updateItemHTML(),f("BuildControls"),d("html").css(s),g.bgOverlay.add(g.wrap).prependTo(g.st.prependTo||d(document.body)),g._lastFocusedEl=document.activeElement,setTimeout(function(){g.content?(g._addClassToMFP(b),g._setFocus()):g.bgOverlay.addClass(b),h.on("focusin"+w,g._onFocusIn)},16),g.isOpen=!0,g.updateSize(a),f(C),e}g.updateItemHTML()},close:function(){g.isOpen&&(f(c),g.isOpen=!1,g.st.removalDelay&&!g.isLowIE&&g.supportsTransition?(g._addClassToMFP(s),setTimeout(function(){g._close()},g.st.removalDelay)):g._close())},_close:function(){f(l);var e=s+" "+b+" ";if(g.bgOverlay.detach(),g.wrap.detach(),g.container.empty(),g.st.mainClass&&(e+=g.st.mainClass+" "),g._removeClassFromMFP(e),g.fixedContentPos){var t={marginRight:""};g.isIE7?d("body, html").css("overflow",""):t.overflow="",d("html").css(t)}h.off("keyup.mfp focusin"+w),g.ev.off(w),g.wrap.attr("class","mfp-wrap").removeAttr("style"),g.bgOverlay.attr("class","mfp-bg"),g.container.attr("class","mfp-container"),!g.st.showCloseBtn||g.st.closeBtnInside&&!0!==g.currTemplate[g.currItem.type]||g.currTemplate.closeBtn&&g.currTemplate.closeBtn.detach(),g.st.autoFocusLast&&g._lastFocusedEl&&d(g._lastFocusedEl).focus(),g.currItem=null,g.content=null,g.currTemplate=null,g.prevHeight=0,f("AfterClose")},updateSize:function(e){if(g.isIOS){var t=document.documentElement.clientWidth/window.innerWidth,n=window.innerHeight*t;g.wrap.css("height",n),g.wH=n}else g.wH=e||k.height();g.fixedContentPos||g.wrap.css("height",g.wH),f("Resize")},updateItemHTML:function(){var e=g.items[g.index];g.contentContainer.detach(),g.content&&g.content.detach(),e.parsed||(e=g.parseEl(g.index));var t=e.type;if(f("BeforeChange",[g.currItem?g.currItem.type:"",t]),g.currItem=e,!g.currTemplate[t]){var n=!!g.st[t]&&g.st[t].markup;f("FirstMarkupParse",n),g.currTemplate[t]=!n||d(n)}o&&o!==e.type&&g.container.removeClass("mfp-"+o+"-holder");var i=g["get"+t.charAt(0).toUpperCase()+t.slice(1)](e,g.currTemplate[t]);g.appendContent(i,t),e.preloaded=!0,f(a,e),o=e.type,g.container.prepend(g.contentContainer),f("AfterChange")},appendContent:function(e,t){(g.content=e)?g.st.showCloseBtn&&g.st.closeBtnInside&&!0===g.currTemplate[t]?g.content.find(".mfp-close").length||g.content.append(m()):g.content=e:g.content="",f("BeforeAppend"),g.container.addClass("mfp-"+t+"-holder"),g.contentContainer.append(g.content)},parseEl:function(e){var t,n=g.items[e];if((n=n.tagName?{el:d(n)}:(t=n.type,{data:n,src:n.src})).el){for(var i=g.types,o=0;o<i.length;o++)if(n.el.hasClass("mfp-"+i[o])){t=i[o];break}n.src=n.el.attr("data-mfp-src"),n.src||(n.src=n.el.attr("href"))}return n.type=t||g.st.type||"inline",n.index=e,n.parsed=!0,g.items[e]=n,f("ElementParse",n),g.items[e]},addGroup:function(t,n){function e(e){e.mfpEl=this,g._openClick(e,t,n)}var i="click.magnificPopup";(n=n||{}).mainEl=t,n.items?(n.isObj=!0,t.off(i).on(i,e)):(n.isObj=!1,n.delegate?t.off(i).on(i,n.delegate,e):(n.items=t).off(i).on(i,e))},_openClick:function(e,t,n){if((void 0!==n.midClick?n.midClick:d.magnificPopup.defaults.midClick)||!(2===e.which||e.ctrlKey||e.metaKey||e.altKey||e.shiftKey)){var i=void 0!==n.disableOn?n.disableOn:d.magnificPopup.defaults.disableOn;if(i)if(d.isFunction(i)){if(!i.call(g))return!0}else if(k.width()<i)return!0;e.type&&(e.preventDefault(),g.isOpen&&e.stopPropagation()),n.el=d(e.mfpEl),n.delegate&&(n.items=t.find(n.delegate)),g.open(n)}},updateStatus:function(e,t){if(g.preloader){i!==e&&g.container.removeClass("mfp-s-"+i),t||"loading"!==e||(t=g.st.tLoading);var n={status:e,text:t};f("UpdateStatus",n),e=n.status,t=n.text,g.preloader.html(t),g.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),g.container.addClass("mfp-s-"+e),i=e}},_checkIfClose:function(e){if(!d(e).hasClass(I)){var t=g.st.closeOnContentClick,n=g.st.closeOnBgClick;if(t&&n)return!0;if(!g.content||d(e).hasClass("mfp-close")||g.preloader&&e===g.preloader[0])return!0;if(e===g.content[0]||d.contains(g.content[0],e)){if(t)return!0}else if(n&&d.contains(document,e))return!0;return!1}},_addClassToMFP:function(e){g.bgOverlay.addClass(e),g.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),g.wrap.removeClass(e)},_hasScrollBar:function(e){return(g.isIE7?h.height():document.body.scrollHeight)>(e||k.height())},_setFocus:function(){(g.st.focus?g.content.find(g.st.focus).eq(0):g.wrap).focus()},_onFocusIn:function(e){if(e.target!==g.wrap[0]&&!d.contains(g.wrap[0],e.target))return g._setFocus(),!1},_parseMarkup:function(o,e,t){var r;t.data&&(e=d.extend(t.data,e)),f(y,[o,e,t]),d.each(e,function(e,t){if(void 0===t||!1===t)return!0;if(1<(r=e.split("_")).length){var n=o.find(w+"-"+r[0]);if(0<n.length){var i=r[1];"replaceWith"===i?n[0]!==t[0]&&n.replaceWith(t):"img"===i?n.is("img")?n.attr("src",t):n.replaceWith(d("<img>").attr("src",t).attr("class",n.attr("class"))):n.attr(r[1],t)}}else o.find(w+"-"+e).html(t)})},_getScrollbarSize:function(){if(void 0===g.scrollbarSize){var e=document.createElement("div");e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),g.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return g.scrollbarSize}},d.magnificPopup={instance:null,proto:e.prototype,modules:[],open:function(e,t){return r(),(e=e?d.extend(!0,{},e):{}).isObj=!0,e.index=t||0,this.instance.open(e)},close:function(){return d.magnificPopup.instance&&d.magnificPopup.instance.close()},registerModule:function(e,t){t.options&&(d.magnificPopup.defaults[e]=t.options),d.extend(this.proto,t.proto),this.modules.push(e)},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}},d.fn.magnificPopup=function(e){r();var t=d(this);if("string"==typeof e)if("open"===e){var n,i=x?t.data("magnificPopup"):t[0].magnificPopup,o=parseInt(arguments[1],10)||0;n=i.items?i.items[o]:(n=t,i.delegate&&(n=n.find(i.delegate)),n.eq(o)),g._openClick({mfpEl:n},t,i)}else g.isOpen&&g[e].apply(g,Array.prototype.slice.call(arguments,1));else e=d.extend(!0,{},e),x?t.data("magnificPopup",e):t[0].magnificPopup=e,g.addGroup(t,e);return t};function T(){S&&(P.after(S.addClass(_)).detach(),S=null)}var _,P,S,E="inline";d.magnificPopup.registerModule(E,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){g.types.push(E),u(l+"."+E,function(){T()})},getInline:function(e,t){if(T(),e.src){var n=g.st.inline,i=d(e.src);if(i.length){var o=i[0].parentNode;o&&o.tagName&&(P||(_=n.hiddenClass,P=p(_),_="mfp-"+_),S=i.after(P).detach().removeClass(_)),g.updateStatus("ready")}else g.updateStatus("error",n.tNotFound),i=d("<div>");return e.inlineElement=i}return g.updateStatus("ready"),g._parseMarkup(t,{},e),t}}});function z(){M&&d(document.body).removeClass(M)}function O(){z(),g.req&&g.req.abort()}var M,B="ajax";d.magnificPopup.registerModule(B,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){g.types.push(B),M=g.st.ajax.cursor,u(l+"."+B,O),u("BeforeChange."+B,O)},getAjax:function(o){M&&d(document.body).addClass(M),g.updateStatus("loading");var e=d.extend({url:o.src,success:function(e,t,n){var i={data:e,xhr:n};f("ParseAjax",i),g.appendContent(d(i.data),B),o.finished=!0,z(),g._setFocus(),setTimeout(function(){g.wrap.addClass(b)},16),g.updateStatus("ready"),f("AjaxContentAdded")},error:function(){z(),o.finished=o.loadError=!0,g.updateStatus("error",g.st.ajax.tError.replace("%url%",o.src))}},g.st.ajax.settings);return g.req=d.ajax(e),""}}});var L;d.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 e=g.st.image,t=".image";g.types.push("image"),u(C+t,function(){"image"===g.currItem.type&&e.cursor&&d(document.body).addClass(e.cursor)}),u(l+t,function(){e.cursor&&d(document.body).removeClass(e.cursor),k.off("resize"+w)}),u("Resize"+t,g.resizeImage),g.isLowIE&&u("AfterChange",g.resizeImage)},resizeImage:function(){var e=g.currItem;if(e&&e.img&&g.st.image.verticalFit){var t=0;g.isLowIE&&(t=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",g.wH-t)}},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,L&&clearInterval(L),e.isCheckingImgSize=!1,f("ImageHasSize",e),e.imgHidden&&(g.content&&g.content.removeClass("mfp-loading"),e.imgHidden=!1))},findImageSize:function(t){var n=0,i=t.img[0],o=function(e){L&&clearInterval(L),L=setInterval(function(){0<i.naturalWidth?g._onImageHasSize(t):(200<n&&clearInterval(L),3===++n?o(10):40===n?o(50):100===n&&o(500))},e)};o(1)},getImage:function(e,t){var n=0,i=function(){e&&(e.img[0].complete?(e.img.off(".mfploader"),e===g.currItem&&(g._onImageHasSize(e),g.updateStatus("ready")),e.hasSize=!0,e.loaded=!0,f("ImageLoadComplete")):++n<200?setTimeout(i,100):o())},o=function(){e&&(e.img.off(".mfploader"),e===g.currItem&&(g._onImageHasSize(e),g.updateStatus("error",r.tError.replace("%url%",e.src))),e.hasSize=!0,e.loaded=!0,e.loadError=!0)},r=g.st.image,a=t.find(".mfp-img");if(a.length){var s=document.createElement("img");s.className="mfp-img",e.el&&e.el.find("img").length&&(s.alt=e.el.find("img").attr("alt")),e.img=d(s).on("load.mfploader",i).on("error.mfploader",o),s.src=e.src,a.is("img")&&(e.img=e.img.clone()),0<(s=e.img[0]).naturalWidth?e.hasSize=!0:s.width||(e.hasSize=!1)}return g._parseMarkup(t,{title:function(e){if(e.data&&void 0!==e.data.title)return e.data.title;var t=g.st.image.titleSrc;if(t){if(d.isFunction(t))return t.call(g,e);if(e.el)return e.el.attr(t)||""}return""}(e),img_replaceWith:e.img},e),g.resizeImage(),e.hasSize?(L&&clearInterval(L),e.loadError?(t.addClass("mfp-loading"),g.updateStatus("error",r.tError.replace("%url%",e.src))):(t.removeClass("mfp-loading"),g.updateStatus("ready"))):(g.updateStatus("loading"),e.loading=!0,e.hasSize||(e.imgHidden=!0,t.addClass("mfp-loading"),g.findImageSize(e))),t}}});var H;d.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var e,r=g.st.zoom,t=".zoom";if(r.enabled&&g.supportsTransition){function n(e){var t=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),n="all "+r.duration/1e3+"s "+r.easing,i={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},o="transition";return i["-webkit-"+o]=i["-moz-"+o]=i["-o-"+o]=i[o]=n,t.css(i),t}function i(){g.content.css("visibility","visible")}var o,a,s=r.duration;u("BuildControls"+t,function(){if(g._allowZoom()){if(clearTimeout(o),g.content.css("visibility","hidden"),!(e=g._getItemToZoom()))return void i();(a=n(e)).css(g._getOffset()),g.wrap.append(a),o=setTimeout(function(){a.css(g._getOffset(!0)),o=setTimeout(function(){i(),setTimeout(function(){a.remove(),e=a=null,f("ZoomAnimationEnded")},16)},s)},16)}}),u(c+t,function(){if(g._allowZoom()){if(clearTimeout(o),g.st.removalDelay=s,!e){if(!(e=g._getItemToZoom()))return;a=n(e)}a.css(g._getOffset(!0)),g.wrap.append(a),g.content.css("visibility","hidden"),setTimeout(function(){a.css(g._getOffset())},16)}}),u(l+t,function(){g._allowZoom()&&(i(),a&&a.remove(),e=null)})}},_allowZoom:function(){return"image"===g.currItem.type},_getItemToZoom:function(){return!!g.currItem.hasSize&&g.currItem.img},_getOffset:function(e){var t,n=(t=e?g.currItem.img:g.st.zoom.opener(g.currItem.el||g.currItem)).offset(),i=parseInt(t.css("padding-top"),10),o=parseInt(t.css("padding-bottom"),10);n.top-=d(window).scrollTop()-i;var r={width:t.width(),height:(x?t.innerHeight():t[0].offsetHeight)-o-i};return void 0===H&&(H=void 0!==document.createElement("p").style.MozTransform),H?r["-moz-transform"]=r.transform="translate("+n.left+"px,"+n.top+"px)":(r.left=n.left,r.top=n.top),r}}});function A(e){if(g.currTemplate[F]){var t=g.currTemplate[F].find("iframe");t.length&&(e||(t[0].src="//about:blank"),g.isIE8&&t.css("display",e?"block":"none"))}}var F="iframe";d.magnificPopup.registerModule(F,{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(){g.types.push(F),u("BeforeChange",function(e,t,n){t!==n&&(t===F?A():n===F&&A(!0))}),u(l+"."+F,function(){A()})},getIframe:function(e,t){var n=e.src,i=g.st.iframe;d.each(i.patterns,function(){if(-1<n.indexOf(this.index))return this.id&&(n="string"==typeof this.id?n.substr(n.lastIndexOf(this.id)+this.id.length,n.length):this.id.call(this,n)),n=this.src.replace("%id%",n),!1});var o={};return i.srcAction&&(o[i.srcAction]=n),g._parseMarkup(t,o,e),g.updateStatus("ready"),t}}});function j(e){var t=g.items.length;return t-1<e?e-t:e<0?t+e:e}function N(e,t,n){return e.replace(/%curr%/gi,t+1).replace(/%total%/gi,n)}d.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 r=g.st.gallery,e=".mfp-gallery";if(g.direction=!0,!r||!r.enabled)return!1;v+=" mfp-gallery",u(C+e,function(){r.navigateByImgClick&&g.wrap.on("click"+e,".mfp-img",function(){if(1<g.items.length)return g.next(),!1}),h.on("keydown"+e,function(e){37===e.keyCode?g.prev():39===e.keyCode&&g.next()})}),u("UpdateStatus"+e,function(e,t){t.text&&(t.text=N(t.text,g.currItem.index,g.items.length))}),u(y+e,function(e,t,n,i){var o=g.items.length;n.counter=1<o?N(r.tCounter,i.index,o):""}),u("BuildControls"+e,function(){if(1<g.items.length&&r.arrows&&!g.arrowLeft){var e=r.arrowMarkup,t=g.arrowLeft=d(e.replace(/%title%/gi,r.tPrev).replace(/%dir%/gi,"left")).addClass(I),n=g.arrowRight=d(e.replace(/%title%/gi,r.tNext).replace(/%dir%/gi,"right")).addClass(I);t.click(function(){g.prev()}),n.click(function(){g.next()}),g.container.append(t.add(n))}}),u(a+e,function(){g._preloadTimeout&&clearTimeout(g._preloadTimeout),g._preloadTimeout=setTimeout(function(){g.preloadNearbyImages(),g._preloadTimeout=null},16)}),u(l+e,function(){h.off(e),g.wrap.off("click"+e),g.arrowRight=g.arrowLeft=null})},next:function(){g.direction=!0,g.index=j(g.index+1),g.updateItemHTML()},prev:function(){g.direction=!1,g.index=j(g.index-1),g.updateItemHTML()},goTo:function(e){g.direction=e>=g.index,g.index=e,g.updateItemHTML()},preloadNearbyImages:function(){var e,t=g.st.gallery.preload,n=Math.min(t[0],g.items.length),i=Math.min(t[1],g.items.length);for(e=1;e<=(g.direction?i:n);e++)g._preloadItem(g.index+e);for(e=1;e<=(g.direction?n:i);e++)g._preloadItem(g.index-e)},_preloadItem:function(e){if(e=j(e),!g.items[e].preloaded){var t=g.items[e];t.parsed||(t=g.parseEl(e)),f("LazyLoad",t),"image"===t.type&&(t.img=d('<img class="mfp-img" />').on("load.mfploader",function(){t.hasSize=!0}).on("error.mfploader",function(){t.hasSize=!0,t.loadError=!0,f("LazyLoadError",t)}).attr("src",t.src)),t.preloaded=!0}}}});var W="retina";d.magnificPopup.registerModule(W,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(1<window.devicePixelRatio){var n=g.st.retina,i=n.ratio;1<(i=isNaN(i)?i():i)&&(u("ImageHasSize."+W,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/i,width:"100%"})}),u("ElementParse."+W,function(e,t){t.src=n.replaceSrc(t,i)}))}}}}),r()});
 
10
  !function(t,i){"function"==typeof define&&define.amd?define(["jquery"],function(t){return i(t)}):"object"==typeof exports?module.exports=i(require("jquery")):i(jQuery)}(0,function(E){function t(){this.__$emitterPrivate=E({}),this.__$emitterPublic=E({}),this.__instancesLatestArr=[],this.__plugins={},this._env=I}var c={animation:"fade",animationDuration:350,content:null,contentAsHTML:!1,contentCloning:!1,debug:!0,delay:300,delayTouch:[300,500],functionInit:null,functionBefore:null,functionReady:null,functionAfter:null,functionFormat:null,IEmin:6,interactive:!1,multiple:!1,parent:null,plugins:["sideTip"],repositionOnScroll:!1,restoration:"none",selfDestruction:!0,theme:[],timer:0,trackerInterval:500,trackOrigin:!1,trackTooltip:!1,trigger:"hover",triggerClose:{click:!1,mouseleave:!1,originClick:!1,scroll:!1,tap:!1,touchleave:!1},triggerOpen:{click:!1,mouseenter:!1,tap:!1,touchstart:!1},updateAnimation:"rotate",zIndex:9999999},n="undefined"!=typeof window?window:null,I={hasTouchCapability:!(!n||!("ontouchstart"in n||n.DocumentTouch&&n.document instanceof n.DocumentTouch||n.navigator.maxTouchPoints)),hasTransitions:function(){if(!n)return!1;var t=(n.document.body||n.document.documentElement).style,i="transition",o=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof t[i])return!0;i=i.charAt(0).toUpperCase()+i.substr(1);for(var e=0;e<o.length;e++)if("string"==typeof t[o[e]+i])return!0;return!1}(),IE:!1,semVer:"4.2.6",window:n};function i(t){this.$container,this.constraints=null,this.__$tooltip,this.__init(t)}function s(o,e){var n=!0;return E.each(o,function(t,i){if(void 0===e[t]||o[t]!==e[t])return n=!1}),n}function p(t){var i=t.attr("id"),o=i?I.window.document.getElementById(i):null;return o?o===t[0]:E.contains(I.window.document.body,t[0])}t.prototype={__bridge:function(t,o,e){if(!o[e]){function i(){}i.prototype=t;var n=new i;n.__init&&n.__init(o),E.each(t,function(t,i){0!=t.indexOf("__")&&(o[t]?c.debug&&console.log("The "+t+" method of the "+e+" plugin conflicts with another plugin or native methods"):(o[t]=function(){return n[t].apply(n,Array.prototype.slice.apply(arguments))},o[t].bridged=n))}),o[e]=n}return this},__setWindow:function(t){return I.window=t,this},_getRuler:function(t){return new i(t)},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_plugin:function(t){var i=this;if("string"==typeof t){var o=t,e=null;return 0<o.indexOf(".")?e=i.__plugins[o]:E.each(i.__plugins,function(t,i){if(i.name.substring(i.name.length-o.length-1)=="."+o)return e=i,!1}),e}if(t.name.indexOf(".")<0)throw new Error("Plugins must be namespaced");return(i.__plugins[t.name]=t).core&&i.__bridge(t.core,i,t.name),this},_trigger:function(){var t=Array.prototype.slice.apply(arguments);return"string"==typeof t[0]&&(t[0]={type:t[0]}),this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,t),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,t),this},instances:function(t){var e=[];return E(t||".tooltipstered").each(function(){var o=E(this),t=o.data("tooltipster-ns");t&&E.each(t,function(t,i){e.push(o.data(i))})}),e},instancesLatest:function(){return this.__instancesLatestArr},off:function(){return this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},origins:function(t){return E((t?t+" ":"")+".tooltipstered").toArray()},setDefaults:function(t){return E.extend(c,t),this},triggerHandler:function(){return this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},E.tooltipster=new t,E.Tooltipster=function(t,i){this.__callbacks={close:[],open:[]},this.__closingTime,this.__Content,this.__contentBcr,this.__destroyed=!1,this.__$emitterPrivate=E({}),this.__$emitterPublic=E({}),this.__enabled=!0,this.__garbageCollector,this.__Geometry,this.__lastPosition,this.__namespace="tooltipster-"+Math.round(1e6*Math.random()),this.__options,this.__$originParents,this.__pointerIsOverOrigin=!1,this.__previousThemes=[],this.__state="closed",this.__timeouts={close:[],open:null},this.__touchEvents=[],this.__tracker=null,this._$origin,this._$tooltip,this.__init(t,i)},E.Tooltipster.prototype={__init:function(t,i){var o=this;if(o._$origin=E(t),o.__options=E.extend(!0,{},c,i),o.__optionsFormat(),!I.IE||I.IE>=o.__options.IEmin){var e=null;if(void 0===o._$origin.data("tooltipster-initialTitle")&&(void 0===(e=o._$origin.attr("title"))&&(e=null),o._$origin.data("tooltipster-initialTitle",e)),null!==o.__options.content)o.__contentSet(o.__options.content);else{var n,s=o._$origin.attr("data-tooltip-content");s&&(n=E(s)),n&&n[0]?o.__contentSet(n.first()):o.__contentSet(e)}o._$origin.removeAttr("title").addClass("tooltipstered"),o.__prepareOrigin(),o.__prepareGC(),E.each(o.__options.plugins,function(t,i){o._plug(i)}),I.hasTouchCapability&&E(I.window.document.body).on("touchmove."+o.__namespace+"-triggerOpen",function(t){o._touchRecordEvent(t)}),o._on("created",function(){o.__prepareTooltip()})._on("repositioned",function(t){o.__lastPosition=t.position})}else o.__options.disabled=!0},__contentInsert:function(){var t=this,i=t._$tooltip.find(".tooltipster-content"),o=t.__Content;return t._trigger({type:"format",content:t.__Content,format:function(t){o=t}}),t.__options.functionFormat&&(o=t.__options.functionFormat.call(t,t,{origin:t._$origin[0]},t.__Content)),"string"!=typeof o||t.__options.contentAsHTML?i.empty().append(o):i.text(o),t},__contentSet:function(t){return t instanceof E&&this.__options.contentCloning&&(t=t.clone(!0)),this.__Content=t,this._trigger({type:"updated",content:t}),this},__destroyError:function(){throw new Error("This tooltip has been destroyed and cannot execute your method call.")},__geometry:function(){var t=this,i=t._$origin,o=t._$origin.is("area");if(o){var e=t._$origin.parent().attr("name");i=E('img[usemap="#'+e+'"]')}var n=i[0].getBoundingClientRect(),s=E(I.window.document),r=E(I.window),_=i,a={available:{document:null,window:null},document:{size:{height:s.height(),width:s.width()}},window:{scroll:{left:I.window.scrollX||I.window.document.documentElement.scrollLeft,top:I.window.scrollY||I.window.document.documentElement.scrollTop},size:{height:r.height(),width:r.width()}},origin:{fixedLineage:!1,offset:{},size:{height:n.bottom-n.top,width:n.right-n.left},usemapImage:o?i[0]:null,windowOffset:{bottom:n.bottom,left:n.left,right:n.right,top:n.top}}};if(o){var l=t._$origin.attr("shape"),p=t._$origin.attr("coords");if(p&&(p=p.split(","),E.map(p,function(t,i){p[i]=parseInt(t)})),"default"!=l)switch(l){case"circle":var c=p[0],h=p[1],d=p[2],u=h-d,g=c-d;a.origin.size.height=2*d,a.origin.size.width=a.origin.size.height,a.origin.windowOffset.left+=g,a.origin.windowOffset.top+=u;break;case"rect":var f=p[0],m=p[1],w=p[2],v=p[3];a.origin.size.height=v-m,a.origin.size.width=w-f,a.origin.windowOffset.left+=f,a.origin.windowOffset.top+=m;break;case"poly":for(var y=0,b=0,$=0,C=0,O="even",T=0;T<p.length;T++){var z=p[T];O="even"==O?($<z&&($=z,0===T&&(y=$)),z<y&&(y=z),"odd"):(C<z&&(C=z,1==T&&(b=C)),z<b&&(b=z),"even")}a.origin.size.height=C-b,a.origin.size.width=$-y,a.origin.windowOffset.left+=y,a.origin.windowOffset.top+=b}}for(t._trigger({type:"geometry",edit:function(t){a.origin.size.height=t.height,a.origin.windowOffset.left=t.left,a.origin.windowOffset.top=t.top,a.origin.size.width=t.width},geometry:{height:a.origin.size.height,left:a.origin.windowOffset.left,top:a.origin.windowOffset.top,width:a.origin.size.width}}),a.origin.windowOffset.right=a.origin.windowOffset.left+a.origin.size.width,a.origin.windowOffset.bottom=a.origin.windowOffset.top+a.origin.size.height,a.origin.offset.left=a.origin.windowOffset.left+a.window.scroll.left,a.origin.offset.top=a.origin.windowOffset.top+a.window.scroll.top,a.origin.offset.bottom=a.origin.offset.top+a.origin.size.height,a.origin.offset.right=a.origin.offset.left+a.origin.size.width,a.available.document={bottom:{height:a.document.size.height-a.origin.offset.bottom,width:a.document.size.width},left:{height:a.document.size.height,width:a.origin.offset.left},right:{height:a.document.size.height,width:a.document.size.width-a.origin.offset.right},top:{height:a.origin.offset.top,width:a.document.size.width}},a.available.window={bottom:{height:Math.max(a.window.size.height-Math.max(a.origin.windowOffset.bottom,0),0),width:a.window.size.width},left:{height:a.window.size.height,width:Math.max(a.origin.windowOffset.left,0)},right:{height:a.window.size.height,width:Math.max(a.window.size.width-Math.max(a.origin.windowOffset.right,0),0)},top:{height:Math.max(a.origin.windowOffset.top,0),width:a.window.size.width}};"html"!=_[0].tagName.toLowerCase();){if("fixed"==_.css("position")){a.origin.fixedLineage=!0;break}_=_.parent()}return a},__optionsFormat:function(){return"number"==typeof this.__options.animationDuration&&(this.__options.animationDuration=[this.__options.animationDuration,this.__options.animationDuration]),"number"==typeof this.__options.delay&&(this.__options.delay=[this.__options.delay,this.__options.delay]),"number"==typeof this.__options.delayTouch&&(this.__options.delayTouch=[this.__options.delayTouch,this.__options.delayTouch]),"string"==typeof this.__options.theme&&(this.__options.theme=[this.__options.theme]),null===this.__options.parent?this.__options.parent=E(I.window.document.body):"string"==typeof this.__options.parent&&(this.__options.parent=E(this.__options.parent)),"hover"==this.__options.trigger?(this.__options.triggerOpen={mouseenter:!0,touchstart:!0},this.__options.triggerClose={mouseleave:!0,originClick:!0,touchleave:!0}):"click"==this.__options.trigger&&(this.__options.triggerOpen={click:!0,tap:!0},this.__options.triggerClose={click:!0,tap:!0}),this._trigger("options"),this},__prepareGC:function(){var t=this;return t.__options.selfDestruction?t.__garbageCollector=setInterval(function(){var o=(new Date).getTime();t.__touchEvents=E.grep(t.__touchEvents,function(t,i){return 6e4<o-t.time}),p(t._$origin)||t.close(function(){t.destroy()})},2e4):clearInterval(t.__garbageCollector),t},__prepareOrigin:function(){var i=this;if(i._$origin.off("."+i.__namespace+"-triggerOpen"),I.hasTouchCapability&&i._$origin.on("touchstart."+i.__namespace+"-triggerOpen touchend."+i.__namespace+"-triggerOpen touchcancel."+i.__namespace+"-triggerOpen",function(t){i._touchRecordEvent(t)}),i.__options.triggerOpen.click||i.__options.triggerOpen.tap&&I.hasTouchCapability){var t="";i.__options.triggerOpen.click&&(t+="click."+i.__namespace+"-triggerOpen "),i.__options.triggerOpen.tap&&I.hasTouchCapability&&(t+="touchend."+i.__namespace+"-triggerOpen"),i._$origin.on(t,function(t){i._touchIsMeaningfulEvent(t)&&i._open(t)})}if(i.__options.triggerOpen.mouseenter||i.__options.triggerOpen.touchstart&&I.hasTouchCapability){t="";i.__options.triggerOpen.mouseenter&&(t+="mouseenter."+i.__namespace+"-triggerOpen "),i.__options.triggerOpen.touchstart&&I.hasTouchCapability&&(t+="touchstart."+i.__namespace+"-triggerOpen"),i._$origin.on(t,function(t){!i._touchIsTouchEvent(t)&&i._touchIsEmulatedEvent(t)||(i.__pointerIsOverOrigin=!0,i._openShortly(t))})}if(i.__options.triggerClose.mouseleave||i.__options.triggerClose.touchleave&&I.hasTouchCapability){t="";i.__options.triggerClose.mouseleave&&(t+="mouseleave."+i.__namespace+"-triggerOpen "),i.__options.triggerClose.touchleave&&I.hasTouchCapability&&(t+="touchend."+i.__namespace+"-triggerOpen touchcancel."+i.__namespace+"-triggerOpen"),i._$origin.on(t,function(t){i._touchIsMeaningfulEvent(t)&&(i.__pointerIsOverOrigin=!1)})}return i},__prepareTooltip:function(){var o=this,t=o.__options.interactive?"auto":"";return o._$tooltip.attr("id",o.__namespace).css({"pointer-events":t,zIndex:o.__options.zIndex}),E.each(o.__previousThemes,function(t,i){o._$tooltip.removeClass(i)}),E.each(o.__options.theme,function(t,i){o._$tooltip.addClass(i)}),o.__previousThemes=E.merge([],o.__options.theme),o},__scrollHandler:function(t){var i=this;if(i.__options.triggerClose.scroll)i._close(t);else if(p(i._$origin)&&p(i._$tooltip)){var r=null;if(t.target===I.window.document)i.__Geometry.origin.fixedLineage||i.__options.repositionOnScroll&&i.reposition(t);else{r=i.__geometry();var _=!1;if("fixed"!=i._$origin.css("position")&&i.__$originParents.each(function(t,i){var o=E(i),e=o.css("overflow-x"),n=o.css("overflow-y");if("visible"!=e||"visible"!=n){var s=i.getBoundingClientRect();if("visible"!=e&&(r.origin.windowOffset.left<s.left||r.origin.windowOffset.right>s.right))return!(_=!0);if("visible"!=n&&(r.origin.windowOffset.top<s.top||r.origin.windowOffset.bottom>s.bottom))return!(_=!0)}if("fixed"==o.css("position"))return!1}),_)i._$tooltip.css("visibility","hidden");else if(i._$tooltip.css("visibility","visible"),i.__options.repositionOnScroll)i.reposition(t);else{var o=r.origin.offset.left-i.__Geometry.origin.offset.left,e=r.origin.offset.top-i.__Geometry.origin.offset.top;i._$tooltip.css({left:i.__lastPosition.coord.left+o,top:i.__lastPosition.coord.top+e})}}i._trigger({type:"scroll",event:t,geo:r})}return i},__stateSet:function(t){return this.__state=t,this._trigger({type:"state",state:t}),this},__timeoutsClear:function(){return clearTimeout(this.__timeouts.open),this.__timeouts.open=null,E.each(this.__timeouts.close,function(t,i){clearTimeout(i)}),this.__timeouts.close=[],this},__trackerStart:function(){var e=this,n=e._$tooltip.find(".tooltipster-content");return e.__options.trackTooltip&&(e.__contentBcr=n[0].getBoundingClientRect()),e.__tracker=setInterval(function(){if(p(e._$origin)&&p(e._$tooltip)){if(e.__options.trackOrigin){var t=e.__geometry(),i=!1;s(t.origin.size,e.__Geometry.origin.size)&&(e.__Geometry.origin.fixedLineage?s(t.origin.windowOffset,e.__Geometry.origin.windowOffset)&&(i=!0):s(t.origin.offset,e.__Geometry.origin.offset)&&(i=!0)),i||(e.__options.triggerClose.mouseleave?e._close():e.reposition())}if(e.__options.trackTooltip){var o=n[0].getBoundingClientRect();o.height===e.__contentBcr.height&&o.width===e.__contentBcr.width||(e.reposition(),e.__contentBcr=o)}}else e._close()},e.__options.trackerInterval),e},_close:function(o,t,i){var e=this,n=!0;if(e._trigger({type:"close",event:o,stop:function(){n=!1}}),n||i){t&&e.__callbacks.close.push(t),e.__callbacks.open=[],e.__timeoutsClear();function s(){E.each(e.__callbacks.close,function(t,i){i.call(e,e,{event:o,origin:e._$origin[0]})}),e.__callbacks.close=[]}if("closed"!=e.__state){var r=!0,_=(new Date).getTime()+e.__options.animationDuration[1];if("disappearing"==e.__state&&_>e.__closingTime&&0<e.__options.animationDuration[1]&&(r=!1),r){e.__closingTime=_,"disappearing"!=e.__state&&e.__stateSet("disappearing");function a(){clearInterval(e.__tracker),e._trigger({type:"closing",event:o}),e._$tooltip.off("."+e.__namespace+"-triggerClose").removeClass("tooltipster-dying"),E(I.window).off("."+e.__namespace+"-triggerClose"),e.__$originParents.each(function(t,i){E(i).off("scroll."+e.__namespace+"-triggerClose")}),e.__$originParents=null,E(I.window.document.body).off("."+e.__namespace+"-triggerClose"),e._$origin.off("."+e.__namespace+"-triggerClose"),e._off("dismissable"),e.__stateSet("closed"),e._trigger({type:"after",event:o}),e.__options.functionAfter&&e.__options.functionAfter.call(e,e,{event:o,origin:e._$origin[0]}),s()}I.hasTransitions?(e._$tooltip.css({"-moz-animation-duration":e.__options.animationDuration[1]+"ms","-ms-animation-duration":e.__options.animationDuration[1]+"ms","-o-animation-duration":e.__options.animationDuration[1]+"ms","-webkit-animation-duration":e.__options.animationDuration[1]+"ms","animation-duration":e.__options.animationDuration[1]+"ms","transition-duration":e.__options.animationDuration[1]+"ms"}),e._$tooltip.clearQueue().removeClass("tooltipster-show").addClass("tooltipster-dying"),0<e.__options.animationDuration[1]&&e._$tooltip.delay(e.__options.animationDuration[1]),e._$tooltip.queue(a)):e._$tooltip.stop().fadeOut(e.__options.animationDuration[1],a)}}else s()}return e},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_open:function(t,i){var o=this;if(!o.__destroying&&p(o._$origin)&&o.__enabled){var e=!0;if("closed"==o.__state&&(o._trigger({type:"before",event:t,stop:function(){e=!1}}),e&&o.__options.functionBefore&&(e=o.__options.functionBefore.call(o,o,{event:t,origin:o._$origin[0]}))),!1!==e&&null!==o.__Content){i&&o.__callbacks.open.push(i),o.__callbacks.close=[],o.__timeoutsClear();function n(){"stable"!=o.__state&&o.__stateSet("stable"),E.each(o.__callbacks.open,function(t,i){i.call(o,o,{origin:o._$origin[0],tooltip:o._$tooltip[0]})}),o.__callbacks.open=[]}var s;if("closed"!==o.__state)s=0,"disappearing"===o.__state?(o.__stateSet("appearing"),I.hasTransitions?(o._$tooltip.clearQueue().removeClass("tooltipster-dying").addClass("tooltipster-show"),0<o.__options.animationDuration[0]&&o._$tooltip.delay(o.__options.animationDuration[0]),o._$tooltip.queue(n)):o._$tooltip.stop().fadeIn(n)):"stable"==o.__state&&n();else{if(o.__stateSet("appearing"),s=o.__options.animationDuration[0],o.__contentInsert(),o.reposition(t,!0),I.hasTransitions?(o._$tooltip.addClass("tooltipster-"+o.__options.animation).addClass("tooltipster-initial").css({"-moz-animation-duration":o.__options.animationDuration[0]+"ms","-ms-animation-duration":o.__options.animationDuration[0]+"ms","-o-animation-duration":o.__options.animationDuration[0]+"ms","-webkit-animation-duration":o.__options.animationDuration[0]+"ms","animation-duration":o.__options.animationDuration[0]+"ms","transition-duration":o.__options.animationDuration[0]+"ms"}),setTimeout(function(){"closed"!=o.__state&&(o._$tooltip.addClass("tooltipster-show").removeClass("tooltipster-initial"),0<o.__options.animationDuration[0]&&o._$tooltip.delay(o.__options.animationDuration[0]),o._$tooltip.queue(n))},0)):o._$tooltip.css("display","none").fadeIn(o.__options.animationDuration[0],n),o.__trackerStart(),E(I.window).on("resize."+o.__namespace+"-triggerClose",function(t){var i=E(document.activeElement);(i.is("input")||i.is("textarea"))&&E.contains(o._$tooltip[0],i[0])||o.reposition(t)}).on("scroll."+o.__namespace+"-triggerClose",function(t){o.__scrollHandler(t)}),o.__$originParents=o._$origin.parents(),o.__$originParents.each(function(t,i){E(i).on("scroll."+o.__namespace+"-triggerClose",function(t){o.__scrollHandler(t)})}),o.__options.triggerClose.mouseleave||o.__options.triggerClose.touchleave&&I.hasTouchCapability){o._on("dismissable",function(t){t.dismissable?t.delay?(l=setTimeout(function(){o._close(t.event)},t.delay),o.__timeouts.close.push(l)):o._close(t):clearTimeout(l)});var r=o._$origin,_="",a="",l=null;o.__options.interactive&&(r=r.add(o._$tooltip)),o.__options.triggerClose.mouseleave&&(_+="mouseenter."+o.__namespace+"-triggerClose ",a+="mouseleave."+o.__namespace+"-triggerClose "),o.__options.triggerClose.touchleave&&I.hasTouchCapability&&(_+="touchstart."+o.__namespace+"-triggerClose",a+="touchend."+o.__namespace+"-triggerClose touchcancel."+o.__namespace+"-triggerClose"),r.on(a,function(t){if(o._touchIsTouchEvent(t)||!o._touchIsEmulatedEvent(t)){var i="mouseleave"==t.type?o.__options.delay:o.__options.delayTouch;o._trigger({delay:i[1],dismissable:!0,event:t,type:"dismissable"})}}).on(_,function(t){!o._touchIsTouchEvent(t)&&o._touchIsEmulatedEvent(t)||o._trigger({dismissable:!1,event:t,type:"dismissable"})})}o.__options.triggerClose.originClick&&o._$origin.on("click."+o.__namespace+"-triggerClose",function(t){o._touchIsTouchEvent(t)||o._touchIsEmulatedEvent(t)||o._close(t)}),(o.__options.triggerClose.click||o.__options.triggerClose.tap&&I.hasTouchCapability)&&setTimeout(function(){if("closed"!=o.__state){var t="",i=E(I.window.document.body);o.__options.triggerClose.click&&(t+="click."+o.__namespace+"-triggerClose "),o.__options.triggerClose.tap&&I.hasTouchCapability&&(t+="touchend."+o.__namespace+"-triggerClose"),i.on(t,function(t){o._touchIsMeaningfulEvent(t)&&(o._touchRecordEvent(t),o.__options.interactive&&E.contains(o._$tooltip[0],t.target)||o._close(t))}),o.__options.triggerClose.tap&&I.hasTouchCapability&&i.on("touchstart."+o.__namespace+"-triggerClose",function(t){o._touchRecordEvent(t)})}},0),o._trigger("ready"),o.__options.functionReady&&o.__options.functionReady.call(o,o,{origin:o._$origin[0],tooltip:o._$tooltip[0]})}if(0<o.__options.timer){l=setTimeout(function(){o._close()},o.__options.timer+s);o.__timeouts.close.push(l)}}}return o},_openShortly:function(t){var i=this,o=!0;if("stable"!=i.__state&&"appearing"!=i.__state&&!i.__timeouts.open&&(i._trigger({type:"start",event:t,stop:function(){o=!1}}),o)){var e=0==t.type.indexOf("touch")?i.__options.delayTouch:i.__options.delay;e[0]?i.__timeouts.open=setTimeout(function(){i.__timeouts.open=null,i.__pointerIsOverOrigin&&i._touchIsMeaningfulEvent(t)?(i._trigger("startend"),i._open(t)):i._trigger("startcancel")},e[0]):(i._trigger("startend"),i._open(t))}return i},_optionsExtract:function(t,i){var e=this,o=E.extend(!0,{},i),n=e.__options[t];return n||(n={},E.each(i,function(t,i){var o=e.__options[t];void 0!==o&&(n[t]=o)})),E.each(o,function(t,i){void 0!==n[t]&&("object"!=typeof i||i instanceof Array||null==i||"object"!=typeof n[t]||n[t]instanceof Array||null==n[t]?o[t]=n[t]:E.extend(o[t],n[t]))}),o},_plug:function(t){var i=E.tooltipster._plugin(t);if(!i)throw new Error('The "'+t+'" plugin is not defined');return i.instance&&E.tooltipster.__bridge(i.instance,this,i.name),this},_touchIsEmulatedEvent:function(t){for(var i=!1,o=(new Date).getTime(),e=this.__touchEvents.length-1;0<=e;e--){var n=this.__touchEvents[e];if(!(o-n.time<500))break;n.target===t.target&&(i=!0)}return i},_touchIsMeaningfulEvent:function(t){return this._touchIsTouchEvent(t)&&!this._touchSwiped(t.target)||!this._touchIsTouchEvent(t)&&!this._touchIsEmulatedEvent(t)},_touchIsTouchEvent:function(t){return 0==t.type.indexOf("touch")},_touchRecordEvent:function(t){return this._touchIsTouchEvent(t)&&(t.time=(new Date).getTime(),this.__touchEvents.push(t)),this},_touchSwiped:function(t){for(var i=!1,o=this.__touchEvents.length-1;0<=o;o--){var e=this.__touchEvents[o];if("touchmove"==e.type){i=!0;break}if("touchstart"==e.type&&t===e.target)break}return i},_trigger:function(){var t=Array.prototype.slice.apply(arguments);return"string"==typeof t[0]&&(t[0]={type:t[0]}),t[0].instance=this,t[0].origin=this._$origin?this._$origin[0]:null,t[0].tooltip=this._$tooltip?this._$tooltip[0]:null,this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,t),E.tooltipster._trigger.apply(E.tooltipster,t),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,t),this},_unplug:function(o){var e=this;if(e[o]){var t=E.tooltipster._plugin(o);t.instance&&E.each(t.instance,function(t,i){e[t]&&e[t].bridged===e[o]&&delete e[t]}),e[o].__destroy&&e[o].__destroy(),delete e[o]}return e},close:function(t){return this.__destroyed?this.__destroyError():this._close(null,t),this},content:function(t){var i=this;if(void 0===t)return i.__Content;if(i.__destroyed)i.__destroyError();else if(i.__contentSet(t),null!==i.__Content){if("closed"!==i.__state&&(i.__contentInsert(),i.reposition(),i.__options.updateAnimation))if(I.hasTransitions){var o=i.__options.updateAnimation;i._$tooltip.addClass("tooltipster-update-"+o),setTimeout(function(){"closed"!=i.__state&&i._$tooltip.removeClass("tooltipster-update-"+o)},1e3)}else i._$tooltip.fadeTo(200,.5,function(){"closed"!=i.__state&&i._$tooltip.fadeTo(200,1)})}else i._close();return i},destroy:function(){var o=this;if(o.__destroyed)o.__destroyError();else{"closed"!=o.__state?o.option("animationDuration",0)._close(null,null,!0):o.__timeoutsClear(),o._trigger("destroy"),o.__destroyed=!0,o._$origin.removeData(o.__namespace).off("."+o.__namespace+"-triggerOpen"),E(I.window.document.body).off("."+o.__namespace+"-triggerOpen");var t=o._$origin.data("tooltipster-ns");if(t)if(1===t.length){var i=null;"previous"==o.__options.restoration?i=o._$origin.data("tooltipster-initialTitle"):"current"==o.__options.restoration&&(i="string"==typeof o.__Content?o.__Content:E("<div></div>").append(o.__Content).html()),i&&o._$origin.attr("title",i),o._$origin.removeClass("tooltipstered"),o._$origin.removeData("tooltipster-ns").removeData("tooltipster-initialTitle")}else t=E.grep(t,function(t,i){return t!==o.__namespace}),o._$origin.data("tooltipster-ns",t);o._trigger("destroyed"),o._off(),o.off(),o.__Content=null,o.__$emitterPrivate=null,o.__$emitterPublic=null,o.__options.parent=null,o._$origin=null,o._$tooltip=null,E.tooltipster.__instancesLatestArr=E.grep(E.tooltipster.__instancesLatestArr,function(t,i){return o!==t}),clearInterval(o.__garbageCollector)}return o},disable:function(){return this.__destroyed?this.__destroyError():(this._close(),this.__enabled=!1),this},elementOrigin:function(){if(!this.__destroyed)return this._$origin[0];this.__destroyError()},elementTooltip:function(){return this._$tooltip?this._$tooltip[0]:null},enable:function(){return this.__enabled=!0,this},hide:function(t){return this.close(t)},instance:function(){return this},off:function(){return this.__destroyed||this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},open:function(t){return this.__destroyed?this.__destroyError():this._open(null,t),this},option:function(t,i){return void 0===i?this.__options[t]:(this.__destroyed?this.__destroyError():(this.__options[t]=i,this.__optionsFormat(),0<=E.inArray(t,["trigger","triggerClose","triggerOpen"])&&this.__prepareOrigin(),"selfDestruction"===t&&this.__prepareGC()),this)},reposition:function(t,i){var o=this;return o.__destroyed?o.__destroyError():"closed"!=o.__state&&p(o._$origin)&&(i||p(o._$tooltip))&&(i||o._$tooltip.detach(),o.__Geometry=o.__geometry(),o._trigger({type:"reposition",event:t,helper:{geo:o.__Geometry}})),o},show:function(t){return this.open(t)},status:function(){return{destroyed:this.__destroyed,enabled:this.__enabled,open:"closed"!==this.__state,state:this.__state}},triggerHandler:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},E.fn.tooltipster=function(){var n=Array.prototype.slice.apply(arguments),e="You are using a single HTML element as content for several tooltips. You probably want to set the contentCloning option to TRUE.";if(0===this.length)return this;if("string"==typeof n[0]){var s="#*$~&";return this.each(function(){var t=E(this).data("tooltipster-ns"),i=t?E(this).data(t[0]):null;if(!i)throw new Error("You called Tooltipster's \""+n[0]+'" method on an uninitialized element');if("function"!=typeof i[n[0]])throw new Error('Unknown method "'+n[0]+'"');1<this.length&&"content"==n[0]&&(n[1]instanceof E||"object"==typeof n[1]&&null!=n[1]&&n[1].tagName)&&!i.__options.contentCloning&&i.__options.debug&&console.log(e);var o=i[n[0]](n[1],n[2]);if(o!==i||"instance"===n[0])return s=o,!1}),"#*$~&"!==s?s:this}E.tooltipster.__instancesLatestArr=[];var t=n[0]&&void 0!==n[0].multiple,r=t&&n[0].multiple||!t&&c.multiple,i=n[0]&&void 0!==n[0].content,o=i&&n[0].content||!i&&c.content,_=n[0]&&void 0!==n[0].contentCloning,a=_&&n[0].contentCloning||!_&&c.contentCloning,l=n[0]&&void 0!==n[0].debug,p=l&&n[0].debug||!l&&c.debug;return 1<this.length&&(o instanceof E||"object"==typeof o&&null!=o&&o.tagName)&&!a&&p&&console.log(e),this.each(function(){var t=!1,i=E(this),o=i.data("tooltipster-ns"),e=null;o?r?t=!0:p&&(console.log("Tooltipster: one or more tooltips are already attached to the element below. Ignoring."),console.log(this)):t=!0,t&&(e=new E.Tooltipster(this,n[0]),(o=o||[]).push(e.__namespace),i.data("tooltipster-ns",o),i.data(e.__namespace,e),e.__options.functionInit&&e.__options.functionInit.call(e,e,{origin:this}),e._trigger("init")),E.tooltipster.__instancesLatestArr.push(e)}),this},i.prototype={__init:function(t){this.__$tooltip=t,this.__$tooltip.css({left:0,overflow:"hidden",position:"absolute",top:0}).find(".tooltipster-content").css("overflow","auto"),this.$container=E('<div class="tooltipster-ruler"></div>').append(this.__$tooltip).appendTo(I.window.document.body)},__forceRedraw:function(){var t=this.__$tooltip.parent();this.__$tooltip.detach(),this.__$tooltip.appendTo(t)},constrain:function(t,i){return this.constraints={width:t,height:i},this.__$tooltip.css({display:"block",height:"",overflow:"auto",width:t}),this},destroy:function(){this.__$tooltip.detach().find(".tooltipster-content").css({display:"",overflow:""}),this.$container.remove()},free:function(){return this.constraints=null,this.__$tooltip.css({display:"",height:"",overflow:"visible",width:""}),this},measure:function(){this.__forceRedraw();var t=this.__$tooltip[0].getBoundingClientRect(),i={size:{height:t.height||t.bottom-t.top,width:t.width||t.right-t.left}};if(this.constraints){var o=this.__$tooltip.find(".tooltipster-content"),e=this.__$tooltip.outerHeight(),n=o[0].getBoundingClientRect(),s={height:e<=this.constraints.height,width:t.width<=this.constraints.width&&n.width>=o[0].scrollWidth-1};i.fits=s.height&&s.width}return I.IE&&I.IE<=11&&i.size.width!==I.window.document.documentElement.clientWidth&&(i.size.width=Math.ceil(i.size.width)+1),i}};var o=navigator.userAgent.toLowerCase();-1!=o.indexOf("msie")?I.IE=parseInt(o.split("msie")[1]):-1!==o.toLowerCase().indexOf("trident")&&-1!==o.indexOf(" rv:11")?I.IE=11:-1!=o.toLowerCase().indexOf("edge/")&&(I.IE=parseInt(o.toLowerCase().split("edge/")[1]));var e="tooltipster.sideTip";return E.tooltipster._plugin({name:e,instance:{__defaults:function(){return{arrow:!0,distance:6,functionPosition:null,maxWidth:null,minIntersection:16,minWidth:0,position:null,side:"top",viewportAware:!0}},__init:function(t){var i=this;i.__instance=t,i.__namespace="tooltipster-sideTip-"+Math.round(1e6*Math.random()),i.__previousState="closed",i.__options,i.__optionsFormat(),i.__instance._on("state."+i.__namespace,function(t){"closed"==t.state?i.__close():"appearing"==t.state&&"closed"==i.__previousState&&i.__create(),i.__previousState=t.state}),i.__instance._on("options."+i.__namespace,function(){i.__optionsFormat()}),i.__instance._on("reposition."+i.__namespace,function(t){i.__reposition(t.event,t.helper)})},__close:function(){this.__instance.content()instanceof E&&this.__instance.content().detach(),this.__instance._$tooltip.remove(),this.__instance._$tooltip=null},__create:function(){var t=E('<div class="tooltipster-base tooltipster-sidetip"><div class="tooltipster-box"><div class="tooltipster-content"></div></div><div class="tooltipster-arrow"><div class="tooltipster-arrow-uncropped"><div class="tooltipster-arrow-border"></div><div class="tooltipster-arrow-background"></div></div></div></div>');this.__options.arrow||t.find(".tooltipster-box").css("margin",0).end().find(".tooltipster-arrow").hide(),this.__options.minWidth&&t.css("min-width",this.__options.minWidth+"px"),this.__options.maxWidth&&t.css("max-width",this.__options.maxWidth+"px"),this.__instance._$tooltip=t,this.__instance._trigger("created")},__destroy:function(){this.__instance._off("."+self.__namespace)},__optionsFormat:function(){var t=this;if(t.__options=t.__instance._optionsExtract(e,t.__defaults()),t.__options.position&&(t.__options.side=t.__options.position),"object"!=typeof t.__options.distance&&(t.__options.distance=[t.__options.distance]),t.__options.distance.length<4&&(void 0===t.__options.distance[1]&&(t.__options.distance[1]=t.__options.distance[0]),void 0===t.__options.distance[2]&&(t.__options.distance[2]=t.__options.distance[0]),void 0===t.__options.distance[3]&&(t.__options.distance[3]=t.__options.distance[1]),t.__options.distance={top:t.__options.distance[0],right:t.__options.distance[1],bottom:t.__options.distance[2],left:t.__options.distance[3]}),"string"==typeof t.__options.side){t.__options.side=[t.__options.side,{top:"bottom",right:"left",bottom:"top",left:"right"}[t.__options.side]],"left"==t.__options.side[0]||"right"==t.__options.side[0]?t.__options.side.push("top","bottom"):t.__options.side.push("right","left")}6===E.tooltipster._env.IE&&!0!==t.__options.arrow&&(t.__options.arrow=!1)},__reposition:function(a,l){var i,p=this,c=p.__targetFind(l),h=[];p.__instance._$tooltip.detach();var o=p.__instance._$tooltip.clone(),d=E.tooltipster._getRuler(o),u=!1,t=p.__instance.option("animation");switch(t&&o.removeClass("tooltipster-"+t),E.each(["window","document"],function(t,n){var s=null;if(p.__instance._trigger({container:n,helper:l,satisfied:u,takeTest:function(t){s=t},results:h,type:"positionTest"}),1==s||0!=s&&0==u&&("window"!=n||p.__options.viewportAware))for(t=0;t<p.__options.side.length;t++){var r={horizontal:0,vertical:0},_=p.__options.side[t];"top"==_||"bottom"==_?r.vertical=p.__options.distance[_]:r.horizontal=p.__options.distance[_],p.__sideChange(o,_),E.each(["natural","constrained"],function(t,i){if(s=null,p.__instance._trigger({container:n,event:a,helper:l,mode:i,results:h,satisfied:u,side:_,takeTest:function(t){s=t},type:"positionTest"}),1==s||0!=s&&0==u){var o={container:n,distance:r,fits:null,mode:i,outerSize:null,side:_,size:null,target:c[_],whole:null},e=("natural"==i?d.free():d.constrain(l.geo.available[n][_].width-r.horizontal,l.geo.available[n][_].height-r.vertical)).measure();if(o.size=e.size,o.outerSize={height:e.size.height+r.vertical,width:e.size.width+r.horizontal},"natural"==i?l.geo.available[n][_].width>=o.outerSize.width&&l.geo.available[n][_].height>=o.outerSize.height?o.fits=!0:o.fits=!1:o.fits=e.fits,"window"==n&&(o.fits?o.whole="top"==_||"bottom"==_?l.geo.origin.windowOffset.right>=p.__options.minIntersection&&l.geo.window.size.width-l.geo.origin.windowOffset.left>=p.__options.minIntersection:l.geo.origin.windowOffset.bottom>=p.__options.minIntersection&&l.geo.window.size.height-l.geo.origin.windowOffset.top>=p.__options.minIntersection:o.whole=!1),h.push(o),o.whole)u=!0;else if("natural"==o.mode&&(o.fits||o.size.width<=l.geo.available[n][_].width))return!1}})}}),p.__instance._trigger({edit:function(t){h=t},event:a,helper:l,results:h,type:"positionTested"}),h.sort(function(t,i){return t.whole&&!i.whole?-1:!t.whole&&i.whole?1:t.whole&&i.whole?(o=p.__options.side.indexOf(t.side))<(e=p.__options.side.indexOf(i.side))?-1:e<o?1:"natural"==t.mode?-1:1:t.fits&&!i.fits?-1:!t.fits&&i.fits?1:t.fits&&i.fits?(o=p.__options.side.indexOf(t.side))<(e=p.__options.side.indexOf(i.side))?-1:e<o?1:"natural"==t.mode?-1:1:"document"==t.container&&"bottom"==t.side&&"natural"==t.mode?-1:1;var o,e}),(i=h[0]).coord={},i.side){case"left":case"right":i.coord.top=Math.floor(i.target-i.size.height/2);break;case"bottom":case"top":i.coord.left=Math.floor(i.target-i.size.width/2)}switch(i.side){case"left":i.coord.left=l.geo.origin.windowOffset.left-i.outerSize.width;break;case"right":i.coord.left=l.geo.origin.windowOffset.right+i.distance.horizontal;break;case"top":i.coord.top=l.geo.origin.windowOffset.top-i.outerSize.height;break;case"bottom":i.coord.top=l.geo.origin.windowOffset.bottom+i.distance.vertical}"window"==i.container?"top"==i.side||"bottom"==i.side?i.coord.left<0?0<=l.geo.origin.windowOffset.right-this.__options.minIntersection?i.coord.left=0:i.coord.left=l.geo.origin.windowOffset.right-this.__options.minIntersection-1:i.coord.left>l.geo.window.size.width-i.size.width&&(l.geo.origin.windowOffset.left+this.__options.minIntersection<=l.geo.window.size.width?i.coord.left=l.geo.window.size.width-i.size.width:i.coord.left=l.geo.origin.windowOffset.left+this.__options.minIntersection+1-i.size.width):i.coord.top<0?0<=l.geo.origin.windowOffset.bottom-this.__options.minIntersection?i.coord.top=0:i.coord.top=l.geo.origin.windowOffset.bottom-this.__options.minIntersection-1:i.coord.top>l.geo.window.size.height-i.size.height&&(l.geo.origin.windowOffset.top+this.__options.minIntersection<=l.geo.window.size.height?i.coord.top=l.geo.window.size.height-i.size.height:i.coord.top=l.geo.origin.windowOffset.top+this.__options.minIntersection+1-i.size.height):(i.coord.left>l.geo.window.size.width-i.size.width&&(i.coord.left=l.geo.window.size.width-i.size.width),i.coord.left<0&&(i.coord.left=0)),p.__sideChange(o,i.side),l.tooltipClone=o[0],l.tooltipParent=p.__instance.option("parent").parent[0],l.mode=i.mode,l.whole=i.whole,l.origin=p.__instance._$origin[0],l.tooltip=p.__instance._$tooltip[0],delete i.container,delete i.fits,delete i.mode,delete i.outerSize,delete i.whole,i.distance=i.distance.horizontal||i.distance.vertical;var e,n,s,r=E.extend(!0,{},i);if(p.__instance._trigger({edit:function(t){i=t},event:a,helper:l,position:r,type:"position"}),p.__options.functionPosition){var _=p.__options.functionPosition.call(p,p.__instance,l,r);_&&(i=_)}d.destroy(),n="top"==i.side||"bottom"==i.side?(e={prop:"left",val:i.target-i.coord.left},i.size.width-this.__options.minIntersection):(e={prop:"top",val:i.target-i.coord.top},i.size.height-this.__options.minIntersection),e.val<this.__options.minIntersection?e.val=this.__options.minIntersection:e.val>n&&(e.val=n),s=l.geo.origin.fixedLineage?l.geo.origin.windowOffset:{left:l.geo.origin.windowOffset.left+l.geo.window.scroll.left,top:l.geo.origin.windowOffset.top+l.geo.window.scroll.top},i.coord={left:s.left+(i.coord.left-l.geo.origin.windowOffset.left),top:s.top+(i.coord.top-l.geo.origin.windowOffset.top)},p.__sideChange(p.__instance._$tooltip,i.side),l.geo.origin.fixedLineage?p.__instance._$tooltip.css("position","fixed"):p.__instance._$tooltip.css("position",""),p.__instance._$tooltip.css({left:i.coord.left,top:i.coord.top,height:i.size.height,width:i.size.width}).find(".tooltipster-arrow").css({left:"",top:""}).css(e.prop,e.val),p.__instance._$tooltip.appendTo(p.__instance.option("parent")),p.__instance._trigger({type:"repositioned",event:a,position:i})},__sideChange:function(t,i){t.removeClass("tooltipster-bottom").removeClass("tooltipster-left").removeClass("tooltipster-right").removeClass("tooltipster-top").addClass("tooltipster-"+i)},__targetFind:function(t){var i={},o=this.__instance._$origin[0].getClientRects();1<o.length&&1==this.__instance._$origin.css("opacity")&&(this.__instance._$origin.css("opacity",.99),o=this.__instance._$origin[0].getClientRects(),this.__instance._$origin.css("opacity",1));if(o.length<2)i.top=Math.floor(t.geo.origin.windowOffset.left+t.geo.origin.size.width/2),i.bottom=i.top,i.left=Math.floor(t.geo.origin.windowOffset.top+t.geo.origin.size.height/2),i.right=i.left;else{var e=o[0];i.top=Math.floor(e.left+(e.right-e.left)/2),e=2<o.length?o[Math.ceil(o.length/2)-1]:o[0],i.right=Math.floor(e.top+(e.bottom-e.top)/2),e=o[o.length-1],i.bottom=Math.floor(e.left+(e.right-e.left)/2),e=2<o.length?o[Math.ceil((o.length+1)/2)-1]:o[o.length-1],i.left=Math.floor(e.top+(e.bottom-e.top)/2)}return i}}}),E});
11
  !function(r){"use strict";r(document).on("click",".eael-load-more-button",function(a){a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation();var o=r(this),s=r("span",o).html(),e=o.data("widget"),n=r(".elementor-element-"+e),t=o.data("class"),l=o.data("args"),p=o.data("settings"),d=o.data("layout"),i=parseInt(o.data("page"))+1;void 0!==e&&void 0!==l&&(o.addClass("button--loading"),r("span",o).html("Loading..."),r.ajax({url:localize.ajaxurl,type:"post",data:{action:"load_more",class:t,args:l,settings:p,page:i},success:function(a){var e=r(a);if(e.hasClass("no-posts-found")||0==e.length)o.remove();else{if(r(".eael-post-appender",n).append(e),"masonry"==d){var t=r(".eael-post-appender",n).isotope();t.isotope("appended",e).isotope("layout"),t.imagesLoaded().progress(function(){t.isotope("layout")})}o.removeClass("button--loading"),r("span",o).html(s),o.data("page",i)}},error:function(a){console.log(a)}}))})}(jQuery);
12
  var AdvAccordionHandler=function(e,n){var a=e.find(".eael-adv-accordion"),o=e.find(".eael-accordion-header"),d=a.data("accordion-type"),t=a.data("toogle-speed");o.each(function(){n(this).hasClass("active-default")&&(n(this).addClass("show active"),n(this).next().slideDown(t))}),o.unbind("click"),o.click(function(e){e.preventDefault();var a=n(this);"accordion"===d?a.hasClass("show")?(a.removeClass("show active"),a.next().slideUp(t)):(a.parent().parent().find(".eael-accordion-header").removeClass("show active"),a.parent().parent().find(".eael-accordion-content").slideUp(t),a.toggleClass("show active"),a.next().slideToggle(t)):a.hasClass("show")?(a.removeClass("show active"),a.next().slideUp(t)):(a.addClass("show active"),a.next().slideDown(t))})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-adv-accordion.default",AdvAccordionHandler)});
13
- var ContentTicker=function(a,e){var t=a.find(".eael-content-ticker").eq(0),o=void 0!==t.data("items")?t.data("items"):1,i=void 0!==t.data("items-tablet")?t.data("items-tablet"):1,n=void 0!==t.data("items-mobile")?t.data("items-mobile"):1,d=void 0!==t.data("margin")?t.data("margin"):10,r=void 0!==t.data("margin-tablet")?t.data("margin-tablet"):10,l=void 0!==t.data("margin-mobile")?t.data("margin-mobile"):10,s=void 0!==t.data("effect")?t.data("effect"):"slide",p=void 0!==t.data("speed")?t.data("speed"):400,v=void 0!==t.data("autoplay")?t.data("autoplay"):5e3,c=void 0!==t.data("loop")&&t.data("loop"),u=void 0!==t.data("grab-cursor")&&t.data("grab-cursor"),m=void 0!==t.data("pagination")?t.data("pagination"):".swiper-pagination",w=void 0!==t.data("arrow-next")?t.data("arrow-next"):".swiper-button-next",b=void 0!==t.data("arrow-prev")?t.data("arrow-prev"):".swiper-button-prev",g=void 0!==t.data("pause-on-hover")?t.data("pause-on-hover"):"",f=new Swiper(t,{direction:"horizontal",loop:c,speed:p,effect:s,slidesPerView:o,spaceBetween:d,grabCursor:u,paginationClickable:!0,autoHeight:!0,autoplay:{delay:v},pagination:{el:m,clickable:!0},navigation:{nextEl:w,prevEl:b},breakpoints:{480:{slidesPerView:n,spaceBetween:l},768:{slidesPerView:i,spaceBetween:r}}});0===v&&f.autoplay.stop(),g&&0!==v&&(t.on("mouseenter",function(){f.autoplay.stop()}),t.on("mouseleave",function(){f.autoplay.start()}))};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-content-ticker.default",ContentTicker)});
14
  var AdvanceTabHandler=function(a,s){var e="#"+a.find(".eael-advance-tabs").attr("id").toString();s(e+" .eael-tabs-nav ul li").each(function(a){s(this).hasClass("active-default")?(s(e+" .eael-tabs-nav > ul li").removeClass("active").addClass("inactive"),s(this).removeClass("inactive")):0==a&&s(this).removeClass("inactive").addClass("active")}),s(e+" .eael-tabs-content div").each(function(a){s(this).hasClass("active-default")?s(e+" .eael-tabs-content > div").removeClass("active"):0==a&&s(this).removeClass("inactive").addClass("active")}),s(e+" .eael-tabs-nav ul li").click(function(){var a=s(this).index(),e=s(this).closest(".eael-advance-tabs"),t=s(e).children(".eael-tabs-nav").children("ul").children("li"),i=s(e).children(".eael-tabs-content").children("div");s(this).parent("li").addClass("active"),s(t).removeClass("active active-default").addClass("inactive"),s(this).addClass("active").removeClass("inactive"),s(i).removeClass("active").addClass("inactive"),s(i).eq(a).addClass("active").removeClass("inactive"),s(i).each(function(a){s(this).removeClass("active-default")})})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-adv-tabs.default",AdvanceTabHandler)});
15
  var ContentTicker=function(a,e){var t=a.find(".eael-content-ticker").eq(0),o=void 0!==t.data("items")?t.data("items"):1,i=void 0!==t.data("items-tablet")?t.data("items-tablet"):1,n=void 0!==t.data("items-mobile")?t.data("items-mobile"):1,d=void 0!==t.data("margin")?t.data("margin"):10,r=void 0!==t.data("margin-tablet")?t.data("margin-tablet"):10,l=void 0!==t.data("margin-mobile")?t.data("margin-mobile"):10,s=void 0!==t.data("effect")?t.data("effect"):"slide",p=void 0!==t.data("speed")?t.data("speed"):400,v=void 0!==t.data("autoplay")?t.data("autoplay"):5e3,c=void 0!==t.data("loop")&&t.data("loop"),u=void 0!==t.data("grab-cursor")&&t.data("grab-cursor"),m=void 0!==t.data("pagination")?t.data("pagination"):".swiper-pagination",w=void 0!==t.data("arrow-next")?t.data("arrow-next"):".swiper-button-next",b=void 0!==t.data("arrow-prev")?t.data("arrow-prev"):".swiper-button-prev",g=void 0!==t.data("pause-on-hover")?t.data("pause-on-hover"):"",f=new Swiper(t,{direction:"horizontal",loop:c,speed:p,effect:s,slidesPerView:o,spaceBetween:d,grabCursor:u,paginationClickable:!0,autoHeight:!0,autoplay:{delay:v},pagination:{el:m,clickable:!0},navigation:{nextEl:w,prevEl:b},breakpoints:{480:{slidesPerView:n,spaceBetween:l},768:{slidesPerView:i,spaceBetween:r}}});0===v&&f.autoplay.stop(),g&&0!==v&&(t.on("mouseenter",function(){f.autoplay.stop()}),t.on("mouseleave",function(){f.autoplay.start()}))};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-content-ticker.default",ContentTicker)});
16
  var CountDown=function(e,t){var n=e.find(".eael-countdown-wrapper").eq(0),d=void 0!==n.data("countdown-id")?n.data("countdown-id"):"",o=void 0!==n.data("expire-type")?n.data("expire-type"):"",a=void 0!==n.data("expiry-text")?n.data("expiry-text"):"",i=void 0!==n.data("expiry-title")?n.data("expiry-title"):"",r=void 0!==n.data("redirect-url")?n.data("redirect-url"):"",l=void 0!==n.data("template")?n.data("template"):"";jQuery(document).ready(function(e){"use strict";var t=e("#eael-countdown-"+d);t.countdown({end:function(){if("text"==o)t.html('<div class="eael-countdown-finish-message"><h4 class="expiry-title">'+i+'</h4><div class="eael-countdown-finish-text">'+a+"</div></div>");else if("url"===o){0<e("body").find("#elementor").length?t.html("Your Page will be redirected to given URL (only on Frontend)."):window.location.href=r}else"template"===o&&t.html(l)}})})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-countdown.default",CountDown)});
17
  var dataTable=function(e,n){var t=e.find(".eael-data-table-wrap");t.data("table_id");if("undefined"!=typeof enableProSorter&&n.isFunction(enableProSorter)&&n(document).ready(function(){enableProSorter(jQuery,t)}),1==t.data("custom_responsive")){var a=e.find(".eael-data-table").find("th");e.find(".eael-data-table").find("tbody").find("tr").each(function(e,t){n(t).find("td .td-content-wrapper").each(function(e,t){n(this).prepend('<div class="th-mobile-screen">'+a.eq(e).html()+"</div>")})})}};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-data-table.default",dataTable)});
18
  var FacebookFeed=function(o,a){isEditMode||($facebook_gallery=a(".eael-facebook-feed",o).isotope({itemSelector:".eael-facebook-feed-item",percentPosition:!0,columnWidth:".eael-facebook-feed-item"}),$facebook_gallery.imagesLoaded().progress(function(){$facebook_gallery.isotope("layout")})),a(".eael-load-more-button",o).on("click",function(e){e.preventDefault(),$this=a(this),$settings=$this.attr("data-settings"),$page=$this.attr("data-page"),$this.addClass("button--loading"),a("span",$this).html("Loading..."),a.ajax({url:localize.ajaxurl,type:"post",data:{action:"facebook_feed_load_more",security:localize.nonce,settings:$settings,page:$page},success:function(e){$html=a(e.html),$facebook_gallery=a(".eael-facebook-feed",o).isotope(),a(".eael-facebook-feed",o).append($html),$facebook_gallery.isotope("appended",$html),$facebook_gallery.imagesLoaded().progress(function(){$facebook_gallery.isotope("layout")}),e.num_pages>$page?($this.attr("data-page",parseInt($page)+1),$this.removeClass("button--loading"),a("span",$this).html("Load more")):$this.remove()},error:function(){}})})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-facebook-feed.default",FacebookFeed)});
19
  var FancyText=function(t,e){var a=t.find(".eael-fancy-text-container").eq(0),n=void 0!==a.data("fancy-text-id")?a.data("fancy-text-id"):"",o=void 0!==a.data("fancy-text")?a.data("fancy-text"):"",d=void 0!==a.data("fancy-text-transition-type")?a.data("fancy-text-transition-type"):"",i=void 0!==a.data("fancy-text-speed")?a.data("fancy-text-speed"):"",y=void 0!==a.data("fancy-text-delay")?a.data("fancy-text-delay"):"",c=void 0!==a.data("fancy-text-cursor"),f=void 0!==a.data("fancy-text-loop")&&"yes"==a.data("fancy-text-loop");o=o.split("|"),"typing"==d&&e("#eael-fancy-text-"+n).typed({strings:o,typeSpeed:i,backSpeed:0,startDelay:300,backDelay:y,showCursor:c,loop:f}),"typing"!=d&&e("#eael-fancy-text-"+n).Morphext({animation:d,separator:", ",speed:y,complete:function(){}}),jQuery(window).on("load",function(){setTimeout(function(){e(".eael-fancy-text-strings",t).css("display","inline-block")},500)})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-fancy-text.default",FancyText)});
20
- var filterableGalleryHandler=function(f,s){var i,a,t,e=f.find(".fg-layout-3-filter-controls").eq(0),l=f.find("#fg-filter-trigger"),o=f.find(".fg-layout-3-search-box"),n=f.find("#fg-search-box-input");if(o.length&&o.on("submit",function(e){e.preventDefault()}),l.on("click",function(){e.toggleClass("open-filters")}).blur(function(){e.toggleClass("open-filters")}),!isEditMode){var g=s(".eael-filter-gallery-container",f),r=g.data("settings"),d=g.data("gallery-items"),c="masonry"==r.grid_style?"masonry":"fitRows",u="yes"==r.gallery_enabled,p=s(".eael-filter-gallery-wrapper").data("layout-mode"),m=g.isotope({itemSelector:".eael-filterable-gallery-item-wrap",layoutMode:c,percentPosition:!0,stagger:30,transitionDuration:r.duration+"ms",filter:function(){var e=s(this),t=!i||e.text().match(i);null==a&&(a="layout_3"!=p?f.find(".eael-filter-gallery-control ul li").first().data("filter"):f.find(".fg-layout-3-filter-controls li").first().data("filter"));var l=!a||e.is(a);return t&&l}});f.on("click",".control",function(){var e=s(this);a=s(this).attr("data-filter"),f.find("#fg-filter-trigger > span")&&f.find("#fg-filter-trigger > span").text(e.text()),e.siblings().removeClass("active"),e.addClass("active"),m.isotope()}),n.on("input",function(){var e=s(this);clearTimeout(t),t=setTimeout(function(){i=new RegExp(e.val(),"gi"),m.isotope()},600)}),m.imagesLoaded().progress(function(){m.isotope("layout")}),m.on("arrangeComplete",function(){m.isotope("layout")}),s(window).on("load",function(){m.isotope("layout")}),s(".eael-magnific-link",f).magnificPopup({type:"image",gallery:{enabled:u},callbacks:{close:function(){s("#elementor-lightbox").hide()}}}),s(f).magnificPopup({delegate:".eael-magnific-video-link",type:"iframe",callbacks:{close:function(){s("#elementor-lightbox").hide()}}}),f.on("click",".eael-gallery-load-more",function(e){e.preventDefault();var t=s(this),l=s(".eael-filter-gallery-container",f).children(".eael-filterable-gallery-item-wrap").length,i=g.data("total-gallery-items"),a=g.data("images-per-page"),o=g.data("nomore-item-text"),n=[];l==i&&(t.html('<div class="no-more-items-text">'+o+"</div>"),setTimeout(function(){t.fadeOut("slow")},600));for(var r=l;r<l+a;r++)n.push(s(d[r])[0]);g.append(n),m.isotope("appended",n),m.imagesLoaded().progress(function(){m.isotope("layout")}),s(".eael-magnific-link",f).magnificPopup({type:"image",gallery:{enabled:u},callbacks:{close:function(){s("#elementor-lightbox").hide()}}})})}};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-filterable-gallery.default",filterableGalleryHandler)});
21
  !function(n){window.isEditMode=!1,n(window).on("elementor/frontend/init",function(){window.isEditMode=elementorFrontend.isEditMode()})}(jQuery);
 
22
  var ImageAccordion=function(e,a){var o=e.find(".eael-img-accordion").eq(0),i=void 0!==o.data("img-accordion-id")?o.data("img-accordion-id"):"";"on-click"===(void 0!==o.data("img-accordion-type")?o.data("img-accordion-type"):"")&&(a("#eael-img-accordion-"+i+" a").on("click",function(e){0==a(this).hasClass("overlay-active")&&e.preventDefault(),a("#eael-img-accordion-"+i+" a").css("flex","1"),a(this).find(".overlay").parent("a").addClass("overlay-active"),a("#eael-img-accordion-"+i+" a").find(".overlay-inner").removeClass("overlay-inner-show"),a(this).find(".overlay-inner").addClass("overlay-inner-show"),a(this).css("flex","3")}),a("#eael-img-accordion-"+i+" a").on("blur",function(e){a("#eael-img-accordion-"+i+" a").css("flex","1"),a("#eael-img-accordion-"+i+" a").find(".overlay-inner").removeClass("overlay-inner-show"),a(this).find(".overlay").parent("a").removeClass("overlay-active")}))};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-image-accordion.default",ImageAccordion)});
23
  var PostGrid=function(e,o){var t=o(".eael-post-appender",e).isotope({itemSelector:".eael-grid-post",masonry:{columnWidth:".eael-post-grid-column",percentPosition:!0}});t.imagesLoaded().progress(function(){t.isotope("layout")})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-post-grid.default",PostGrid)});
24
- jQuery(document).ready(function(){jQuery(window).scroll(function(){var e=(document.body.scrollTop||document.documentElement.scrollTop)/(document.documentElement.scrollHeight-document.documentElement.clientHeight)*100;jQuery(".eael-reading-progress-fill").css({width:e+"%"})}),isEditMode&&(elementor.settings.page.addChangeCallback("eael_ext_reading_progress",function(e){var r=elementor.settings.page.getSettings();"yes"==e?(0==jQuery(".eael-reading-progress-wrap").length&&jQuery("body").append('<div class="eael-reading-progress-wrap eael-reading-progress-wrap-local"><div class="eael-reading-progress eael-reading-progress-local eael-reading-progress-'+r.settings.eael_ext_reading_progress_position+'"><div class="eael-reading-progress-fill"></div></div><div class="eael-reading-progress eael-reading-progress-global eael-reading-progress-'+r.settings.eael_ext_reading_progress_position+'"><div class="eael-reading-progress-fill"></div></div></div>'),jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-local").removeClass("eael-reading-progress-wrap-global eael-reading-progress-wrap-disabled")):(jQuery(".eael-reading-progress-wrap").removeClass("eael-reading-progress-wrap-local eael-reading-progress-wrap-global"),1==r.settings.eael_ext_reading_progress_has_global?jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-global"):jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-disabled"))}),elementor.settings.page.addChangeCallback("eael_ext_reading_progress_position",function(e){elementor.settings.page.setSettings("eael_ext_reading_progress_position",e),jQuery(".eael-reading-progress").removeClass("eael-reading-progress-top eael-reading-progress-bottom").addClass("eael-reading-progress-"+e)}))});
25
- var ProgressBar=function(e,r){r(".eael-progressbar",e).eaelProgressBar()};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-progress-bar.default",ProgressBar)});
26
  var PricingTooltip=function(t,a){if(a.fn.tooltipster){var i,o=t.find(".tooltip");for(i=0;i<o.length;i++){var e=a("#"+a(o[i]).attr("id")),n=void 0!==e.data("side")&&e.data("side"),d=void 0!==e.data("trigger")?e.data("trigger"):"hover",r=void 0!==e.data("animation")?e.data("animation"):"fade",l=void 0!==e.data("animation_duration")?e.data("animation_duration"):300,f=void 0!==e.data("theme")?e.data("theme"):"default",m="yes"==e.data("arrow");e.tooltipster({animation:r,trigger:d,side:n,delay:l,arrow:m,theme:"tooltipster-"+f})}}};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-pricing-table.default",PricingTooltip)});
 
 
27
  var TwitterFeedHandler=function(e,t){isEditMode||($gutter=t(".eael-twitter-feed-masonry",e).data("gutter"),$settings={itemSelector:".eael-twitter-feed-item",percentPosition:!0,masonry:{columnWidth:".eael-twitter-feed-item",gutter:$gutter}},$twitter_feed_gallery=t(".eael-twitter-feed-masonry",e).isotope($settings),$twitter_feed_gallery.imagesLoaded().progress(function(){$twitter_feed_gallery.isotope("layout")}))};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-twitter-feed.default",TwitterFeedHandler)});
1
  !function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(i){"use strict";var n=function(t,s){this.$element=i(t),this.defaults=i.extend({},n.defaults,this.$element.data(),i.isPlainObject(s)?s:{}),this.init()};n.prototype={constructor:n,init:function(){var t=this.$element.html(),s=new Date(this.defaults.date||t);s.getTime()&&(this.content=t,this.date=s,this.find(),this.defaults.autoStart&&this.start())},find:function(){var t=this.$element;this.$days=t.find("[data-days]"),this.$hours=t.find("[data-hours]"),this.$minutes=t.find("[data-minutes]"),this.$seconds=t.find("[data-seconds]"),0<this.$days.length+this.$hours.length+this.$minutes.length+this.$seconds.length&&(this.found=!0)},reset:function(){this.found?(this.output("days"),this.output("hours"),this.output("minutes"),this.output("seconds")):this.output()},ready:function(){var t,s=this.date,e={};return!!s&&((t=s.getTime()-(new Date).getTime())<=0?(this.end(),!1):(e.days=t,e.hours=e.days%864e5,e.minutes=e.hours%36e5,e.seconds=e.minutes%6e4,e.milliseconds=e.seconds%1e3,this.days=Math.floor(e.days/864e5),this.hours=Math.floor(e.hours/36e5),this.minutes=Math.floor(e.minutes/6e4),this.seconds=Math.floor(e.seconds/1e3),this.deciseconds=Math.floor(e.milliseconds/100),!0))},start:function(){!this.active&&this.ready()&&(this.active=!0,this.reset(),this.autoUpdate=this.defaults.fast?setInterval(i.proxy(this.fastUpdate,this),100):setInterval(i.proxy(this.update,this),1e3))},stop:function(){this.active&&(this.active=!1,clearInterval(this.autoUpdate))},end:function(){this.date&&(this.stop(),this.days=0,this.hours=0,this.minutes=0,this.seconds=0,this.deciseconds=0,this.reset(),this.defaults.end())},destroy:function(){this.date&&(this.stop(),this.$days=null,this.$hours=null,this.$minutes=null,this.$seconds=null,this.$element.empty().html(this.content),this.$element.removeData("countdown"))},fastUpdate:function(){0<=--this.deciseconds?this.output("deciseconds"):(this.deciseconds=9,this.update())},update:function(){0<=--this.seconds?this.output("seconds"):(this.seconds=59,0<=--this.minutes?this.output("minutes"):(this.minutes=59,0<=--this.hours?this.output("hours"):(this.hours=23,0<=--this.days?this.output("days"):this.end())))},output:function(t){if(this.found)switch(t){case"deciseconds":this.$seconds.text(this.getSecondsText());break;case"seconds":this.$seconds.text(this.seconds);break;case"minutes":this.$minutes.text(this.minutes);break;case"hours":this.$hours.text(this.hours);break;case"days":this.$days.text(this.days)}else this.$element.empty().html(this.template())},template:function(){return this.defaults.text.replace("%s",this.days).replace("%s",this.hours).replace("%s",this.minutes).replace("%s",this.getSecondsText())},getSecondsText:function(){return this.active&&this.defaults.fast?this.seconds+"."+this.deciseconds:this.seconds}},n.defaults={autoStart:!0,date:null,fast:!1,end:i.noop,text:"%s days, %s hours, %s minutes, %s seconds"},n.setDefaults=function(t){i.extend(n.defaults,t)},i.fn.countdown=function(e){return this.each(function(){var t=i(this),s=t.data("countdown");s||t.data("countdown",s=new n(this,e)),"string"==typeof e&&i.isFunction(s[e])&&s[e]()})},i.fn.countdown.constructor=n,i.fn.countdown.setDefaults=n.setDefaults,i(function(){i("[countdown]").countdown()})});
 
2
  !function(t,e,n){"use strict";function o(t,s){var e=this;this.el=t,this.options={},Object.keys(i).forEach(function(t){e.options[t]=i[t]}),Object.keys(s).forEach(function(t){e.options[t]=s[t]}),this.isInput="input"===this.el.tagName.toLowerCase(),this.attr=this.options.attr,this.showCursor=!this.isInput&&this.options.showCursor,this.elContent=this.attr?this.el.getAttribute(this.attr):this.el.textContent,this.contentType=this.options.contentType,this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,n&&this.options.stringsElement instanceof n?this.stringsElement=this.options.stringsElement[0]:this.stringsElement=this.options.stringsElement,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.cursorChar=this.options.cursorChar,this.shuffle=this.options.shuffle,this.sequence=[],this.build()}o.prototype={constructor:o,init:function(){var s=this;s.timeout=setTimeout(function(){for(var t=0;t<s.strings.length;++t)s.sequence[t]=t;s.shuffle&&(s.sequence=s.shuffleArray(s.sequence)),s.typewrite(s.strings[s.sequence[s.arrayPos]],s.strPos)},s.startDelay)},build:function(){var s=this;!0===this.showCursor&&(this.cursor=e.createElement("span"),this.cursor.className="typed-cursor",this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)),this.stringsElement&&(this.strings=[],this.stringsElement.style.display="none",Array.prototype.slice.apply(this.stringsElement.children).forEach(function(t){s.strings.push(t.innerHTML)}));this.init()},typewrite:function(o,r){if(!0!==this.stop){var t=Math.round(70*Math.random())+this.typeSpeed,a=this;a.timeout=setTimeout(function(){var t=0,s=o.substr(r);if("^"===s.charAt(0)){var e=1;/^\^\d+/.test(s)&&(e+=(s=/\d+/.exec(s)[0]).length,t=parseInt(s)),o=o.substring(0,r)+o.substring(r+e)}if("html"===a.contentType){var i=o.substr(r).charAt(0);if("<"===i||"&"===i){var n;for(n="<"===i?">":";";o.substr(r+1).charAt(0)!==n&&(o.substr(r).charAt(0),!(++r+1>o.length)););r++,n}}a.timeout=setTimeout(function(){if(r===o.length){if(a.options.onStringTyped(a.arrayPos),a.arrayPos===a.strings.length-1&&(a.options.callback(),a.curLoop++,!1===a.loop||a.curLoop===a.loopCount))return;a.timeout=setTimeout(function(){a.backspace(o,r)},a.backDelay)}else{0===r&&a.options.preStringTyped(a.arrayPos);var t=o.substr(0,r+1);a.attr?a.el.setAttribute(a.attr,t):a.isInput?a.el.value=t:"html"===a.contentType?a.el.innerHTML=t:a.el.textContent=t,r++,a.typewrite(o,r)}},t)},t)}},backspace:function(s,e){if(!0!==this.stop){var t=Math.round(70*Math.random())+this.backSpeed,i=this;i.timeout=setTimeout(function(){if("html"===i.contentType&&">"===s.substr(e).charAt(0)){for(;"<"!==s.substr(e-1).charAt(0)&&(s.substr(e).charAt(0),!(--e<0)););e--,"<"}var t=s.substr(0,e);i.attr?i.el.setAttribute(i.attr,t):i.isInput?i.el.value=t:"html"===i.contentType?i.el.innerHTML=t:i.el.textContent=t,e>i.stopNum?(e--,i.backspace(s,e)):e<=i.stopNum&&(i.arrayPos++,i.arrayPos===i.strings.length?(i.arrayPos=0,i.shuffle&&(i.sequence=i.shuffleArray(i.sequence)),i.init()):i.typewrite(i.strings[i.sequence[i.arrayPos]],e))},t)}},shuffleArray:function(t){var s,e,i=t.length;if(i)for(;--i;)s=t[e=Math.floor(Math.random()*(i+1))],t[e]=t[i],t[i]=s;return t},reset:function(){clearInterval(this.timeout),this.el.getAttribute("id"),this.el.textContent="",void 0!==this.cursor&&void 0!==this.cursor.parentNode&&this.cursor.parentNode.removeChild(this.cursor),this.strPos=0,this.arrayPos=0,this.curLoop=0,this.options.resetCallback()}},o.new=function(t,i){Array.prototype.slice.apply(e.querySelectorAll(t)).forEach(function(t){var s=t._typed,e="object"==typeof i&&i;s&&s.reset(),t._typed=s=new o(t,e),"string"==typeof i&&s[i]()})},n&&(n.fn.typed=function(i){return this.each(function(){var t=n(this),s=t.data("typed"),e="object"==typeof i&&i;s&&s.reset(),t.data("typed",s=new o(this,e)),"string"==typeof i&&s[i]()})}),t.Typed=o;var i={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,shuffle:!1,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window,document,window.jQuery),function(i){"use strict";function s(t,s){this.element=i(t),this.settings=i.extend({},n,s),this._defaults=n,this._init()}var e="Morphext",n={animation:"bounceIn",separator:",",speed:2e3,complete:i.noop};s.prototype={_init:function(){var e=this;this.phrases=[],this.element.addClass("morphext"),i.each(this.element.text().split(this.settings.separator),function(t,s){e.phrases.push(i.trim(s))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML='<span class="animated '+this.settings.animation+'">'+this.phrases[this.index]+"</span>",i.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var t=this;this._interval=setInterval(function(){t.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},i.fn[e]=function(t){return this.each(function(){i.data(this,"plugin_"+e)||i.data(this,"plugin_"+e,new s(this,t))})}}(jQuery);
3
  !function(e){"use strict";var i="Morphext",s={animation:"bounceIn",separator:",",speed:2e3,complete:e.noop};function n(t,i){this.element=e(t),this.settings=e.extend({},s,i),this._defaults=s,this._init()}n.prototype={_init:function(){var s=this;this.phrases=[],this.element.addClass("morphext"),e.each(this.element.text().split(this.settings.separator),function(t,i){s.phrases.push(e.trim(i))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML='<span class="animated '+this.settings.animation+'">'+this.phrases[this.index]+"</span>",e.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var t=this;this._interval=setInterval(function(){t.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},e.fn[i]=function(t){return this.each(function(){e.data(this,"plugin_"+i)||e.data(this,"plugin_"+i,new n(this,t))})}}(jQuery);
4
  !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Typed=e():t.Typed=e()}(this,function(){return i={},s.m=n=[function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,s){return e&&i(t.prototype,e),s&&i(t,s),t};function i(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var r=s(1),u=s(3),o=(n(a,[{key:"toggle",value:function(){this.pause.status?this.start():this.stop()}},{key:"stop",value:function(){this.typingComplete||this.pause.status||(this.toggleBlinking(!0),this.pause.status=!0,this.options.onStop(this.arrayPos,this))}},{key:"start",value:function(){this.typingComplete||this.pause.status&&(this.pause.status=!1,this.pause.typewrite?this.typewrite(this.pause.curString,this.pause.curStrPos):this.backspace(this.pause.curString,this.pause.curStrPos),this.options.onStart(this.arrayPos,this))}},{key:"destroy",value:function(){this.reset(!1),this.options.onDestroy(this)}},{key:"reset",value:function(t){var e=arguments.length<=0||void 0===t||t;clearInterval(this.timeout),this.replaceText(""),this.cursor&&this.cursor.parentNode&&(this.cursor.parentNode.removeChild(this.cursor),this.cursor=null),this.strPos=0,this.arrayPos=0,this.curLoop=0,e&&(this.insertCursor(),this.options.onReset(this),this.begin())}},{key:"begin",value:function(){var t=this;this.typingComplete=!1,this.shuffleStringsIfNeeded(this),this.insertCursor(),this.bindInputFocusEvents&&this.bindFocusEvents(),this.timeout=setTimeout(function(){t.currentElContent&&0!==t.currentElContent.length?t.backspace(t.currentElContent,t.currentElContent.length):t.typewrite(t.strings[t.sequence[t.arrayPos]],t.strPos)},this.startDelay)}},{key:"typewrite",value:function(i,r){var o=this;this.fadeOut&&this.el.classList.contains(this.fadeOutClass)&&(this.el.classList.remove(this.fadeOutClass),this.cursor&&this.cursor.classList.remove(this.fadeOutClass));var t=this.humanizer(this.typeSpeed),a=1;!0!==this.pause.status?this.timeout=setTimeout(function(){r=u.htmlParser.typeHtmlChars(i,r,o);var t=0,e=i.substr(r);if("^"===e.charAt(0)&&/^\^\d+/.test(e)){var s=1;s+=(e=/\d+/.exec(e)[0]).length,t=parseInt(e),o.temporaryPause=!0,o.options.onTypingPaused(o.arrayPos,o),i=i.substring(0,r)+i.substring(r+s),o.toggleBlinking(!0)}if("`"===e.charAt(0)){for(;"`"!==i.substr(r+a).charAt(0)&&!(r+ ++a>i.length););var n=i.substring(0,r);i=n+i.substring(n.length+1,r+a)+i.substring(r+a+1),a--}o.timeout=setTimeout(function(){o.toggleBlinking(!1),r>=i.length?o.doneTyping(i,r):o.keepTyping(i,r,a),o.temporaryPause&&(o.temporaryPause=!1,o.options.onTypingResumed(o.arrayPos,o))},t)},t):this.setPauseStatus(i,r,!0)}},{key:"keepTyping",value:function(t,e,s){0===e&&(this.toggleBlinking(!1),this.options.preStringTyped(this.arrayPos,this)),e+=s;var n=t.substr(0,e);this.replaceText(n),this.typewrite(t,e)}},{key:"doneTyping",value:function(t,e){var s=this;this.options.onStringTyped(this.arrayPos,this),this.toggleBlinking(!0),this.arrayPos===this.strings.length-1&&(this.complete(),!1===this.loop||this.curLoop===this.loopCount)||(this.timeout=setTimeout(function(){s.backspace(t,e)},this.backDelay))}},{key:"backspace",value:function(s,n){var i=this;if(!0!==this.pause.status){if(this.fadeOut)return this.initFadeOut();this.toggleBlinking(!1);var t=this.humanizer(this.backSpeed);this.timeout=setTimeout(function(){n=u.htmlParser.backSpaceHtmlChars(s,n,i);var t=s.substr(0,n);if(i.replaceText(t),i.smartBackspace){var e=i.strings[i.arrayPos+1];e&&t===e.substr(0,n)?i.stopNum=n:i.stopNum=0}n>i.stopNum?(n--,i.backspace(s,n)):n<=i.stopNum&&(i.arrayPos++,i.arrayPos===i.strings.length?(i.arrayPos=0,i.options.onLastStringBackspaced(),i.shuffleStringsIfNeeded(),i.begin()):i.typewrite(i.strings[i.sequence[i.arrayPos]],n))},t)}else this.setPauseStatus(s,n,!0)}},{key:"complete",value:function(){this.options.onComplete(this),this.loop?this.curLoop++:this.typingComplete=!0}},{key:"setPauseStatus",value:function(t,e,s){this.pause.typewrite=s,this.pause.curString=t,this.pause.curStrPos=e}},{key:"toggleBlinking",value:function(t){this.cursor&&(this.pause.status||this.cursorBlinking!==t&&((this.cursorBlinking=t)?this.cursor.classList.add("typed-cursor--blink"):this.cursor.classList.remove("typed-cursor--blink")))}},{key:"humanizer",value:function(t){return Math.round(Math.random()*t/2)+t}},{key:"shuffleStringsIfNeeded",value:function(){this.shuffle&&(this.sequence=this.sequence.sort(function(){return Math.random()-.5}))}},{key:"initFadeOut",value:function(){var t=this;return this.el.className+=" "+this.fadeOutClass,this.cursor&&(this.cursor.className+=" "+this.fadeOutClass),setTimeout(function(){t.arrayPos++,t.replaceText(""),t.strings.length>t.arrayPos?t.typewrite(t.strings[t.sequence[t.arrayPos]],0):(t.typewrite(t.strings[0],0),t.arrayPos=0)},this.fadeOutDelay)}},{key:"replaceText",value:function(t){this.attr?this.el.setAttribute(this.attr,t):this.isInput?this.el.value=t:"html"===this.contentType?this.el.innerHTML=t:this.el.textContent=t}},{key:"bindFocusEvents",value:function(){var e=this;this.isInput&&(this.el.addEventListener("focus",function(t){e.stop()}),this.el.addEventListener("blur",function(t){e.el.value&&0!==e.el.value.length||e.start()}))}},{key:"insertCursor",value:function(){this.showCursor&&(this.cursor||(this.cursor=document.createElement("span"),this.cursor.className="typed-cursor",this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)))}}]),a);function a(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),r.initializer.load(this,e,t),this.begin()}e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var s=arguments[e];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n])}return t},n=function(t,e,s){return e&&i(t.prototype,e),s&&i(t,s),t};function i(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var r,o=s(2),u=(r=o)&&r.__esModule?r:{default:r},l=(n(c,[{key:"load",value:function(t,e,s){if(t.el="string"==typeof s?document.querySelector(s):s,t.options=a({},u.default,e),t.isInput="input"===t.el.tagName.toLowerCase(),t.attr=t.options.attr,t.bindInputFocusEvents=t.options.bindInputFocusEvents,t.showCursor=!t.isInput&&t.options.showCursor,t.cursorChar=t.options.cursorChar,t.cursorBlinking=!0,t.elContent=t.attr?t.el.getAttribute(t.attr):t.el.textContent,t.contentType=t.options.contentType,t.typeSpeed=t.options.typeSpeed,t.startDelay=t.options.startDelay,t.backSpeed=t.options.backSpeed,t.smartBackspace=t.options.smartBackspace,t.backDelay=t.options.backDelay,t.fadeOut=t.options.fadeOut,t.fadeOutClass=t.options.fadeOutClass,t.fadeOutDelay=t.options.fadeOutDelay,t.isPaused=!1,t.strings=t.options.strings.map(function(t){return t.trim()}),"string"==typeof t.options.stringsElement?t.stringsElement=document.querySelector(t.options.stringsElement):t.stringsElement=t.options.stringsElement,t.stringsElement){t.strings=[],t.stringsElement.style.display="none";var n=Array.prototype.slice.apply(t.stringsElement.children),i=n.length;if(i)for(var r=0;r<i;r+=1){var o=n[r];t.strings.push(o.innerHTML.trim())}}for(var r in t.strPos=0,t.arrayPos=0,t.stopNum=0,t.loop=t.options.loop,t.loopCount=t.options.loopCount,t.curLoop=0,t.shuffle=t.options.shuffle,t.sequence=[],t.pause={status:!1,typewrite:!0,curString:"",curStrPos:0},t.typingComplete=!1,t.strings)t.sequence[r]=r;t.currentElContent=this.getCurrentElContent(t),t.autoInsertCss=t.options.autoInsertCss,this.appendAnimationCss(t)}},{key:"getCurrentElContent",value:function(t){return t.attr?t.el.getAttribute(t.attr):t.isInput?t.el.value:"html"===t.contentType?t.el.innerHTML:t.el.textContent}},{key:"appendAnimationCss",value:function(t){var e="data-typed-js-css";if(t.autoInsertCss&&(t.showCursor||t.fadeOut)&&!document.querySelector("["+e+"]")){var s=document.createElement("style");s.type="text/css",s.setAttribute(e,!0);var n="";t.showCursor&&(n+="\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n "),t.fadeOut&&(n+="\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n "),0!==s.length&&(s.innerHTML=n,document.body.appendChild(s))}}}]),c);function c(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,c)}var p=new(e.default=l);e.initializer=p},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,smartBackspace:!0,shuffle:!1,backDelay:700,fadeOut:!1,fadeOutClass:"typed-fade-out",fadeOutDelay:500,loop:!1,loopCount:1/0,showCursor:!0,cursorChar:"|",autoInsertCss:!0,attr:null,bindInputFocusEvents:!1,contentType:"html",onComplete:function(t){},preStringTyped:function(t,e){},onStringTyped:function(t,e){},onLastStringBackspaced:function(t){},onTypingPaused:function(t,e){},onTypingResumed:function(t,e){},onReset:function(t){},onStop:function(t,e){},onStart:function(t,e){},onDestroy:function(t){}};e.default=s,t.exports=e.default},function(t,e){"use strict";function n(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}Object.defineProperty(e,"__esModule",{value:!0});var s=(function(t,e,s){return e&&n(t.prototype,e),s&&n(t,s),t}(i,[{key:"typeHtmlChars",value:function(t,e,s){if("html"!==s.contentType)return e;var n=t.substr(e).charAt(0);if("<"===n||"&"===n){var i="";for(i="<"===n?">":";";t.substr(e+1).charAt(0)!==i&&!(++e+1>t.length););e++}return e}},{key:"backSpaceHtmlChars",value:function(t,e,s){if("html"!==s.contentType)return e;var n=t.substr(e).charAt(0);if(">"===n||";"===n){var i="";for(i=">"===n?"<":"&";t.substr(e-1).charAt(0)!==i&&!(--e<0););e--}return e}}]),i);function i(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i)}var r=new(e.default=s);e.htmlParser=r}],s.c=i,s.p="",s(0);function s(t){if(i[t])return i[t].exports;var e=i[t]={exports:{},id:t,loaded:!1};return n[t].call(e.exports,e,e.exports,s),e.loaded=!0,e.exports}var n,i});
5
+ !function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return-1==n.indexOf(t)&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{};return(i[e]=i[e]||{})[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return-1!=n&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var s=i[o];n&&n[s]&&(this.off(e,s),delete n[s]),s.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(t,i){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(e){return i(t,e)}):"object"==typeof module&&module.exports?module.exports=i(t,require("ev-emitter")):t.imagesLoaded=i(t,t.EvEmitter)}("undefined"!=typeof window?window:this,function(t,e){var o=t.jQuery,s=t.console;function r(e,t){for(var i in t)e[i]=t[i];return e}var h=Array.prototype.slice;function a(e,t,i){if(!(this instanceof a))return new a(e,t,i);var n=e;"string"==typeof e&&(n=document.querySelectorAll(e)),n?(this.elements=function(e){return Array.isArray(e)?e:"object"==typeof e&&"number"==typeof e.length?h.call(e):[e]}(n),this.options=r({},this.options),"function"==typeof t?i=t:r(this.options,t),i&&this.on("always",i),this.getImages(),o&&(this.jqDeferred=new o.Deferred),setTimeout(this.check.bind(this))):s.error("Bad element for imagesLoaded "+(n||e))}(a.prototype=Object.create(e.prototype)).options={},a.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},a.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),!0===this.options.background&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&d[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var s=e.querySelectorAll(this.options.background);for(n=0;n<s.length;n++){var r=s[n];this.addElementBackgroundImages(r)}}}};var d={1:!0,9:!0,11:!0};function i(e){this.img=e}function n(e,t){this.url=e,this.element=t,this.img=new Image}return a.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},a.prototype.addImage=function(e){var t=new i(e);this.images.push(t)},a.prototype.addBackground=function(e,t){var i=new n(e,t);this.images.push(i)},a.prototype.check=function(){var n=this;function t(e,t,i){setTimeout(function(){n.progress(e,t,i)})}this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?this.images.forEach(function(e){e.once("progress",t),e.check()}):this.complete()},a.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&s&&s.log("progress: "+i,e,t)},a.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},(i.prototype=Object.create(e.prototype)).check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.src)},i.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},i.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},i.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},i.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},i.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},i.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},(n.prototype=Object.create(i.prototype)).check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},n.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},n.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},a.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&((o=e).fn.imagesLoaded=function(e,t){return new a(this,e,t).jqDeferred.promise(o(this))})},a.makeJQueryPlugin(),a});
6
  !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(f){var a,d,i,c=[],h=document,u=window,s=h.documentElement;function t(){if(c.length){var e=0,t=f.map(c,function(e){var t=e.data.selector,n=e.$element;return t?n.find(t):n});for(a=a||function(){var e,t,n={height:u.innerHeight,width:u.innerWidth};return n.height||!(e=h.compatMode)&&f.support.boxModel||(n={height:(t="CSS1Compat"===e?s:h.body).clientHeight,width:t.clientWidth}),n}(),d=d||{top:u.pageYOffset||s.scrollTop||h.body.scrollTop,left:u.pageXOffset||s.scrollLeft||h.body.scrollLeft};e<c.length;e++)if(f.contains(s,t[e][0])){var n=f(t[e]),i=n[0].offsetHeight,o=n[0].offsetWidth,l=n.offset(),r=n.data("inview");if(!d||!a)return;l.top+i>d.top&&l.top<d.top+a.height&&l.left+o>d.left&&l.left<d.left+a.width?r||n.data("inview",!0).trigger("inview",[!0]):r&&n.data("inview",!1).trigger("inview",[!1])}}}f.event.special.inview={add:function(e){c.push({data:e,$element:f(this),element:this}),!i&&c.length&&(i=setInterval(t,250))},remove:function(e){for(var t=0;t<c.length;t++){var n=c[t];if(n.element===this&&n.data.guid===e.guid){c.splice(t,1);break}}c.length||(clearInterval(i),i=null)}},f(u).on("scroll resize scrollstop",function(){a=d=null}),!s.addEventListener&&s.attachEvent&&s.attachEvent("onfocusin",function(){d=null})});
7
  !function(e,i){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("jquery")):e.jQueryBridget=i(e,e.jQuery)}(window,function(t,e){"use strict";var i=Array.prototype.slice,o=t.console,d=void 0===o?function(){}:function(t){o.error(t)};function n(h,n,l){(l=l||e||t.jQuery)&&(n.prototype.option||(n.prototype.option=function(t){l.isPlainObject(t)&&(this.options=l.extend(!0,this.options,t))}),l.fn[h]=function(t){return"string"==typeof t?function(t,s,r){var a,u="$()."+h+'("'+s+'")';return t.each(function(t,e){var i=l.data(e,h);if(i){var o=i[s];if(o&&"_"!=s.charAt(0)){var n=o.apply(i,r);a=void 0===a?n:a}else d(u+" is not a valid method")}else d(h+" not initialized. Cannot call methods, i.e. "+u)}),void 0!==a?a:t}(this,t,i.call(arguments,1)):(function(t,o){t.each(function(t,e){var i=l.data(e,h);i?(i.option(o),i._init()):(i=new n(e,o),l.data(e,h,i))})}(this,t),this)},s(l))}function s(t){!t||t&&t.bridget||(t.bridget=n)}return s(e||t.jQuery),n}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return-1==o.indexOf(e)&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return-1!=o&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var o=this._onceEvents&&this._onceEvents[t],n=0;n<i.length;n++){var s=i[n];o&&o[s]&&(this.off(t,s),delete o[s]),s.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function g(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}var i="undefined"==typeof console?function(){}:function(t){console.error(t)},v=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],_=v.length;function z(t){var e=getComputedStyle(t);return e||i("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}var I,x=!1;function S(t){if(function(){if(!x){x=!0;var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style.boxSizing="border-box";var e=document.body||document.documentElement;e.appendChild(t);var i=z(t);I=200==Math.round(g(i.width)),S.isBoxSizeOuter=I,e.removeChild(t)}}(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var e=z(t);if("none"==e.display)return function(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<_;e++){t[v[e]]=0}return t}();var i={};i.width=t.offsetWidth,i.height=t.offsetHeight;for(var o=i.isBorderBox="border-box"==e.boxSizing,n=0;n<_;n++){var s=v[n],r=e[s],a=parseFloat(r);i[s]=isNaN(a)?0:a}var u=i.paddingLeft+i.paddingRight,h=i.paddingTop+i.paddingBottom,l=i.marginLeft+i.marginRight,d=i.marginTop+i.marginBottom,f=i.borderLeftWidth+i.borderRightWidth,c=i.borderTopWidth+i.borderBottomWidth,m=o&&I,p=g(e.width);!1!==p&&(i.width=p+(m?0:u+f));var y=g(e.height);return!1!==y&&(i.height=y+(m?0:h+c)),i.innerWidth=i.width-(u+f),i.innerHeight=i.height-(h+c),i.outerWidth=i.width+l,i.outerHeight=i.height+d,i}}return S}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var i=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var o=e[i]+"MatchesSelector";if(t[o])return o}}();return function(t,e){return t[i](e)}}),function(e,i){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("desandro-matches-selector")):e.fizzyUIUtils=i(e,e.matchesSelector)}(window,function(h,s){var l={extend:function(t,e){for(var i in e)t[i]=e[i];return t},modulo:function(t,e){return(t%e+e)%e}},e=Array.prototype.slice;l.makeArray=function(t){return Array.isArray(t)?t:null==t?[]:"object"==typeof t&&"number"==typeof t.length?e.call(t):[t]},l.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},l.getParent=function(t,e){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,s(t,e))return t},l.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},l.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},l.filterFindElements=function(t,o){t=l.makeArray(t);var n=[];return t.forEach(function(t){if(t instanceof HTMLElement)if(o){s(t,o)&&n.push(t);for(var e=t.querySelectorAll(o),i=0;i<e.length;i++)n.push(e[i])}else n.push(t)}),n},l.debounceMethod=function(t,e,o){o=o||100;var n=t.prototype[e],s=e+"Timeout";t.prototype[e]=function(){var t=this[s];clearTimeout(t);var e=arguments,i=this;this[s]=setTimeout(function(){n.apply(i,e),delete i[s]},o)}},l.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},l.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var d=h.console;return l.htmlInit=function(a,u){l.docReady(function(){var t=l.toDashed(u),n="data-"+t,e=document.querySelectorAll("["+n+"]"),i=document.querySelectorAll(".js-"+t),o=l.makeArray(e).concat(l.makeArray(i)),s=n+"-options",r=h.jQuery;o.forEach(function(e){var t,i=e.getAttribute(n)||e.getAttribute(s);try{t=i&&JSON.parse(i)}catch(t){return void(d&&d.error("Error parsing "+n+" on "+e.className+": "+t))}var o=new a(e,t);r&&r.data(e,u,o)})})},l}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";var i=document.documentElement.style,o="string"==typeof i.transition?"transition":"WebkitTransition",n="string"==typeof i.transform?"transform":"WebkitTransform",s={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[o],r={transform:n,transition:o,transitionDuration:o+"Duration",transitionProperty:o+"Property",transitionDelay:o+"Delay"};function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var u=a.prototype=Object.create(t.prototype);u.constructor=a,u._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},u.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},u.getSize=function(){this.size=e(this.element)},u.css=function(t){var e=this.element.style;for(var i in t){e[r[i]||i]=t[i]}},u.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),o=t[e?"left":"right"],n=t[i?"top":"bottom"],s=parseFloat(o),r=parseFloat(n),a=this.layout.size;-1!=o.indexOf("%")&&(s=s/100*a.width),-1!=n.indexOf("%")&&(r=r/100*a.height),s=isNaN(s)?0:s,r=isNaN(r)?0:r,s-=e?a.paddingLeft:a.paddingRight,r-=i?a.paddingTop:a.paddingBottom,this.position.x=s,this.position.y=r},u.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),o=this.layout._getOption("originTop"),n=i?"paddingLeft":"paddingRight",s=i?"left":"right",r=i?"right":"left",a=this.position.x+t[n];e[s]=this.getXValue(a),e[r]="";var u=o?"paddingTop":"paddingBottom",h=o?"top":"bottom",l=o?"bottom":"top",d=this.position.y+t[u];e[h]=this.getYValue(d),e[l]="",this.css(e),this.emitEvent("layout",[this])},u.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},u.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},u._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),!n||this.isTransitioning){var s=t-i,r=e-o,a={};a.transform=this.getTranslate(s,r),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})}else this.layoutPosition()},u.getTranslate=function(t,e){return"translate3d("+(t=this.layout._getOption("originLeft")?t:-t)+"px, "+(e=this.layout._getOption("originTop")?e:-e)+"px, 0)"},u.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},u.moveTo=u._transitionTo,u.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},u._nonTransition=function(t){for(var e in this.css(t.to),t.isCleaning&&this._removeStyles(t.to),t.onTransitionEnd)t.onTransitionEnd[e].call(this)},u.transition=function(t){if(parseFloat(this.layout.options.transitionDuration)){var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);this.element.offsetHeight;null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0}else this._nonTransition(t)};var h="opacity,"+n.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()});u.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:h,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(s,this,!1)}},u.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},u.onotransitionend=function(t){this.ontransitionend(t)};var l={"-webkit-transform":"transform"};u.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,i=l[t.propertyName]||t.propertyName;if(delete e.ingProperties[i],function(t){for(var e in t)return!1;return!null}(e.ingProperties)&&this.disableTransition(),i in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[i]),i in e.onEnd)e.onEnd[i].call(this),delete e.onEnd[i];this.emitEvent("transitionEnd",[this])}},u.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(s,this,!1),this.isTransitioning=!1},u._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var d={transitionProperty:"",transitionDuration:"",transitionDelay:""};return u.removeTransitionStyles=function(){this.css(d)},u.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},u.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},u.remove=function(){o&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),this.hide()):this.removeElem()},u.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("visibleStyle")]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},u.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},u.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},u.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("hiddenStyle")]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},u.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},u.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}),function(n,s){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(t,e,i,o){return s(n,t,e,i,o)}):"object"==typeof module&&module.exports?module.exports=s(n,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):n.Outlayer=s(n,n.EvEmitter,n.getSize,n.fizzyUIUtils,n.Outlayer.Item)}(window,function(t,e,n,s,o){"use strict";function i(){}var r=t.console,a=t.jQuery,u=0,h={};function l(t,e){var i=s.getQueryElement(t);if(i){this.element=i,a&&(this.$element=a(this.element)),this.options=s.extend({},this.constructor.defaults),this.option(e);var o=++u;this.element.outlayerGUID=o,(h[o]=this)._create(),this._getOption("initLayout")&&this.layout()}else r&&r.error("Bad element for "+this.constructor.namespace+": "+(i||t))}l.namespace="outlayer",l.Item=o,l.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var d=l.prototype;function f(t){function e(){t.apply(this,arguments)}return(e.prototype=Object.create(t.prototype)).constructor=e}s.extend(d,e.prototype),d.option=function(t){s.extend(this.options,t)},d._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},l.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},d._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),s.extend(this.element.style,this.options.containerStyle),this._getOption("resize")&&this.bindResize()},d.reloadItems=function(){this.items=this._itemize(this.element.children)},d._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0;n<e.length;n++){var s=new i(e[n],this);o.push(s)}return o},d._filterFindItemElements=function(t){return s.filterFindElements(t,this.options.itemSelector)},d.getItemElements=function(){return this.items.map(function(t){return t.element})},d.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},d._init=d.layout,d._resetLayout=function(){this.getSize()},d.getSize=function(){this.size=n(this.element)},d._getMeasurement=function(t,e){var i,o=this.options[t];o?("string"==typeof o?i=this.element.querySelector(o):o instanceof HTMLElement&&(i=o),this[t]=i?n(i)[e]:o):this[t]=0},d.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},d._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},d._layoutItems=function(t,i){if(this._emitCompleteOnItems("layout",t),t&&t.length){var o=[];t.forEach(function(t){var e=this._getItemLayoutPosition(t);e.item=t,e.isInstant=i||t.isLayoutInstant,o.push(e)},this),this._processLayoutQueue(o)}},d._getItemLayoutPosition=function(){return{x:0,y:0}},d._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},d.updateStagger=function(){var t=this.options.stagger;if(null!=t)return this.stagger=function(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],o=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var n=c[o]||1;return i*n}(t),this.stagger;this.stagger=0},d._positionItem=function(t,e,i,o,n){o?t.goTo(e,i):(t.stagger(n*this.stagger),t.moveTo(e,i))},d._postLayout=function(){this.resizeContainer()},d.resizeContainer=function(){if(this._getOption("resizeContainer")){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},d._getContainerSize=i,d._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},d._emitCompleteOnItems=function(e,t){var i=this;function o(){i.dispatchEvent(e+"Complete",null,[t])}var n=t.length;if(t&&n){var s=0;t.forEach(function(t){t.once(e,r)})}else o();function r(){++s==n&&o()}},d.dispatchEvent=function(t,e,i){var o=e?[e].concat(i):i;if(this.emitEvent(t,o),a)if(this.$element=this.$element||a(this.element),e){var n=a.Event(e);n.type=t,this.$element.trigger(n,i)}else this.$element.trigger(t,i)},d.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},d.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},d.stamp=function(t){(t=this._find(t))&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},d.unstamp=function(t){(t=this._find(t))&&t.forEach(function(t){s.removeFrom(this.stamps,t),this.unignore(t)},this)},d._find=function(t){if(t)return"string"==typeof t&&(t=this.element.querySelectorAll(t)),t=s.makeArray(t)},d._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},d._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},d._manageStamp=i,d._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,o=n(t);return{left:e.left-i.left-o.marginLeft,top:e.top-i.top-o.marginTop,right:i.right-e.right-o.marginRight,bottom:i.bottom-e.bottom-o.marginBottom}},d.handleEvent=s.handleEvent,d.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},d.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},d.onresize=function(){this.resize()},s.debounceMethod(l,"onresize",100),d.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},d.needsResizeLayout=function(){var t=n(this.element);return this.size&&t&&t.innerWidth!==this.size.innerWidth},d.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},d.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},d.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},d.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var i=this.updateStagger();t.forEach(function(t,e){t.stagger(e*i),t.reveal()})}},d.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var i=this.updateStagger();t.forEach(function(t,e){t.stagger(e*i),t.hide()})}},d.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},d.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},d.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},d.getItems=function(t){t=s.makeArray(t);var i=[];return t.forEach(function(t){var e=this.getItem(t);e&&i.push(e)},this),i},d.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),s.removeFrom(this.items,t)},this)},d.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete h[e],delete this.element.outlayerGUID,a&&a.removeData(this.element,this.constructor.namespace)},l.data=function(t){var e=(t=s.getQueryElement(t))&&t.outlayerGUID;return e&&h[e]},l.create=function(t,e){var i=f(l);return i.defaults=s.extend({},l.defaults),s.extend(i.defaults,e),i.compatOptions=s.extend({},l.compatOptions),i.namespace=t,i.data=l.data,i.Item=f(o),s.htmlInit(i,t),a&&a.bridget&&a.bridget(t,i),i};var c={ms:1,s:1e3};return l.Item=o,l}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/item",["outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window,function(t){"use strict";function e(){t.Item.apply(this,arguments)}var i=e.prototype=Object.create(t.Item.prototype),o=i._create;i._create=function(){this.id=this.layout.itemGUID++,o.call(this),this.sortData={}},i.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}};var n=i.destroy;return i.destroy=function(){n.apply(this,arguments),this.css({display:""})},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window,function(e,i){"use strict";function o(t){(this.isotope=t)&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}var n=o.prototype;return["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"].forEach(function(t){n[t]=function(){return i.prototype[t].apply(this.isotope,arguments)}}),n.needsVerticalResizeLayout=function(){var t=e(this.isotope.element);return this.isotope.size&&t&&t.innerHeight!=this.isotope.size.innerHeight},n._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},n.getColumnWidth=function(){this.getSegmentSize("column","Width")},n.getRowHeight=function(){this.getSegmentSize("row","Height")},n.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},n.getFirstItemSize=function(){var t=this.isotope.filteredItems[0];return t&&t.element&&e(t.element)},n.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},n.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},o.modes={},o.create=function(t,e){function i(){o.apply(this,arguments)}return(i.prototype=Object.create(n)).constructor=i,e&&(i.options=e),o.modes[i.prototype.namespace=t]=i},o}),function(t,e){"function"==typeof define&&define.amd?define("masonry-layout/masonry",["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,h){var e=t.create("masonry");e.compatOptions.fitWidth="isFitWidth";var i=e.prototype;return i._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},i.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],e=t&&t.element;this.columnWidth=e&&h(e).outerWidth||this.containerWidth}var i=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,n=o/i,s=i-o%i;n=Math[s&&s<1?"round":"floor"](n),this.cols=Math.max(n,1)},i.getContainerWidth=function(){var t=this._getOption("fitWidth")?this.element.parentNode:this.element,e=h(t);this.containerWidth=e&&e.innerWidth},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=Math[e&&e<1?"round":"ceil"](t.size.outerWidth/this.columnWidth);i=Math.min(i,this.cols);for(var o=this[this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition"](i,t),n={x:this.columnWidth*o.col,y:o.y},s=o.y+t.size.outerHeight,r=i+o.col,a=o.col;a<r;a++)this.colYs[a]=s;return n},i._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},i._getTopColGroup=function(t){if(t<2)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;o<i;o++)e[o]=this._getColGroupY(o,t);return e},i._getColGroupY=function(t,e){if(e<2)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},i._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols;i=1<t&&i+t>this.cols?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},i._manageStamp=function(t){var e=h(t),i=this._getElementOffset(t),o=this._getOption("originLeft")?i.left:i.right,n=o+e.outerWidth,s=Math.floor(o/this.columnWidth);s=Math.max(0,s);var r=Math.floor(n/this.columnWidth);r-=n%this.columnWidth?0:1,r=Math.min(this.cols-1,r);for(var a=(this._getOption("originTop")?i.top:i.bottom)+e.outerHeight,u=s;u<=r;u++)this.colYs[u]=Math.max(a,this.colYs[u])},i._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/masonry",["../layout-mode","masonry-layout/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Isotope.LayoutMode,t.Masonry)}(window,function(t,e){"use strict";var i=t.create("masonry"),o=i.prototype,n={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var s in e.prototype)n[s]||(o[s]=e.prototype[s]);var r=o.measureColumns;o.measureColumns=function(){this.items=this.isotope.filteredItems,r.call(this)};var a=o._getOption;return o._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.isotope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.isotope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var o={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,o},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(r,a){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope-layout/js/item","isotope-layout/js/layout-mode","isotope-layout/js/layout-modes/masonry","isotope-layout/js/layout-modes/fit-rows","isotope-layout/js/layout-modes/vertical"],function(t,e,i,o,n,s){return a(r,t,e,i,o,n,s)}):"object"==typeof module&&module.exports?module.exports=a(r,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope-layout/js/item"),require("isotope-layout/js/layout-mode"),require("isotope-layout/js/layout-modes/masonry"),require("isotope-layout/js/layout-modes/fit-rows"),require("isotope-layout/js/layout-modes/vertical")):r.Isotope=a(r,r.Outlayer,r.getSize,r.matchesSelector,r.fizzyUIUtils,r.Isotope.Item,r.Isotope.LayoutMode)}(window,function(t,i,e,o,s,n,r){var a=t.jQuery,u=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},h=i.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});h.Item=n,h.LayoutMode=r;var l=h.prototype;l._create=function(){for(var t in this.itemGUID=0,this._sorters={},this._getSorters(),i.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"],r.modes)this._initLayoutMode(t)},l.reloadItems=function(){this.itemGUID=0,i.prototype.reloadItems.call(this)},l._itemize=function(){for(var t=i.prototype._itemize.apply(this,arguments),e=0;e<t.length;e++){t[e].id=this.itemGUID++}return this._updateItemsSortData(t),t},l._initLayoutMode=function(t){var e=r.modes[t],i=this.options[t]||{};this.options[t]=e.options?s.extend(e.options,i):i,this.modes[t]=new e(this)},l.layout=function(){this._isLayoutInited||!this._getOption("initLayout")?this._layout():this.arrange()},l._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},l.arrange=function(t){this.option(t),this._getIsInstant();var e=this._filter(this.items);this.filteredItems=e.matches,this._bindArrangeComplete(),this._isInstant?this._noTransition(this._hideReveal,[e]):this._hideReveal(e),this._sort(),this._layout()},l._init=l.arrange,l._hideReveal=function(t){this.reveal(t.needReveal),this.hide(t.needHide)},l._getIsInstant=function(){var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;return this._isInstant=e},l._bindArrangeComplete=function(){var t,e,i,o=this;function n(){t&&e&&i&&o.dispatchEvent("arrangeComplete",null,[o.filteredItems])}this.once("layoutComplete",function(){t=!0,n()}),this.once("hideComplete",function(){e=!0,n()}),this.once("revealComplete",function(){i=!0,n()})},l._filter=function(t){var e=this.options.filter;e=e||"*";for(var i=[],o=[],n=[],s=this._getFilterTest(e),r=0;r<t.length;r++){var a=t[r];if(!a.isIgnored){var u=s(a);u&&i.push(a),u&&a.isHidden?o.push(a):u||a.isHidden||n.push(a)}}return{matches:i,needReveal:o,needHide:n}},l._getFilterTest=function(e){return a&&this.options.isJQueryFiltering?function(t){return a(t.element).is(e)}:"function"==typeof e?function(t){return e(t.element)}:function(t){return o(t.element,e)}},l.updateSortData=function(t){var e;e=t?(t=s.makeArray(t),this.getItems(t)):this.items,this._getSorters(),this._updateItemsSortData(e)},l._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=d(i)}},l._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&i<e;i++){t[i].updateSortData()}};var d=function(t){if("string"!=typeof t)return t;var e=u(t).split(" "),i=e[0],o=i.match(/^\[(.+)\]$/),n=function(e,i){return e?function(t){return t.getAttribute(e)}:function(t){var e=t.querySelector(i);return e&&e.textContent}}(o&&o[1],i),s=h.sortDataParsers[e[1]];return t=s?function(t){return t&&s(n(t))}:function(t){return t&&n(t)}};h.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},l._sort=function(){if(this.options.sortBy){var t=s.makeArray(this.options.sortBy);this._getIsSameSortBy(t)||(this.sortHistory=t.concat(this.sortHistory));var e=function(r,a){return function(t,e){for(var i=0;i<r.length;i++){var o=r[i],n=t.sortData[o],s=e.sortData[o];if(s<n||n<s)return(s<n?1:-1)*((void 0!==a[o]?a[o]:a)?1:-1)}return 0}}(this.sortHistory,this.options.sortAscending);this.filteredItems.sort(e)}},l._getIsSameSortBy=function(t){for(var e=0;e<t.length;e++)if(t[e]!=this.sortHistory[e])return!1;return!0},l._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw new Error("No layout mode: "+t);return e.options=this.options[t],e},l._resetLayout=function(){i.prototype._resetLayout.call(this),this._mode()._resetLayout()},l._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},l._manageStamp=function(t){this._mode()._manageStamp(t)},l._getContainerSize=function(){return this._mode()._getContainerSize()},l.needsResizeLayout=function(){return this._mode().needsResizeLayout()},l.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},l.prepended=function(t){var e=this._itemize(t);if(e.length){this._resetLayout(),this._manageStamps();var i=this._filterRevealAdded(e);this.layoutItems(this.filteredItems),this.filteredItems=i.concat(this.filteredItems),this.items=e.concat(this.items)}},l._filterRevealAdded=function(t){var e=this._filter(t);return this.hide(e.needHide),this.reveal(e.matches),this.layoutItems(e.matches,!0),e.matches},l.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;i<n;i++)o=e[i],this.element.appendChild(o.element);var s=this._filter(e).matches;for(i=0;i<n;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;i<n;i++)delete e[i].isLayoutInstant;this.reveal(s)}};var f=l.remove;return l.remove=function(t){t=s.makeArray(t);var e=this.getItems(t);f.call(this,t);for(var i=e&&e.length,o=0;i&&o<i;o++){var n=e[o];s.removeFrom(this.filteredItems,n)}},l.shuffle=function(){for(var t=0;t<this.items.length;t++){this.items[t].sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},l._noTransition=function(t,e){var i=this.options.transitionDuration;this.options.transitionDuration=0;var o=t.apply(this,e);return this.options.transitionDuration=i,o},l.getFilteredItemElements=function(){return this.filteredItems.map(function(t){return t.element})},h});
 
8
  !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(window.jQuery||window.Zepto)}(function(d){function e(){}function u(e,t){g.ev.on(n+e+w,t)}function p(e,t,n,i){var o=document.createElement("div");return o.className="mfp-"+e,n&&(o.innerHTML=n),i?t&&t.appendChild(o):(o=d(o),t&&o.appendTo(t)),o}function f(e,t){g.ev.triggerHandler(n+e,t),g.st.callbacks&&(e=e.charAt(0).toLowerCase()+e.slice(1),g.st.callbacks[e]&&g.st.callbacks[e].apply(g,d.isArray(t)?t:[t]))}function m(e){return e===t&&g.currTemplate.closeBtn||(g.currTemplate.closeBtn=d(g.st.closeMarkup.replace("%title%",g.st.tClose)),t=e),g.currTemplate.closeBtn}function r(){d.magnificPopup.instance||((g=new e).init(),d.magnificPopup.instance=g)}var g,i,h,o,v,t,l="Close",c="BeforeClose",y="MarkupParse",C="Open",a="Change",n="mfp",w="."+n,b="mfp-ready",s="mfp-removing",I="mfp-prevent-close",x=!!window.jQuery,k=d(window);e.prototype={constructor:e,init:function(){var e=navigator.appVersion;g.isLowIE=g.isIE8=document.all&&!document.addEventListener,g.isAndroid=/android/gi.test(e),g.isIOS=/iphone|ipad|ipod/gi.test(e),g.supportsTransition=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1}(),g.probablyMobile=g.isAndroid||g.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),h=d(document),g.popupsCache={}},open:function(e){var t;if(!1===e.isObj){g.items=e.items.toArray(),g.index=0;var n,i=e.items;for(t=0;t<i.length;t++)if((n=i[t]).parsed&&(n=n.el[0]),n===e.el[0]){g.index=t;break}}else g.items=d.isArray(e.items)?e.items:[e.items],g.index=e.index||0;if(!g.isOpen){g.types=[],v="",e.mainEl&&e.mainEl.length?g.ev=e.mainEl.eq(0):g.ev=h,e.key?(g.popupsCache[e.key]||(g.popupsCache[e.key]={}),g.currTemplate=g.popupsCache[e.key]):g.currTemplate={},g.st=d.extend(!0,{},d.magnificPopup.defaults,e),g.fixedContentPos="auto"===g.st.fixedContentPos?!g.probablyMobile:g.st.fixedContentPos,g.st.modal&&(g.st.closeOnContentClick=!1,g.st.closeOnBgClick=!1,g.st.showCloseBtn=!1,g.st.enableEscapeKey=!1),g.bgOverlay||(g.bgOverlay=p("bg").on("click"+w,function(){g.close()}),g.wrap=p("wrap").attr("tabindex",-1).on("click"+w,function(e){g._checkIfClose(e.target)&&g.close()}),g.container=p("container",g.wrap)),g.contentContainer=p("content"),g.st.preloader&&(g.preloader=p("preloader",g.container,g.st.tLoading));var o=d.magnificPopup.modules;for(t=0;t<o.length;t++){var r=o[t];r=r.charAt(0).toUpperCase()+r.slice(1),g["init"+r].call(g)}f("BeforeOpen"),g.st.showCloseBtn&&(g.st.closeBtnInside?(u(y,function(e,t,n,i){n.close_replaceWith=m(i.type)}),v+=" mfp-close-btn-in"):g.wrap.append(m())),g.st.alignTop&&(v+=" mfp-align-top"),g.fixedContentPos?g.wrap.css({overflow:g.st.overflowY,overflowX:"hidden",overflowY:g.st.overflowY}):g.wrap.css({top:k.scrollTop(),position:"absolute"}),!1!==g.st.fixedBgPos&&("auto"!==g.st.fixedBgPos||g.fixedContentPos)||g.bgOverlay.css({height:h.height(),position:"absolute"}),g.st.enableEscapeKey&&h.on("keyup"+w,function(e){27===e.keyCode&&g.close()}),k.on("resize"+w,function(){g.updateSize()}),g.st.closeOnContentClick||(v+=" mfp-auto-cursor"),v&&g.wrap.addClass(v);var a=g.wH=k.height(),s={};if(g.fixedContentPos&&g._hasScrollBar(a)){var l=g._getScrollbarSize();l&&(s.marginRight=l)}g.fixedContentPos&&(g.isIE7?d("body, html").css("overflow","hidden"):s.overflow="hidden");var c=g.st.mainClass;return g.isIE7&&(c+=" mfp-ie7"),c&&g._addClassToMFP(c),g.updateItemHTML(),f("BuildControls"),d("html").css(s),g.bgOverlay.add(g.wrap).prependTo(g.st.prependTo||d(document.body)),g._lastFocusedEl=document.activeElement,setTimeout(function(){g.content?(g._addClassToMFP(b),g._setFocus()):g.bgOverlay.addClass(b),h.on("focusin"+w,g._onFocusIn)},16),g.isOpen=!0,g.updateSize(a),f(C),e}g.updateItemHTML()},close:function(){g.isOpen&&(f(c),g.isOpen=!1,g.st.removalDelay&&!g.isLowIE&&g.supportsTransition?(g._addClassToMFP(s),setTimeout(function(){g._close()},g.st.removalDelay)):g._close())},_close:function(){f(l);var e=s+" "+b+" ";if(g.bgOverlay.detach(),g.wrap.detach(),g.container.empty(),g.st.mainClass&&(e+=g.st.mainClass+" "),g._removeClassFromMFP(e),g.fixedContentPos){var t={marginRight:""};g.isIE7?d("body, html").css("overflow",""):t.overflow="",d("html").css(t)}h.off("keyup.mfp focusin"+w),g.ev.off(w),g.wrap.attr("class","mfp-wrap").removeAttr("style"),g.bgOverlay.attr("class","mfp-bg"),g.container.attr("class","mfp-container"),!g.st.showCloseBtn||g.st.closeBtnInside&&!0!==g.currTemplate[g.currItem.type]||g.currTemplate.closeBtn&&g.currTemplate.closeBtn.detach(),g.st.autoFocusLast&&g._lastFocusedEl&&d(g._lastFocusedEl).focus(),g.currItem=null,g.content=null,g.currTemplate=null,g.prevHeight=0,f("AfterClose")},updateSize:function(e){if(g.isIOS){var t=document.documentElement.clientWidth/window.innerWidth,n=window.innerHeight*t;g.wrap.css("height",n),g.wH=n}else g.wH=e||k.height();g.fixedContentPos||g.wrap.css("height",g.wH),f("Resize")},updateItemHTML:function(){var e=g.items[g.index];g.contentContainer.detach(),g.content&&g.content.detach(),e.parsed||(e=g.parseEl(g.index));var t=e.type;if(f("BeforeChange",[g.currItem?g.currItem.type:"",t]),g.currItem=e,!g.currTemplate[t]){var n=!!g.st[t]&&g.st[t].markup;f("FirstMarkupParse",n),g.currTemplate[t]=!n||d(n)}o&&o!==e.type&&g.container.removeClass("mfp-"+o+"-holder");var i=g["get"+t.charAt(0).toUpperCase()+t.slice(1)](e,g.currTemplate[t]);g.appendContent(i,t),e.preloaded=!0,f(a,e),o=e.type,g.container.prepend(g.contentContainer),f("AfterChange")},appendContent:function(e,t){(g.content=e)?g.st.showCloseBtn&&g.st.closeBtnInside&&!0===g.currTemplate[t]?g.content.find(".mfp-close").length||g.content.append(m()):g.content=e:g.content="",f("BeforeAppend"),g.container.addClass("mfp-"+t+"-holder"),g.contentContainer.append(g.content)},parseEl:function(e){var t,n=g.items[e];if((n=n.tagName?{el:d(n)}:(t=n.type,{data:n,src:n.src})).el){for(var i=g.types,o=0;o<i.length;o++)if(n.el.hasClass("mfp-"+i[o])){t=i[o];break}n.src=n.el.attr("data-mfp-src"),n.src||(n.src=n.el.attr("href"))}return n.type=t||g.st.type||"inline",n.index=e,n.parsed=!0,g.items[e]=n,f("ElementParse",n),g.items[e]},addGroup:function(t,n){function e(e){e.mfpEl=this,g._openClick(e,t,n)}var i="click.magnificPopup";(n=n||{}).mainEl=t,n.items?(n.isObj=!0,t.off(i).on(i,e)):(n.isObj=!1,n.delegate?t.off(i).on(i,n.delegate,e):(n.items=t).off(i).on(i,e))},_openClick:function(e,t,n){if((void 0!==n.midClick?n.midClick:d.magnificPopup.defaults.midClick)||!(2===e.which||e.ctrlKey||e.metaKey||e.altKey||e.shiftKey)){var i=void 0!==n.disableOn?n.disableOn:d.magnificPopup.defaults.disableOn;if(i)if(d.isFunction(i)){if(!i.call(g))return!0}else if(k.width()<i)return!0;e.type&&(e.preventDefault(),g.isOpen&&e.stopPropagation()),n.el=d(e.mfpEl),n.delegate&&(n.items=t.find(n.delegate)),g.open(n)}},updateStatus:function(e,t){if(g.preloader){i!==e&&g.container.removeClass("mfp-s-"+i),t||"loading"!==e||(t=g.st.tLoading);var n={status:e,text:t};f("UpdateStatus",n),e=n.status,t=n.text,g.preloader.html(t),g.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),g.container.addClass("mfp-s-"+e),i=e}},_checkIfClose:function(e){if(!d(e).hasClass(I)){var t=g.st.closeOnContentClick,n=g.st.closeOnBgClick;if(t&&n)return!0;if(!g.content||d(e).hasClass("mfp-close")||g.preloader&&e===g.preloader[0])return!0;if(e===g.content[0]||d.contains(g.content[0],e)){if(t)return!0}else if(n&&d.contains(document,e))return!0;return!1}},_addClassToMFP:function(e){g.bgOverlay.addClass(e),g.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),g.wrap.removeClass(e)},_hasScrollBar:function(e){return(g.isIE7?h.height():document.body.scrollHeight)>(e||k.height())},_setFocus:function(){(g.st.focus?g.content.find(g.st.focus).eq(0):g.wrap).focus()},_onFocusIn:function(e){if(e.target!==g.wrap[0]&&!d.contains(g.wrap[0],e.target))return g._setFocus(),!1},_parseMarkup:function(o,e,t){var r;t.data&&(e=d.extend(t.data,e)),f(y,[o,e,t]),d.each(e,function(e,t){if(void 0===t||!1===t)return!0;if(1<(r=e.split("_")).length){var n=o.find(w+"-"+r[0]);if(0<n.length){var i=r[1];"replaceWith"===i?n[0]!==t[0]&&n.replaceWith(t):"img"===i?n.is("img")?n.attr("src",t):n.replaceWith(d("<img>").attr("src",t).attr("class",n.attr("class"))):n.attr(r[1],t)}}else o.find(w+"-"+e).html(t)})},_getScrollbarSize:function(){if(void 0===g.scrollbarSize){var e=document.createElement("div");e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),g.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return g.scrollbarSize}},d.magnificPopup={instance:null,proto:e.prototype,modules:[],open:function(e,t){return r(),(e=e?d.extend(!0,{},e):{}).isObj=!0,e.index=t||0,this.instance.open(e)},close:function(){return d.magnificPopup.instance&&d.magnificPopup.instance.close()},registerModule:function(e,t){t.options&&(d.magnificPopup.defaults[e]=t.options),d.extend(this.proto,t.proto),this.modules.push(e)},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}},d.fn.magnificPopup=function(e){r();var t=d(this);if("string"==typeof e)if("open"===e){var n,i=x?t.data("magnificPopup"):t[0].magnificPopup,o=parseInt(arguments[1],10)||0;n=i.items?i.items[o]:(n=t,i.delegate&&(n=n.find(i.delegate)),n.eq(o)),g._openClick({mfpEl:n},t,i)}else g.isOpen&&g[e].apply(g,Array.prototype.slice.call(arguments,1));else e=d.extend(!0,{},e),x?t.data("magnificPopup",e):t[0].magnificPopup=e,g.addGroup(t,e);return t};function T(){S&&(P.after(S.addClass(_)).detach(),S=null)}var _,P,S,E="inline";d.magnificPopup.registerModule(E,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){g.types.push(E),u(l+"."+E,function(){T()})},getInline:function(e,t){if(T(),e.src){var n=g.st.inline,i=d(e.src);if(i.length){var o=i[0].parentNode;o&&o.tagName&&(P||(_=n.hiddenClass,P=p(_),_="mfp-"+_),S=i.after(P).detach().removeClass(_)),g.updateStatus("ready")}else g.updateStatus("error",n.tNotFound),i=d("<div>");return e.inlineElement=i}return g.updateStatus("ready"),g._parseMarkup(t,{},e),t}}});function z(){M&&d(document.body).removeClass(M)}function O(){z(),g.req&&g.req.abort()}var M,B="ajax";d.magnificPopup.registerModule(B,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){g.types.push(B),M=g.st.ajax.cursor,u(l+"."+B,O),u("BeforeChange."+B,O)},getAjax:function(o){M&&d(document.body).addClass(M),g.updateStatus("loading");var e=d.extend({url:o.src,success:function(e,t,n){var i={data:e,xhr:n};f("ParseAjax",i),g.appendContent(d(i.data),B),o.finished=!0,z(),g._setFocus(),setTimeout(function(){g.wrap.addClass(b)},16),g.updateStatus("ready"),f("AjaxContentAdded")},error:function(){z(),o.finished=o.loadError=!0,g.updateStatus("error",g.st.ajax.tError.replace("%url%",o.src))}},g.st.ajax.settings);return g.req=d.ajax(e),""}}});var L;d.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 e=g.st.image,t=".image";g.types.push("image"),u(C+t,function(){"image"===g.currItem.type&&e.cursor&&d(document.body).addClass(e.cursor)}),u(l+t,function(){e.cursor&&d(document.body).removeClass(e.cursor),k.off("resize"+w)}),u("Resize"+t,g.resizeImage),g.isLowIE&&u("AfterChange",g.resizeImage)},resizeImage:function(){var e=g.currItem;if(e&&e.img&&g.st.image.verticalFit){var t=0;g.isLowIE&&(t=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",g.wH-t)}},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,L&&clearInterval(L),e.isCheckingImgSize=!1,f("ImageHasSize",e),e.imgHidden&&(g.content&&g.content.removeClass("mfp-loading"),e.imgHidden=!1))},findImageSize:function(t){var n=0,i=t.img[0],o=function(e){L&&clearInterval(L),L=setInterval(function(){0<i.naturalWidth?g._onImageHasSize(t):(200<n&&clearInterval(L),3===++n?o(10):40===n?o(50):100===n&&o(500))},e)};o(1)},getImage:function(e,t){var n=0,i=function(){e&&(e.img[0].complete?(e.img.off(".mfploader"),e===g.currItem&&(g._onImageHasSize(e),g.updateStatus("ready")),e.hasSize=!0,e.loaded=!0,f("ImageLoadComplete")):++n<200?setTimeout(i,100):o())},o=function(){e&&(e.img.off(".mfploader"),e===g.currItem&&(g._onImageHasSize(e),g.updateStatus("error",r.tError.replace("%url%",e.src))),e.hasSize=!0,e.loaded=!0,e.loadError=!0)},r=g.st.image,a=t.find(".mfp-img");if(a.length){var s=document.createElement("img");s.className="mfp-img",e.el&&e.el.find("img").length&&(s.alt=e.el.find("img").attr("alt")),e.img=d(s).on("load.mfploader",i).on("error.mfploader",o),s.src=e.src,a.is("img")&&(e.img=e.img.clone()),0<(s=e.img[0]).naturalWidth?e.hasSize=!0:s.width||(e.hasSize=!1)}return g._parseMarkup(t,{title:function(e){if(e.data&&void 0!==e.data.title)return e.data.title;var t=g.st.image.titleSrc;if(t){if(d.isFunction(t))return t.call(g,e);if(e.el)return e.el.attr(t)||""}return""}(e),img_replaceWith:e.img},e),g.resizeImage(),e.hasSize?(L&&clearInterval(L),e.loadError?(t.addClass("mfp-loading"),g.updateStatus("error",r.tError.replace("%url%",e.src))):(t.removeClass("mfp-loading"),g.updateStatus("ready"))):(g.updateStatus("loading"),e.loading=!0,e.hasSize||(e.imgHidden=!0,t.addClass("mfp-loading"),g.findImageSize(e))),t}}});var H;d.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var e,r=g.st.zoom,t=".zoom";if(r.enabled&&g.supportsTransition){function n(e){var t=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),n="all "+r.duration/1e3+"s "+r.easing,i={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},o="transition";return i["-webkit-"+o]=i["-moz-"+o]=i["-o-"+o]=i[o]=n,t.css(i),t}function i(){g.content.css("visibility","visible")}var o,a,s=r.duration;u("BuildControls"+t,function(){if(g._allowZoom()){if(clearTimeout(o),g.content.css("visibility","hidden"),!(e=g._getItemToZoom()))return void i();(a=n(e)).css(g._getOffset()),g.wrap.append(a),o=setTimeout(function(){a.css(g._getOffset(!0)),o=setTimeout(function(){i(),setTimeout(function(){a.remove(),e=a=null,f("ZoomAnimationEnded")},16)},s)},16)}}),u(c+t,function(){if(g._allowZoom()){if(clearTimeout(o),g.st.removalDelay=s,!e){if(!(e=g._getItemToZoom()))return;a=n(e)}a.css(g._getOffset(!0)),g.wrap.append(a),g.content.css("visibility","hidden"),setTimeout(function(){a.css(g._getOffset())},16)}}),u(l+t,function(){g._allowZoom()&&(i(),a&&a.remove(),e=null)})}},_allowZoom:function(){return"image"===g.currItem.type},_getItemToZoom:function(){return!!g.currItem.hasSize&&g.currItem.img},_getOffset:function(e){var t,n=(t=e?g.currItem.img:g.st.zoom.opener(g.currItem.el||g.currItem)).offset(),i=parseInt(t.css("padding-top"),10),o=parseInt(t.css("padding-bottom"),10);n.top-=d(window).scrollTop()-i;var r={width:t.width(),height:(x?t.innerHeight():t[0].offsetHeight)-o-i};return void 0===H&&(H=void 0!==document.createElement("p").style.MozTransform),H?r["-moz-transform"]=r.transform="translate("+n.left+"px,"+n.top+"px)":(r.left=n.left,r.top=n.top),r}}});function A(e){if(g.currTemplate[F]){var t=g.currTemplate[F].find("iframe");t.length&&(e||(t[0].src="//about:blank"),g.isIE8&&t.css("display",e?"block":"none"))}}var F="iframe";d.magnificPopup.registerModule(F,{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(){g.types.push(F),u("BeforeChange",function(e,t,n){t!==n&&(t===F?A():n===F&&A(!0))}),u(l+"."+F,function(){A()})},getIframe:function(e,t){var n=e.src,i=g.st.iframe;d.each(i.patterns,function(){if(-1<n.indexOf(this.index))return this.id&&(n="string"==typeof this.id?n.substr(n.lastIndexOf(this.id)+this.id.length,n.length):this.id.call(this,n)),n=this.src.replace("%id%",n),!1});var o={};return i.srcAction&&(o[i.srcAction]=n),g._parseMarkup(t,o,e),g.updateStatus("ready"),t}}});function j(e){var t=g.items.length;return t-1<e?e-t:e<0?t+e:e}function N(e,t,n){return e.replace(/%curr%/gi,t+1).replace(/%total%/gi,n)}d.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 r=g.st.gallery,e=".mfp-gallery";if(g.direction=!0,!r||!r.enabled)return!1;v+=" mfp-gallery",u(C+e,function(){r.navigateByImgClick&&g.wrap.on("click"+e,".mfp-img",function(){if(1<g.items.length)return g.next(),!1}),h.on("keydown"+e,function(e){37===e.keyCode?g.prev():39===e.keyCode&&g.next()})}),u("UpdateStatus"+e,function(e,t){t.text&&(t.text=N(t.text,g.currItem.index,g.items.length))}),u(y+e,function(e,t,n,i){var o=g.items.length;n.counter=1<o?N(r.tCounter,i.index,o):""}),u("BuildControls"+e,function(){if(1<g.items.length&&r.arrows&&!g.arrowLeft){var e=r.arrowMarkup,t=g.arrowLeft=d(e.replace(/%title%/gi,r.tPrev).replace(/%dir%/gi,"left")).addClass(I),n=g.arrowRight=d(e.replace(/%title%/gi,r.tNext).replace(/%dir%/gi,"right")).addClass(I);t.click(function(){g.prev()}),n.click(function(){g.next()}),g.container.append(t.add(n))}}),u(a+e,function(){g._preloadTimeout&&clearTimeout(g._preloadTimeout),g._preloadTimeout=setTimeout(function(){g.preloadNearbyImages(),g._preloadTimeout=null},16)}),u(l+e,function(){h.off(e),g.wrap.off("click"+e),g.arrowRight=g.arrowLeft=null})},next:function(){g.direction=!0,g.index=j(g.index+1),g.updateItemHTML()},prev:function(){g.direction=!1,g.index=j(g.index-1),g.updateItemHTML()},goTo:function(e){g.direction=e>=g.index,g.index=e,g.updateItemHTML()},preloadNearbyImages:function(){var e,t=g.st.gallery.preload,n=Math.min(t[0],g.items.length),i=Math.min(t[1],g.items.length);for(e=1;e<=(g.direction?i:n);e++)g._preloadItem(g.index+e);for(e=1;e<=(g.direction?n:i);e++)g._preloadItem(g.index-e)},_preloadItem:function(e){if(e=j(e),!g.items[e].preloaded){var t=g.items[e];t.parsed||(t=g.parseEl(e)),f("LazyLoad",t),"image"===t.type&&(t.img=d('<img class="mfp-img" />').on("load.mfploader",function(){t.hasSize=!0}).on("error.mfploader",function(){t.hasSize=!0,t.loadError=!0,f("LazyLoadError",t)}).attr("src",t.src)),t.preloaded=!0}}}});var W="retina";d.magnificPopup.registerModule(W,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(1<window.devicePixelRatio){var n=g.st.retina,i=n.ratio;1<(i=isNaN(i)?i():i)&&(u("ImageHasSize."+W,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/i,width:"100%"})}),u("ElementParse."+W,function(e,t){t.src=n.replaceSrc(t,i)}))}}}}),r()});
9
+ !function(s){s.fn.eaelProgressBar=function(){var a=s(this),i=a.data("layout"),e=a.data("count"),r=a.data("duration");a.one("inview",function(){"line"==i?s(".eael-progressbar-line-fill",a).css({width:e+"%"}):"half_circle"==i&&s(".eael-progressbar-circle-half",a).css({transform:"rotate("+1.8*e+"deg)"}),s(".eael-progressbar-count",a).prop({counter:0}).animate({counter:e},{duration:r,easing:"linear",step:function(e){if("circle"==i){var r=3.6*e;s(".eael-progressbar-circle-half-left",a).css({transform:"rotate("+r+"deg)"}),180<r&&(s(".eael-progressbar-circle-pie",a).css({"clip-path":"inset(0)"}),s(".eael-progressbar-circle-half-right",a).css({visibility:"visible"}))}s(this).text(Math.ceil(e))}})})}}(jQuery);
10
  !function(t,i){"function"==typeof define&&define.amd?define(["jquery"],function(t){return i(t)}):"object"==typeof exports?module.exports=i(require("jquery")):i(jQuery)}(0,function(E){function t(){this.__$emitterPrivate=E({}),this.__$emitterPublic=E({}),this.__instancesLatestArr=[],this.__plugins={},this._env=I}var c={animation:"fade",animationDuration:350,content:null,contentAsHTML:!1,contentCloning:!1,debug:!0,delay:300,delayTouch:[300,500],functionInit:null,functionBefore:null,functionReady:null,functionAfter:null,functionFormat:null,IEmin:6,interactive:!1,multiple:!1,parent:null,plugins:["sideTip"],repositionOnScroll:!1,restoration:"none",selfDestruction:!0,theme:[],timer:0,trackerInterval:500,trackOrigin:!1,trackTooltip:!1,trigger:"hover",triggerClose:{click:!1,mouseleave:!1,originClick:!1,scroll:!1,tap:!1,touchleave:!1},triggerOpen:{click:!1,mouseenter:!1,tap:!1,touchstart:!1},updateAnimation:"rotate",zIndex:9999999},n="undefined"!=typeof window?window:null,I={hasTouchCapability:!(!n||!("ontouchstart"in n||n.DocumentTouch&&n.document instanceof n.DocumentTouch||n.navigator.maxTouchPoints)),hasTransitions:function(){if(!n)return!1;var t=(n.document.body||n.document.documentElement).style,i="transition",o=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof t[i])return!0;i=i.charAt(0).toUpperCase()+i.substr(1);for(var e=0;e<o.length;e++)if("string"==typeof t[o[e]+i])return!0;return!1}(),IE:!1,semVer:"4.2.6",window:n};function i(t){this.$container,this.constraints=null,this.__$tooltip,this.__init(t)}function s(o,e){var n=!0;return E.each(o,function(t,i){if(void 0===e[t]||o[t]!==e[t])return n=!1}),n}function p(t){var i=t.attr("id"),o=i?I.window.document.getElementById(i):null;return o?o===t[0]:E.contains(I.window.document.body,t[0])}t.prototype={__bridge:function(t,o,e){if(!o[e]){function i(){}i.prototype=t;var n=new i;n.__init&&n.__init(o),E.each(t,function(t,i){0!=t.indexOf("__")&&(o[t]?c.debug&&console.log("The "+t+" method of the "+e+" plugin conflicts with another plugin or native methods"):(o[t]=function(){return n[t].apply(n,Array.prototype.slice.apply(arguments))},o[t].bridged=n))}),o[e]=n}return this},__setWindow:function(t){return I.window=t,this},_getRuler:function(t){return new i(t)},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_plugin:function(t){var i=this;if("string"==typeof t){var o=t,e=null;return 0<o.indexOf(".")?e=i.__plugins[o]:E.each(i.__plugins,function(t,i){if(i.name.substring(i.name.length-o.length-1)=="."+o)return e=i,!1}),e}if(t.name.indexOf(".")<0)throw new Error("Plugins must be namespaced");return(i.__plugins[t.name]=t).core&&i.__bridge(t.core,i,t.name),this},_trigger:function(){var t=Array.prototype.slice.apply(arguments);return"string"==typeof t[0]&&(t[0]={type:t[0]}),this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,t),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,t),this},instances:function(t){var e=[];return E(t||".tooltipstered").each(function(){var o=E(this),t=o.data("tooltipster-ns");t&&E.each(t,function(t,i){e.push(o.data(i))})}),e},instancesLatest:function(){return this.__instancesLatestArr},off:function(){return this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},origins:function(t){return E((t?t+" ":"")+".tooltipstered").toArray()},setDefaults:function(t){return E.extend(c,t),this},triggerHandler:function(){return this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},E.tooltipster=new t,E.Tooltipster=function(t,i){this.__callbacks={close:[],open:[]},this.__closingTime,this.__Content,this.__contentBcr,this.__destroyed=!1,this.__$emitterPrivate=E({}),this.__$emitterPublic=E({}),this.__enabled=!0,this.__garbageCollector,this.__Geometry,this.__lastPosition,this.__namespace="tooltipster-"+Math.round(1e6*Math.random()),this.__options,this.__$originParents,this.__pointerIsOverOrigin=!1,this.__previousThemes=[],this.__state="closed",this.__timeouts={close:[],open:null},this.__touchEvents=[],this.__tracker=null,this._$origin,this._$tooltip,this.__init(t,i)},E.Tooltipster.prototype={__init:function(t,i){var o=this;if(o._$origin=E(t),o.__options=E.extend(!0,{},c,i),o.__optionsFormat(),!I.IE||I.IE>=o.__options.IEmin){var e=null;if(void 0===o._$origin.data("tooltipster-initialTitle")&&(void 0===(e=o._$origin.attr("title"))&&(e=null),o._$origin.data("tooltipster-initialTitle",e)),null!==o.__options.content)o.__contentSet(o.__options.content);else{var n,s=o._$origin.attr("data-tooltip-content");s&&(n=E(s)),n&&n[0]?o.__contentSet(n.first()):o.__contentSet(e)}o._$origin.removeAttr("title").addClass("tooltipstered"),o.__prepareOrigin(),o.__prepareGC(),E.each(o.__options.plugins,function(t,i){o._plug(i)}),I.hasTouchCapability&&E(I.window.document.body).on("touchmove."+o.__namespace+"-triggerOpen",function(t){o._touchRecordEvent(t)}),o._on("created",function(){o.__prepareTooltip()})._on("repositioned",function(t){o.__lastPosition=t.position})}else o.__options.disabled=!0},__contentInsert:function(){var t=this,i=t._$tooltip.find(".tooltipster-content"),o=t.__Content;return t._trigger({type:"format",content:t.__Content,format:function(t){o=t}}),t.__options.functionFormat&&(o=t.__options.functionFormat.call(t,t,{origin:t._$origin[0]},t.__Content)),"string"!=typeof o||t.__options.contentAsHTML?i.empty().append(o):i.text(o),t},__contentSet:function(t){return t instanceof E&&this.__options.contentCloning&&(t=t.clone(!0)),this.__Content=t,this._trigger({type:"updated",content:t}),this},__destroyError:function(){throw new Error("This tooltip has been destroyed and cannot execute your method call.")},__geometry:function(){var t=this,i=t._$origin,o=t._$origin.is("area");if(o){var e=t._$origin.parent().attr("name");i=E('img[usemap="#'+e+'"]')}var n=i[0].getBoundingClientRect(),s=E(I.window.document),r=E(I.window),_=i,a={available:{document:null,window:null},document:{size:{height:s.height(),width:s.width()}},window:{scroll:{left:I.window.scrollX||I.window.document.documentElement.scrollLeft,top:I.window.scrollY||I.window.document.documentElement.scrollTop},size:{height:r.height(),width:r.width()}},origin:{fixedLineage:!1,offset:{},size:{height:n.bottom-n.top,width:n.right-n.left},usemapImage:o?i[0]:null,windowOffset:{bottom:n.bottom,left:n.left,right:n.right,top:n.top}}};if(o){var l=t._$origin.attr("shape"),p=t._$origin.attr("coords");if(p&&(p=p.split(","),E.map(p,function(t,i){p[i]=parseInt(t)})),"default"!=l)switch(l){case"circle":var c=p[0],h=p[1],d=p[2],u=h-d,g=c-d;a.origin.size.height=2*d,a.origin.size.width=a.origin.size.height,a.origin.windowOffset.left+=g,a.origin.windowOffset.top+=u;break;case"rect":var f=p[0],m=p[1],w=p[2],v=p[3];a.origin.size.height=v-m,a.origin.size.width=w-f,a.origin.windowOffset.left+=f,a.origin.windowOffset.top+=m;break;case"poly":for(var y=0,b=0,$=0,C=0,O="even",T=0;T<p.length;T++){var z=p[T];O="even"==O?($<z&&($=z,0===T&&(y=$)),z<y&&(y=z),"odd"):(C<z&&(C=z,1==T&&(b=C)),z<b&&(b=z),"even")}a.origin.size.height=C-b,a.origin.size.width=$-y,a.origin.windowOffset.left+=y,a.origin.windowOffset.top+=b}}for(t._trigger({type:"geometry",edit:function(t){a.origin.size.height=t.height,a.origin.windowOffset.left=t.left,a.origin.windowOffset.top=t.top,a.origin.size.width=t.width},geometry:{height:a.origin.size.height,left:a.origin.windowOffset.left,top:a.origin.windowOffset.top,width:a.origin.size.width}}),a.origin.windowOffset.right=a.origin.windowOffset.left+a.origin.size.width,a.origin.windowOffset.bottom=a.origin.windowOffset.top+a.origin.size.height,a.origin.offset.left=a.origin.windowOffset.left+a.window.scroll.left,a.origin.offset.top=a.origin.windowOffset.top+a.window.scroll.top,a.origin.offset.bottom=a.origin.offset.top+a.origin.size.height,a.origin.offset.right=a.origin.offset.left+a.origin.size.width,a.available.document={bottom:{height:a.document.size.height-a.origin.offset.bottom,width:a.document.size.width},left:{height:a.document.size.height,width:a.origin.offset.left},right:{height:a.document.size.height,width:a.document.size.width-a.origin.offset.right},top:{height:a.origin.offset.top,width:a.document.size.width}},a.available.window={bottom:{height:Math.max(a.window.size.height-Math.max(a.origin.windowOffset.bottom,0),0),width:a.window.size.width},left:{height:a.window.size.height,width:Math.max(a.origin.windowOffset.left,0)},right:{height:a.window.size.height,width:Math.max(a.window.size.width-Math.max(a.origin.windowOffset.right,0),0)},top:{height:Math.max(a.origin.windowOffset.top,0),width:a.window.size.width}};"html"!=_[0].tagName.toLowerCase();){if("fixed"==_.css("position")){a.origin.fixedLineage=!0;break}_=_.parent()}return a},__optionsFormat:function(){return"number"==typeof this.__options.animationDuration&&(this.__options.animationDuration=[this.__options.animationDuration,this.__options.animationDuration]),"number"==typeof this.__options.delay&&(this.__options.delay=[this.__options.delay,this.__options.delay]),"number"==typeof this.__options.delayTouch&&(this.__options.delayTouch=[this.__options.delayTouch,this.__options.delayTouch]),"string"==typeof this.__options.theme&&(this.__options.theme=[this.__options.theme]),null===this.__options.parent?this.__options.parent=E(I.window.document.body):"string"==typeof this.__options.parent&&(this.__options.parent=E(this.__options.parent)),"hover"==this.__options.trigger?(this.__options.triggerOpen={mouseenter:!0,touchstart:!0},this.__options.triggerClose={mouseleave:!0,originClick:!0,touchleave:!0}):"click"==this.__options.trigger&&(this.__options.triggerOpen={click:!0,tap:!0},this.__options.triggerClose={click:!0,tap:!0}),this._trigger("options"),this},__prepareGC:function(){var t=this;return t.__options.selfDestruction?t.__garbageCollector=setInterval(function(){var o=(new Date).getTime();t.__touchEvents=E.grep(t.__touchEvents,function(t,i){return 6e4<o-t.time}),p(t._$origin)||t.close(function(){t.destroy()})},2e4):clearInterval(t.__garbageCollector),t},__prepareOrigin:function(){var i=this;if(i._$origin.off("."+i.__namespace+"-triggerOpen"),I.hasTouchCapability&&i._$origin.on("touchstart."+i.__namespace+"-triggerOpen touchend."+i.__namespace+"-triggerOpen touchcancel."+i.__namespace+"-triggerOpen",function(t){i._touchRecordEvent(t)}),i.__options.triggerOpen.click||i.__options.triggerOpen.tap&&I.hasTouchCapability){var t="";i.__options.triggerOpen.click&&(t+="click."+i.__namespace+"-triggerOpen "),i.__options.triggerOpen.tap&&I.hasTouchCapability&&(t+="touchend."+i.__namespace+"-triggerOpen"),i._$origin.on(t,function(t){i._touchIsMeaningfulEvent(t)&&i._open(t)})}if(i.__options.triggerOpen.mouseenter||i.__options.triggerOpen.touchstart&&I.hasTouchCapability){t="";i.__options.triggerOpen.mouseenter&&(t+="mouseenter."+i.__namespace+"-triggerOpen "),i.__options.triggerOpen.touchstart&&I.hasTouchCapability&&(t+="touchstart."+i.__namespace+"-triggerOpen"),i._$origin.on(t,function(t){!i._touchIsTouchEvent(t)&&i._touchIsEmulatedEvent(t)||(i.__pointerIsOverOrigin=!0,i._openShortly(t))})}if(i.__options.triggerClose.mouseleave||i.__options.triggerClose.touchleave&&I.hasTouchCapability){t="";i.__options.triggerClose.mouseleave&&(t+="mouseleave."+i.__namespace+"-triggerOpen "),i.__options.triggerClose.touchleave&&I.hasTouchCapability&&(t+="touchend."+i.__namespace+"-triggerOpen touchcancel."+i.__namespace+"-triggerOpen"),i._$origin.on(t,function(t){i._touchIsMeaningfulEvent(t)&&(i.__pointerIsOverOrigin=!1)})}return i},__prepareTooltip:function(){var o=this,t=o.__options.interactive?"auto":"";return o._$tooltip.attr("id",o.__namespace).css({"pointer-events":t,zIndex:o.__options.zIndex}),E.each(o.__previousThemes,function(t,i){o._$tooltip.removeClass(i)}),E.each(o.__options.theme,function(t,i){o._$tooltip.addClass(i)}),o.__previousThemes=E.merge([],o.__options.theme),o},__scrollHandler:function(t){var i=this;if(i.__options.triggerClose.scroll)i._close(t);else if(p(i._$origin)&&p(i._$tooltip)){var r=null;if(t.target===I.window.document)i.__Geometry.origin.fixedLineage||i.__options.repositionOnScroll&&i.reposition(t);else{r=i.__geometry();var _=!1;if("fixed"!=i._$origin.css("position")&&i.__$originParents.each(function(t,i){var o=E(i),e=o.css("overflow-x"),n=o.css("overflow-y");if("visible"!=e||"visible"!=n){var s=i.getBoundingClientRect();if("visible"!=e&&(r.origin.windowOffset.left<s.left||r.origin.windowOffset.right>s.right))return!(_=!0);if("visible"!=n&&(r.origin.windowOffset.top<s.top||r.origin.windowOffset.bottom>s.bottom))return!(_=!0)}if("fixed"==o.css("position"))return!1}),_)i._$tooltip.css("visibility","hidden");else if(i._$tooltip.css("visibility","visible"),i.__options.repositionOnScroll)i.reposition(t);else{var o=r.origin.offset.left-i.__Geometry.origin.offset.left,e=r.origin.offset.top-i.__Geometry.origin.offset.top;i._$tooltip.css({left:i.__lastPosition.coord.left+o,top:i.__lastPosition.coord.top+e})}}i._trigger({type:"scroll",event:t,geo:r})}return i},__stateSet:function(t){return this.__state=t,this._trigger({type:"state",state:t}),this},__timeoutsClear:function(){return clearTimeout(this.__timeouts.open),this.__timeouts.open=null,E.each(this.__timeouts.close,function(t,i){clearTimeout(i)}),this.__timeouts.close=[],this},__trackerStart:function(){var e=this,n=e._$tooltip.find(".tooltipster-content");return e.__options.trackTooltip&&(e.__contentBcr=n[0].getBoundingClientRect()),e.__tracker=setInterval(function(){if(p(e._$origin)&&p(e._$tooltip)){if(e.__options.trackOrigin){var t=e.__geometry(),i=!1;s(t.origin.size,e.__Geometry.origin.size)&&(e.__Geometry.origin.fixedLineage?s(t.origin.windowOffset,e.__Geometry.origin.windowOffset)&&(i=!0):s(t.origin.offset,e.__Geometry.origin.offset)&&(i=!0)),i||(e.__options.triggerClose.mouseleave?e._close():e.reposition())}if(e.__options.trackTooltip){var o=n[0].getBoundingClientRect();o.height===e.__contentBcr.height&&o.width===e.__contentBcr.width||(e.reposition(),e.__contentBcr=o)}}else e._close()},e.__options.trackerInterval),e},_close:function(o,t,i){var e=this,n=!0;if(e._trigger({type:"close",event:o,stop:function(){n=!1}}),n||i){t&&e.__callbacks.close.push(t),e.__callbacks.open=[],e.__timeoutsClear();function s(){E.each(e.__callbacks.close,function(t,i){i.call(e,e,{event:o,origin:e._$origin[0]})}),e.__callbacks.close=[]}if("closed"!=e.__state){var r=!0,_=(new Date).getTime()+e.__options.animationDuration[1];if("disappearing"==e.__state&&_>e.__closingTime&&0<e.__options.animationDuration[1]&&(r=!1),r){e.__closingTime=_,"disappearing"!=e.__state&&e.__stateSet("disappearing");function a(){clearInterval(e.__tracker),e._trigger({type:"closing",event:o}),e._$tooltip.off("."+e.__namespace+"-triggerClose").removeClass("tooltipster-dying"),E(I.window).off("."+e.__namespace+"-triggerClose"),e.__$originParents.each(function(t,i){E(i).off("scroll."+e.__namespace+"-triggerClose")}),e.__$originParents=null,E(I.window.document.body).off("."+e.__namespace+"-triggerClose"),e._$origin.off("."+e.__namespace+"-triggerClose"),e._off("dismissable"),e.__stateSet("closed"),e._trigger({type:"after",event:o}),e.__options.functionAfter&&e.__options.functionAfter.call(e,e,{event:o,origin:e._$origin[0]}),s()}I.hasTransitions?(e._$tooltip.css({"-moz-animation-duration":e.__options.animationDuration[1]+"ms","-ms-animation-duration":e.__options.animationDuration[1]+"ms","-o-animation-duration":e.__options.animationDuration[1]+"ms","-webkit-animation-duration":e.__options.animationDuration[1]+"ms","animation-duration":e.__options.animationDuration[1]+"ms","transition-duration":e.__options.animationDuration[1]+"ms"}),e._$tooltip.clearQueue().removeClass("tooltipster-show").addClass("tooltipster-dying"),0<e.__options.animationDuration[1]&&e._$tooltip.delay(e.__options.animationDuration[1]),e._$tooltip.queue(a)):e._$tooltip.stop().fadeOut(e.__options.animationDuration[1],a)}}else s()}return e},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_open:function(t,i){var o=this;if(!o.__destroying&&p(o._$origin)&&o.__enabled){var e=!0;if("closed"==o.__state&&(o._trigger({type:"before",event:t,stop:function(){e=!1}}),e&&o.__options.functionBefore&&(e=o.__options.functionBefore.call(o,o,{event:t,origin:o._$origin[0]}))),!1!==e&&null!==o.__Content){i&&o.__callbacks.open.push(i),o.__callbacks.close=[],o.__timeoutsClear();function n(){"stable"!=o.__state&&o.__stateSet("stable"),E.each(o.__callbacks.open,function(t,i){i.call(o,o,{origin:o._$origin[0],tooltip:o._$tooltip[0]})}),o.__callbacks.open=[]}var s;if("closed"!==o.__state)s=0,"disappearing"===o.__state?(o.__stateSet("appearing"),I.hasTransitions?(o._$tooltip.clearQueue().removeClass("tooltipster-dying").addClass("tooltipster-show"),0<o.__options.animationDuration[0]&&o._$tooltip.delay(o.__options.animationDuration[0]),o._$tooltip.queue(n)):o._$tooltip.stop().fadeIn(n)):"stable"==o.__state&&n();else{if(o.__stateSet("appearing"),s=o.__options.animationDuration[0],o.__contentInsert(),o.reposition(t,!0),I.hasTransitions?(o._$tooltip.addClass("tooltipster-"+o.__options.animation).addClass("tooltipster-initial").css({"-moz-animation-duration":o.__options.animationDuration[0]+"ms","-ms-animation-duration":o.__options.animationDuration[0]+"ms","-o-animation-duration":o.__options.animationDuration[0]+"ms","-webkit-animation-duration":o.__options.animationDuration[0]+"ms","animation-duration":o.__options.animationDuration[0]+"ms","transition-duration":o.__options.animationDuration[0]+"ms"}),setTimeout(function(){"closed"!=o.__state&&(o._$tooltip.addClass("tooltipster-show").removeClass("tooltipster-initial"),0<o.__options.animationDuration[0]&&o._$tooltip.delay(o.__options.animationDuration[0]),o._$tooltip.queue(n))},0)):o._$tooltip.css("display","none").fadeIn(o.__options.animationDuration[0],n),o.__trackerStart(),E(I.window).on("resize."+o.__namespace+"-triggerClose",function(t){var i=E(document.activeElement);(i.is("input")||i.is("textarea"))&&E.contains(o._$tooltip[0],i[0])||o.reposition(t)}).on("scroll."+o.__namespace+"-triggerClose",function(t){o.__scrollHandler(t)}),o.__$originParents=o._$origin.parents(),o.__$originParents.each(function(t,i){E(i).on("scroll."+o.__namespace+"-triggerClose",function(t){o.__scrollHandler(t)})}),o.__options.triggerClose.mouseleave||o.__options.triggerClose.touchleave&&I.hasTouchCapability){o._on("dismissable",function(t){t.dismissable?t.delay?(l=setTimeout(function(){o._close(t.event)},t.delay),o.__timeouts.close.push(l)):o._close(t):clearTimeout(l)});var r=o._$origin,_="",a="",l=null;o.__options.interactive&&(r=r.add(o._$tooltip)),o.__options.triggerClose.mouseleave&&(_+="mouseenter."+o.__namespace+"-triggerClose ",a+="mouseleave."+o.__namespace+"-triggerClose "),o.__options.triggerClose.touchleave&&I.hasTouchCapability&&(_+="touchstart."+o.__namespace+"-triggerClose",a+="touchend."+o.__namespace+"-triggerClose touchcancel."+o.__namespace+"-triggerClose"),r.on(a,function(t){if(o._touchIsTouchEvent(t)||!o._touchIsEmulatedEvent(t)){var i="mouseleave"==t.type?o.__options.delay:o.__options.delayTouch;o._trigger({delay:i[1],dismissable:!0,event:t,type:"dismissable"})}}).on(_,function(t){!o._touchIsTouchEvent(t)&&o._touchIsEmulatedEvent(t)||o._trigger({dismissable:!1,event:t,type:"dismissable"})})}o.__options.triggerClose.originClick&&o._$origin.on("click."+o.__namespace+"-triggerClose",function(t){o._touchIsTouchEvent(t)||o._touchIsEmulatedEvent(t)||o._close(t)}),(o.__options.triggerClose.click||o.__options.triggerClose.tap&&I.hasTouchCapability)&&setTimeout(function(){if("closed"!=o.__state){var t="",i=E(I.window.document.body);o.__options.triggerClose.click&&(t+="click."+o.__namespace+"-triggerClose "),o.__options.triggerClose.tap&&I.hasTouchCapability&&(t+="touchend."+o.__namespace+"-triggerClose"),i.on(t,function(t){o._touchIsMeaningfulEvent(t)&&(o._touchRecordEvent(t),o.__options.interactive&&E.contains(o._$tooltip[0],t.target)||o._close(t))}),o.__options.triggerClose.tap&&I.hasTouchCapability&&i.on("touchstart."+o.__namespace+"-triggerClose",function(t){o._touchRecordEvent(t)})}},0),o._trigger("ready"),o.__options.functionReady&&o.__options.functionReady.call(o,o,{origin:o._$origin[0],tooltip:o._$tooltip[0]})}if(0<o.__options.timer){l=setTimeout(function(){o._close()},o.__options.timer+s);o.__timeouts.close.push(l)}}}return o},_openShortly:function(t){var i=this,o=!0;if("stable"!=i.__state&&"appearing"!=i.__state&&!i.__timeouts.open&&(i._trigger({type:"start",event:t,stop:function(){o=!1}}),o)){var e=0==t.type.indexOf("touch")?i.__options.delayTouch:i.__options.delay;e[0]?i.__timeouts.open=setTimeout(function(){i.__timeouts.open=null,i.__pointerIsOverOrigin&&i._touchIsMeaningfulEvent(t)?(i._trigger("startend"),i._open(t)):i._trigger("startcancel")},e[0]):(i._trigger("startend"),i._open(t))}return i},_optionsExtract:function(t,i){var e=this,o=E.extend(!0,{},i),n=e.__options[t];return n||(n={},E.each(i,function(t,i){var o=e.__options[t];void 0!==o&&(n[t]=o)})),E.each(o,function(t,i){void 0!==n[t]&&("object"!=typeof i||i instanceof Array||null==i||"object"!=typeof n[t]||n[t]instanceof Array||null==n[t]?o[t]=n[t]:E.extend(o[t],n[t]))}),o},_plug:function(t){var i=E.tooltipster._plugin(t);if(!i)throw new Error('The "'+t+'" plugin is not defined');return i.instance&&E.tooltipster.__bridge(i.instance,this,i.name),this},_touchIsEmulatedEvent:function(t){for(var i=!1,o=(new Date).getTime(),e=this.__touchEvents.length-1;0<=e;e--){var n=this.__touchEvents[e];if(!(o-n.time<500))break;n.target===t.target&&(i=!0)}return i},_touchIsMeaningfulEvent:function(t){return this._touchIsTouchEvent(t)&&!this._touchSwiped(t.target)||!this._touchIsTouchEvent(t)&&!this._touchIsEmulatedEvent(t)},_touchIsTouchEvent:function(t){return 0==t.type.indexOf("touch")},_touchRecordEvent:function(t){return this._touchIsTouchEvent(t)&&(t.time=(new Date).getTime(),this.__touchEvents.push(t)),this},_touchSwiped:function(t){for(var i=!1,o=this.__touchEvents.length-1;0<=o;o--){var e=this.__touchEvents[o];if("touchmove"==e.type){i=!0;break}if("touchstart"==e.type&&t===e.target)break}return i},_trigger:function(){var t=Array.prototype.slice.apply(arguments);return"string"==typeof t[0]&&(t[0]={type:t[0]}),t[0].instance=this,t[0].origin=this._$origin?this._$origin[0]:null,t[0].tooltip=this._$tooltip?this._$tooltip[0]:null,this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,t),E.tooltipster._trigger.apply(E.tooltipster,t),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,t),this},_unplug:function(o){var e=this;if(e[o]){var t=E.tooltipster._plugin(o);t.instance&&E.each(t.instance,function(t,i){e[t]&&e[t].bridged===e[o]&&delete e[t]}),e[o].__destroy&&e[o].__destroy(),delete e[o]}return e},close:function(t){return this.__destroyed?this.__destroyError():this._close(null,t),this},content:function(t){var i=this;if(void 0===t)return i.__Content;if(i.__destroyed)i.__destroyError();else if(i.__contentSet(t),null!==i.__Content){if("closed"!==i.__state&&(i.__contentInsert(),i.reposition(),i.__options.updateAnimation))if(I.hasTransitions){var o=i.__options.updateAnimation;i._$tooltip.addClass("tooltipster-update-"+o),setTimeout(function(){"closed"!=i.__state&&i._$tooltip.removeClass("tooltipster-update-"+o)},1e3)}else i._$tooltip.fadeTo(200,.5,function(){"closed"!=i.__state&&i._$tooltip.fadeTo(200,1)})}else i._close();return i},destroy:function(){var o=this;if(o.__destroyed)o.__destroyError();else{"closed"!=o.__state?o.option("animationDuration",0)._close(null,null,!0):o.__timeoutsClear(),o._trigger("destroy"),o.__destroyed=!0,o._$origin.removeData(o.__namespace).off("."+o.__namespace+"-triggerOpen"),E(I.window.document.body).off("."+o.__namespace+"-triggerOpen");var t=o._$origin.data("tooltipster-ns");if(t)if(1===t.length){var i=null;"previous"==o.__options.restoration?i=o._$origin.data("tooltipster-initialTitle"):"current"==o.__options.restoration&&(i="string"==typeof o.__Content?o.__Content:E("<div></div>").append(o.__Content).html()),i&&o._$origin.attr("title",i),o._$origin.removeClass("tooltipstered"),o._$origin.removeData("tooltipster-ns").removeData("tooltipster-initialTitle")}else t=E.grep(t,function(t,i){return t!==o.__namespace}),o._$origin.data("tooltipster-ns",t);o._trigger("destroyed"),o._off(),o.off(),o.__Content=null,o.__$emitterPrivate=null,o.__$emitterPublic=null,o.__options.parent=null,o._$origin=null,o._$tooltip=null,E.tooltipster.__instancesLatestArr=E.grep(E.tooltipster.__instancesLatestArr,function(t,i){return o!==t}),clearInterval(o.__garbageCollector)}return o},disable:function(){return this.__destroyed?this.__destroyError():(this._close(),this.__enabled=!1),this},elementOrigin:function(){if(!this.__destroyed)return this._$origin[0];this.__destroyError()},elementTooltip:function(){return this._$tooltip?this._$tooltip[0]:null},enable:function(){return this.__enabled=!0,this},hide:function(t){return this.close(t)},instance:function(){return this},off:function(){return this.__destroyed||this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},open:function(t){return this.__destroyed?this.__destroyError():this._open(null,t),this},option:function(t,i){return void 0===i?this.__options[t]:(this.__destroyed?this.__destroyError():(this.__options[t]=i,this.__optionsFormat(),0<=E.inArray(t,["trigger","triggerClose","triggerOpen"])&&this.__prepareOrigin(),"selfDestruction"===t&&this.__prepareGC()),this)},reposition:function(t,i){var o=this;return o.__destroyed?o.__destroyError():"closed"!=o.__state&&p(o._$origin)&&(i||p(o._$tooltip))&&(i||o._$tooltip.detach(),o.__Geometry=o.__geometry(),o._trigger({type:"reposition",event:t,helper:{geo:o.__Geometry}})),o},show:function(t){return this.open(t)},status:function(){return{destroyed:this.__destroyed,enabled:this.__enabled,open:"closed"!==this.__state,state:this.__state}},triggerHandler:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},E.fn.tooltipster=function(){var n=Array.prototype.slice.apply(arguments),e="You are using a single HTML element as content for several tooltips. You probably want to set the contentCloning option to TRUE.";if(0===this.length)return this;if("string"==typeof n[0]){var s="#*$~&";return this.each(function(){var t=E(this).data("tooltipster-ns"),i=t?E(this).data(t[0]):null;if(!i)throw new Error("You called Tooltipster's \""+n[0]+'" method on an uninitialized element');if("function"!=typeof i[n[0]])throw new Error('Unknown method "'+n[0]+'"');1<this.length&&"content"==n[0]&&(n[1]instanceof E||"object"==typeof n[1]&&null!=n[1]&&n[1].tagName)&&!i.__options.contentCloning&&i.__options.debug&&console.log(e);var o=i[n[0]](n[1],n[2]);if(o!==i||"instance"===n[0])return s=o,!1}),"#*$~&"!==s?s:this}E.tooltipster.__instancesLatestArr=[];var t=n[0]&&void 0!==n[0].multiple,r=t&&n[0].multiple||!t&&c.multiple,i=n[0]&&void 0!==n[0].content,o=i&&n[0].content||!i&&c.content,_=n[0]&&void 0!==n[0].contentCloning,a=_&&n[0].contentCloning||!_&&c.contentCloning,l=n[0]&&void 0!==n[0].debug,p=l&&n[0].debug||!l&&c.debug;return 1<this.length&&(o instanceof E||"object"==typeof o&&null!=o&&o.tagName)&&!a&&p&&console.log(e),this.each(function(){var t=!1,i=E(this),o=i.data("tooltipster-ns"),e=null;o?r?t=!0:p&&(console.log("Tooltipster: one or more tooltips are already attached to the element below. Ignoring."),console.log(this)):t=!0,t&&(e=new E.Tooltipster(this,n[0]),(o=o||[]).push(e.__namespace),i.data("tooltipster-ns",o),i.data(e.__namespace,e),e.__options.functionInit&&e.__options.functionInit.call(e,e,{origin:this}),e._trigger("init")),E.tooltipster.__instancesLatestArr.push(e)}),this},i.prototype={__init:function(t){this.__$tooltip=t,this.__$tooltip.css({left:0,overflow:"hidden",position:"absolute",top:0}).find(".tooltipster-content").css("overflow","auto"),this.$container=E('<div class="tooltipster-ruler"></div>').append(this.__$tooltip).appendTo(I.window.document.body)},__forceRedraw:function(){var t=this.__$tooltip.parent();this.__$tooltip.detach(),this.__$tooltip.appendTo(t)},constrain:function(t,i){return this.constraints={width:t,height:i},this.__$tooltip.css({display:"block",height:"",overflow:"auto",width:t}),this},destroy:function(){this.__$tooltip.detach().find(".tooltipster-content").css({display:"",overflow:""}),this.$container.remove()},free:function(){return this.constraints=null,this.__$tooltip.css({display:"",height:"",overflow:"visible",width:""}),this},measure:function(){this.__forceRedraw();var t=this.__$tooltip[0].getBoundingClientRect(),i={size:{height:t.height||t.bottom-t.top,width:t.width||t.right-t.left}};if(this.constraints){var o=this.__$tooltip.find(".tooltipster-content"),e=this.__$tooltip.outerHeight(),n=o[0].getBoundingClientRect(),s={height:e<=this.constraints.height,width:t.width<=this.constraints.width&&n.width>=o[0].scrollWidth-1};i.fits=s.height&&s.width}return I.IE&&I.IE<=11&&i.size.width!==I.window.document.documentElement.clientWidth&&(i.size.width=Math.ceil(i.size.width)+1),i}};var o=navigator.userAgent.toLowerCase();-1!=o.indexOf("msie")?I.IE=parseInt(o.split("msie")[1]):-1!==o.toLowerCase().indexOf("trident")&&-1!==o.indexOf(" rv:11")?I.IE=11:-1!=o.toLowerCase().indexOf("edge/")&&(I.IE=parseInt(o.toLowerCase().split("edge/")[1]));var e="tooltipster.sideTip";return E.tooltipster._plugin({name:e,instance:{__defaults:function(){return{arrow:!0,distance:6,functionPosition:null,maxWidth:null,minIntersection:16,minWidth:0,position:null,side:"top",viewportAware:!0}},__init:function(t){var i=this;i.__instance=t,i.__namespace="tooltipster-sideTip-"+Math.round(1e6*Math.random()),i.__previousState="closed",i.__options,i.__optionsFormat(),i.__instance._on("state."+i.__namespace,function(t){"closed"==t.state?i.__close():"appearing"==t.state&&"closed"==i.__previousState&&i.__create(),i.__previousState=t.state}),i.__instance._on("options."+i.__namespace,function(){i.__optionsFormat()}),i.__instance._on("reposition."+i.__namespace,function(t){i.__reposition(t.event,t.helper)})},__close:function(){this.__instance.content()instanceof E&&this.__instance.content().detach(),this.__instance._$tooltip.remove(),this.__instance._$tooltip=null},__create:function(){var t=E('<div class="tooltipster-base tooltipster-sidetip"><div class="tooltipster-box"><div class="tooltipster-content"></div></div><div class="tooltipster-arrow"><div class="tooltipster-arrow-uncropped"><div class="tooltipster-arrow-border"></div><div class="tooltipster-arrow-background"></div></div></div></div>');this.__options.arrow||t.find(".tooltipster-box").css("margin",0).end().find(".tooltipster-arrow").hide(),this.__options.minWidth&&t.css("min-width",this.__options.minWidth+"px"),this.__options.maxWidth&&t.css("max-width",this.__options.maxWidth+"px"),this.__instance._$tooltip=t,this.__instance._trigger("created")},__destroy:function(){this.__instance._off("."+self.__namespace)},__optionsFormat:function(){var t=this;if(t.__options=t.__instance._optionsExtract(e,t.__defaults()),t.__options.position&&(t.__options.side=t.__options.position),"object"!=typeof t.__options.distance&&(t.__options.distance=[t.__options.distance]),t.__options.distance.length<4&&(void 0===t.__options.distance[1]&&(t.__options.distance[1]=t.__options.distance[0]),void 0===t.__options.distance[2]&&(t.__options.distance[2]=t.__options.distance[0]),void 0===t.__options.distance[3]&&(t.__options.distance[3]=t.__options.distance[1]),t.__options.distance={top:t.__options.distance[0],right:t.__options.distance[1],bottom:t.__options.distance[2],left:t.__options.distance[3]}),"string"==typeof t.__options.side){t.__options.side=[t.__options.side,{top:"bottom",right:"left",bottom:"top",left:"right"}[t.__options.side]],"left"==t.__options.side[0]||"right"==t.__options.side[0]?t.__options.side.push("top","bottom"):t.__options.side.push("right","left")}6===E.tooltipster._env.IE&&!0!==t.__options.arrow&&(t.__options.arrow=!1)},__reposition:function(a,l){var i,p=this,c=p.__targetFind(l),h=[];p.__instance._$tooltip.detach();var o=p.__instance._$tooltip.clone(),d=E.tooltipster._getRuler(o),u=!1,t=p.__instance.option("animation");switch(t&&o.removeClass("tooltipster-"+t),E.each(["window","document"],function(t,n){var s=null;if(p.__instance._trigger({container:n,helper:l,satisfied:u,takeTest:function(t){s=t},results:h,type:"positionTest"}),1==s||0!=s&&0==u&&("window"!=n||p.__options.viewportAware))for(t=0;t<p.__options.side.length;t++){var r={horizontal:0,vertical:0},_=p.__options.side[t];"top"==_||"bottom"==_?r.vertical=p.__options.distance[_]:r.horizontal=p.__options.distance[_],p.__sideChange(o,_),E.each(["natural","constrained"],function(t,i){if(s=null,p.__instance._trigger({container:n,event:a,helper:l,mode:i,results:h,satisfied:u,side:_,takeTest:function(t){s=t},type:"positionTest"}),1==s||0!=s&&0==u){var o={container:n,distance:r,fits:null,mode:i,outerSize:null,side:_,size:null,target:c[_],whole:null},e=("natural"==i?d.free():d.constrain(l.geo.available[n][_].width-r.horizontal,l.geo.available[n][_].height-r.vertical)).measure();if(o.size=e.size,o.outerSize={height:e.size.height+r.vertical,width:e.size.width+r.horizontal},"natural"==i?l.geo.available[n][_].width>=o.outerSize.width&&l.geo.available[n][_].height>=o.outerSize.height?o.fits=!0:o.fits=!1:o.fits=e.fits,"window"==n&&(o.fits?o.whole="top"==_||"bottom"==_?l.geo.origin.windowOffset.right>=p.__options.minIntersection&&l.geo.window.size.width-l.geo.origin.windowOffset.left>=p.__options.minIntersection:l.geo.origin.windowOffset.bottom>=p.__options.minIntersection&&l.geo.window.size.height-l.geo.origin.windowOffset.top>=p.__options.minIntersection:o.whole=!1),h.push(o),o.whole)u=!0;else if("natural"==o.mode&&(o.fits||o.size.width<=l.geo.available[n][_].width))return!1}})}}),p.__instance._trigger({edit:function(t){h=t},event:a,helper:l,results:h,type:"positionTested"}),h.sort(function(t,i){return t.whole&&!i.whole?-1:!t.whole&&i.whole?1:t.whole&&i.whole?(o=p.__options.side.indexOf(t.side))<(e=p.__options.side.indexOf(i.side))?-1:e<o?1:"natural"==t.mode?-1:1:t.fits&&!i.fits?-1:!t.fits&&i.fits?1:t.fits&&i.fits?(o=p.__options.side.indexOf(t.side))<(e=p.__options.side.indexOf(i.side))?-1:e<o?1:"natural"==t.mode?-1:1:"document"==t.container&&"bottom"==t.side&&"natural"==t.mode?-1:1;var o,e}),(i=h[0]).coord={},i.side){case"left":case"right":i.coord.top=Math.floor(i.target-i.size.height/2);break;case"bottom":case"top":i.coord.left=Math.floor(i.target-i.size.width/2)}switch(i.side){case"left":i.coord.left=l.geo.origin.windowOffset.left-i.outerSize.width;break;case"right":i.coord.left=l.geo.origin.windowOffset.right+i.distance.horizontal;break;case"top":i.coord.top=l.geo.origin.windowOffset.top-i.outerSize.height;break;case"bottom":i.coord.top=l.geo.origin.windowOffset.bottom+i.distance.vertical}"window"==i.container?"top"==i.side||"bottom"==i.side?i.coord.left<0?0<=l.geo.origin.windowOffset.right-this.__options.minIntersection?i.coord.left=0:i.coord.left=l.geo.origin.windowOffset.right-this.__options.minIntersection-1:i.coord.left>l.geo.window.size.width-i.size.width&&(l.geo.origin.windowOffset.left+this.__options.minIntersection<=l.geo.window.size.width?i.coord.left=l.geo.window.size.width-i.size.width:i.coord.left=l.geo.origin.windowOffset.left+this.__options.minIntersection+1-i.size.width):i.coord.top<0?0<=l.geo.origin.windowOffset.bottom-this.__options.minIntersection?i.coord.top=0:i.coord.top=l.geo.origin.windowOffset.bottom-this.__options.minIntersection-1:i.coord.top>l.geo.window.size.height-i.size.height&&(l.geo.origin.windowOffset.top+this.__options.minIntersection<=l.geo.window.size.height?i.coord.top=l.geo.window.size.height-i.size.height:i.coord.top=l.geo.origin.windowOffset.top+this.__options.minIntersection+1-i.size.height):(i.coord.left>l.geo.window.size.width-i.size.width&&(i.coord.left=l.geo.window.size.width-i.size.width),i.coord.left<0&&(i.coord.left=0)),p.__sideChange(o,i.side),l.tooltipClone=o[0],l.tooltipParent=p.__instance.option("parent").parent[0],l.mode=i.mode,l.whole=i.whole,l.origin=p.__instance._$origin[0],l.tooltip=p.__instance._$tooltip[0],delete i.container,delete i.fits,delete i.mode,delete i.outerSize,delete i.whole,i.distance=i.distance.horizontal||i.distance.vertical;var e,n,s,r=E.extend(!0,{},i);if(p.__instance._trigger({edit:function(t){i=t},event:a,helper:l,position:r,type:"position"}),p.__options.functionPosition){var _=p.__options.functionPosition.call(p,p.__instance,l,r);_&&(i=_)}d.destroy(),n="top"==i.side||"bottom"==i.side?(e={prop:"left",val:i.target-i.coord.left},i.size.width-this.__options.minIntersection):(e={prop:"top",val:i.target-i.coord.top},i.size.height-this.__options.minIntersection),e.val<this.__options.minIntersection?e.val=this.__options.minIntersection:e.val>n&&(e.val=n),s=l.geo.origin.fixedLineage?l.geo.origin.windowOffset:{left:l.geo.origin.windowOffset.left+l.geo.window.scroll.left,top:l.geo.origin.windowOffset.top+l.geo.window.scroll.top},i.coord={left:s.left+(i.coord.left-l.geo.origin.windowOffset.left),top:s.top+(i.coord.top-l.geo.origin.windowOffset.top)},p.__sideChange(p.__instance._$tooltip,i.side),l.geo.origin.fixedLineage?p.__instance._$tooltip.css("position","fixed"):p.__instance._$tooltip.css("position",""),p.__instance._$tooltip.css({left:i.coord.left,top:i.coord.top,height:i.size.height,width:i.size.width}).find(".tooltipster-arrow").css({left:"",top:""}).css(e.prop,e.val),p.__instance._$tooltip.appendTo(p.__instance.option("parent")),p.__instance._trigger({type:"repositioned",event:a,position:i})},__sideChange:function(t,i){t.removeClass("tooltipster-bottom").removeClass("tooltipster-left").removeClass("tooltipster-right").removeClass("tooltipster-top").addClass("tooltipster-"+i)},__targetFind:function(t){var i={},o=this.__instance._$origin[0].getClientRects();1<o.length&&1==this.__instance._$origin.css("opacity")&&(this.__instance._$origin.css("opacity",.99),o=this.__instance._$origin[0].getClientRects(),this.__instance._$origin.css("opacity",1));if(o.length<2)i.top=Math.floor(t.geo.origin.windowOffset.left+t.geo.origin.size.width/2),i.bottom=i.top,i.left=Math.floor(t.geo.origin.windowOffset.top+t.geo.origin.size.height/2),i.right=i.left;else{var e=o[0];i.top=Math.floor(e.left+(e.right-e.left)/2),e=2<o.length?o[Math.ceil(o.length/2)-1]:o[0],i.right=Math.floor(e.top+(e.bottom-e.top)/2),e=o[o.length-1],i.bottom=Math.floor(e.left+(e.right-e.left)/2),e=2<o.length?o[Math.ceil((o.length+1)/2)-1]:o[o.length-1],i.left=Math.floor(e.top+(e.bottom-e.top)/2)}return i}}}),E});
11
  !function(r){"use strict";r(document).on("click",".eael-load-more-button",function(a){a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation();var o=r(this),s=r("span",o).html(),e=o.data("widget"),n=r(".elementor-element-"+e),t=o.data("class"),l=o.data("args"),p=o.data("settings"),d=o.data("layout"),i=parseInt(o.data("page"))+1;void 0!==e&&void 0!==l&&(o.addClass("button--loading"),r("span",o).html("Loading..."),r.ajax({url:localize.ajaxurl,type:"post",data:{action:"load_more",class:t,args:l,settings:p,page:i},success:function(a){var e=r(a);if(e.hasClass("no-posts-found")||0==e.length)o.remove();else{if(r(".eael-post-appender",n).append(e),"masonry"==d){var t=r(".eael-post-appender",n).isotope();t.isotope("appended",e).isotope("layout"),t.imagesLoaded().progress(function(){t.isotope("layout")})}o.removeClass("button--loading"),r("span",o).html(s),o.data("page",i)}},error:function(a){console.log(a)}}))})}(jQuery);
12
  var AdvAccordionHandler=function(e,n){var a=e.find(".eael-adv-accordion"),o=e.find(".eael-accordion-header"),d=a.data("accordion-type"),t=a.data("toogle-speed");o.each(function(){n(this).hasClass("active-default")&&(n(this).addClass("show active"),n(this).next().slideDown(t))}),o.unbind("click"),o.click(function(e){e.preventDefault();var a=n(this);"accordion"===d?a.hasClass("show")?(a.removeClass("show active"),a.next().slideUp(t)):(a.parent().parent().find(".eael-accordion-header").removeClass("show active"),a.parent().parent().find(".eael-accordion-content").slideUp(t),a.toggleClass("show active"),a.next().slideToggle(t)):a.hasClass("show")?(a.removeClass("show active"),a.next().slideUp(t)):(a.addClass("show active"),a.next().slideDown(t))})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-adv-accordion.default",AdvAccordionHandler)});
 
13
  var AdvanceTabHandler=function(a,s){var e="#"+a.find(".eael-advance-tabs").attr("id").toString();s(e+" .eael-tabs-nav ul li").each(function(a){s(this).hasClass("active-default")?(s(e+" .eael-tabs-nav > ul li").removeClass("active").addClass("inactive"),s(this).removeClass("inactive")):0==a&&s(this).removeClass("inactive").addClass("active")}),s(e+" .eael-tabs-content div").each(function(a){s(this).hasClass("active-default")?s(e+" .eael-tabs-content > div").removeClass("active"):0==a&&s(this).removeClass("inactive").addClass("active")}),s(e+" .eael-tabs-nav ul li").click(function(){var a=s(this).index(),e=s(this).closest(".eael-advance-tabs"),t=s(e).children(".eael-tabs-nav").children("ul").children("li"),i=s(e).children(".eael-tabs-content").children("div");s(this).parent("li").addClass("active"),s(t).removeClass("active active-default").addClass("inactive"),s(this).addClass("active").removeClass("inactive"),s(i).removeClass("active").addClass("inactive"),s(i).eq(a).addClass("active").removeClass("inactive"),s(i).each(function(a){s(this).removeClass("active-default")})})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-adv-tabs.default",AdvanceTabHandler)});
14
  var ContentTicker=function(a,e){var t=a.find(".eael-content-ticker").eq(0),o=void 0!==t.data("items")?t.data("items"):1,i=void 0!==t.data("items-tablet")?t.data("items-tablet"):1,n=void 0!==t.data("items-mobile")?t.data("items-mobile"):1,d=void 0!==t.data("margin")?t.data("margin"):10,r=void 0!==t.data("margin-tablet")?t.data("margin-tablet"):10,l=void 0!==t.data("margin-mobile")?t.data("margin-mobile"):10,s=void 0!==t.data("effect")?t.data("effect"):"slide",p=void 0!==t.data("speed")?t.data("speed"):400,v=void 0!==t.data("autoplay")?t.data("autoplay"):5e3,c=void 0!==t.data("loop")&&t.data("loop"),u=void 0!==t.data("grab-cursor")&&t.data("grab-cursor"),m=void 0!==t.data("pagination")?t.data("pagination"):".swiper-pagination",w=void 0!==t.data("arrow-next")?t.data("arrow-next"):".swiper-button-next",b=void 0!==t.data("arrow-prev")?t.data("arrow-prev"):".swiper-button-prev",g=void 0!==t.data("pause-on-hover")?t.data("pause-on-hover"):"",f=new Swiper(t,{direction:"horizontal",loop:c,speed:p,effect:s,slidesPerView:o,spaceBetween:d,grabCursor:u,paginationClickable:!0,autoHeight:!0,autoplay:{delay:v},pagination:{el:m,clickable:!0},navigation:{nextEl:w,prevEl:b},breakpoints:{480:{slidesPerView:n,spaceBetween:l},768:{slidesPerView:i,spaceBetween:r}}});0===v&&f.autoplay.stop(),g&&0!==v&&(t.on("mouseenter",function(){f.autoplay.stop()}),t.on("mouseleave",function(){f.autoplay.start()}))};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-content-ticker.default",ContentTicker)});
15
  var CountDown=function(e,t){var n=e.find(".eael-countdown-wrapper").eq(0),d=void 0!==n.data("countdown-id")?n.data("countdown-id"):"",o=void 0!==n.data("expire-type")?n.data("expire-type"):"",a=void 0!==n.data("expiry-text")?n.data("expiry-text"):"",i=void 0!==n.data("expiry-title")?n.data("expiry-title"):"",r=void 0!==n.data("redirect-url")?n.data("redirect-url"):"",l=void 0!==n.data("template")?n.data("template"):"";jQuery(document).ready(function(e){"use strict";var t=e("#eael-countdown-"+d);t.countdown({end:function(){if("text"==o)t.html('<div class="eael-countdown-finish-message"><h4 class="expiry-title">'+i+'</h4><div class="eael-countdown-finish-text">'+a+"</div></div>");else if("url"===o){0<e("body").find("#elementor").length?t.html("Your Page will be redirected to given URL (only on Frontend)."):window.location.href=r}else"template"===o&&t.html(l)}})})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-countdown.default",CountDown)});
16
  var dataTable=function(e,n){var t=e.find(".eael-data-table-wrap");t.data("table_id");if("undefined"!=typeof enableProSorter&&n.isFunction(enableProSorter)&&n(document).ready(function(){enableProSorter(jQuery,t)}),1==t.data("custom_responsive")){var a=e.find(".eael-data-table").find("th");e.find(".eael-data-table").find("tbody").find("tr").each(function(e,t){n(t).find("td .td-content-wrapper").each(function(e,t){n(this).prepend('<div class="th-mobile-screen">'+a.eq(e).html()+"</div>")})})}};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-data-table.default",dataTable)});
17
  var FacebookFeed=function(o,a){isEditMode||($facebook_gallery=a(".eael-facebook-feed",o).isotope({itemSelector:".eael-facebook-feed-item",percentPosition:!0,columnWidth:".eael-facebook-feed-item"}),$facebook_gallery.imagesLoaded().progress(function(){$facebook_gallery.isotope("layout")})),a(".eael-load-more-button",o).on("click",function(e){e.preventDefault(),$this=a(this),$settings=$this.attr("data-settings"),$page=$this.attr("data-page"),$this.addClass("button--loading"),a("span",$this).html("Loading..."),a.ajax({url:localize.ajaxurl,type:"post",data:{action:"facebook_feed_load_more",security:localize.nonce,settings:$settings,page:$page},success:function(e){$html=a(e.html),$facebook_gallery=a(".eael-facebook-feed",o).isotope(),a(".eael-facebook-feed",o).append($html),$facebook_gallery.isotope("appended",$html),$facebook_gallery.imagesLoaded().progress(function(){$facebook_gallery.isotope("layout")}),e.num_pages>$page?($this.attr("data-page",parseInt($page)+1),$this.removeClass("button--loading"),a("span",$this).html("Load more")):$this.remove()},error:function(){}})})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-facebook-feed.default",FacebookFeed)});
18
  var FancyText=function(t,e){var a=t.find(".eael-fancy-text-container").eq(0),n=void 0!==a.data("fancy-text-id")?a.data("fancy-text-id"):"",o=void 0!==a.data("fancy-text")?a.data("fancy-text"):"",d=void 0!==a.data("fancy-text-transition-type")?a.data("fancy-text-transition-type"):"",i=void 0!==a.data("fancy-text-speed")?a.data("fancy-text-speed"):"",y=void 0!==a.data("fancy-text-delay")?a.data("fancy-text-delay"):"",c=void 0!==a.data("fancy-text-cursor"),f=void 0!==a.data("fancy-text-loop")&&"yes"==a.data("fancy-text-loop");o=o.split("|"),"typing"==d&&e("#eael-fancy-text-"+n).typed({strings:o,typeSpeed:i,backSpeed:0,startDelay:300,backDelay:y,showCursor:c,loop:f}),"typing"!=d&&e("#eael-fancy-text-"+n).Morphext({animation:d,separator:", ",speed:y,complete:function(){}}),jQuery(window).on("load",function(){setTimeout(function(){e(".eael-fancy-text-strings",t).css("display","inline-block")},500)})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-fancy-text.default",FancyText)});
 
19
  !function(n){window.isEditMode=!1,n(window).on("elementor/frontend/init",function(){window.isEditMode=elementorFrontend.isEditMode()})}(jQuery);
20
+ var filterableGalleryHandler=function(f,s){var i,a,t,e=f.find(".fg-layout-3-filter-controls").eq(0),l=f.find("#fg-filter-trigger"),o=f.find(".fg-layout-3-search-box"),n=f.find("#fg-search-box-input");if(o.length&&o.on("submit",function(e){e.preventDefault()}),l.on("click",function(){e.toggleClass("open-filters")}).blur(function(){e.toggleClass("open-filters")}),!isEditMode){var g=s(".eael-filter-gallery-container",f),r=g.data("settings"),d=g.data("gallery-items"),c="masonry"==r.grid_style?"masonry":"fitRows",u="yes"==r.gallery_enabled,p=s(".eael-filter-gallery-wrapper").data("layout-mode"),m=g.isotope({itemSelector:".eael-filterable-gallery-item-wrap",layoutMode:c,percentPosition:!0,stagger:30,transitionDuration:r.duration+"ms",filter:function(){var e=s(this),t=!i||e.text().match(i);null==a&&(a="layout_3"!=p?f.find(".eael-filter-gallery-control ul li").first().data("filter"):f.find(".fg-layout-3-filter-controls li").first().data("filter"));var l=!a||e.is(a);return t&&l}});f.on("click",".control",function(){var e=s(this);a=s(this).attr("data-filter"),f.find("#fg-filter-trigger > span")&&f.find("#fg-filter-trigger > span").text(e.text()),e.siblings().removeClass("active"),e.addClass("active"),m.isotope()}),n.on("input",function(){var e=s(this);clearTimeout(t),t=setTimeout(function(){i=new RegExp(e.val(),"gi"),m.isotope()},600)}),m.imagesLoaded().progress(function(){m.isotope("layout")}),m.on("arrangeComplete",function(){m.isotope("layout")}),s(window).on("load",function(){m.isotope("layout")}),s(".eael-magnific-link",f).magnificPopup({type:"image",gallery:{enabled:u},callbacks:{close:function(){s("#elementor-lightbox").hide()}}}),s(f).magnificPopup({delegate:".eael-magnific-video-link",type:"iframe",callbacks:{close:function(){s("#elementor-lightbox").hide()}}}),f.on("click",".eael-gallery-load-more",function(e){e.preventDefault();var t=s(this),l=s(".eael-filter-gallery-container",f).children(".eael-filterable-gallery-item-wrap").length,i=g.data("total-gallery-items"),a=g.data("images-per-page"),o=g.data("nomore-item-text"),n=[];l==i&&(t.html('<div class="no-more-items-text">'+o+"</div>"),setTimeout(function(){t.fadeOut("slow")},600));for(var r=l;r<l+a;r++)n.push(s(d[r])[0]);g.append(n),m.isotope("appended",n),m.imagesLoaded().progress(function(){m.isotope("layout")}),s(".eael-magnific-link",f).magnificPopup({type:"image",gallery:{enabled:u},callbacks:{close:function(){s("#elementor-lightbox").hide()}}})})}};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-filterable-gallery.default",filterableGalleryHandler)});
21
  var ImageAccordion=function(e,a){var o=e.find(".eael-img-accordion").eq(0),i=void 0!==o.data("img-accordion-id")?o.data("img-accordion-id"):"";"on-click"===(void 0!==o.data("img-accordion-type")?o.data("img-accordion-type"):"")&&(a("#eael-img-accordion-"+i+" a").on("click",function(e){0==a(this).hasClass("overlay-active")&&e.preventDefault(),a("#eael-img-accordion-"+i+" a").css("flex","1"),a(this).find(".overlay").parent("a").addClass("overlay-active"),a("#eael-img-accordion-"+i+" a").find(".overlay-inner").removeClass("overlay-inner-show"),a(this).find(".overlay-inner").addClass("overlay-inner-show"),a(this).css("flex","3")}),a("#eael-img-accordion-"+i+" a").on("blur",function(e){a("#eael-img-accordion-"+i+" a").css("flex","1"),a("#eael-img-accordion-"+i+" a").find(".overlay-inner").removeClass("overlay-inner-show"),a(this).find(".overlay").parent("a").removeClass("overlay-active")}))};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-image-accordion.default",ImageAccordion)});
22
  var PostGrid=function(e,o){var t=o(".eael-post-appender",e).isotope({itemSelector:".eael-grid-post",masonry:{columnWidth:".eael-post-grid-column",percentPosition:!0}});t.imagesLoaded().progress(function(){t.isotope("layout")})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-post-grid.default",PostGrid)});
 
 
23
  var PricingTooltip=function(t,a){if(a.fn.tooltipster){var i,o=t.find(".tooltip");for(i=0;i<o.length;i++){var e=a("#"+a(o[i]).attr("id")),n=void 0!==e.data("side")&&e.data("side"),d=void 0!==e.data("trigger")?e.data("trigger"):"hover",r=void 0!==e.data("animation")?e.data("animation"):"fade",l=void 0!==e.data("animation_duration")?e.data("animation_duration"):300,f=void 0!==e.data("theme")?e.data("theme"):"default",m="yes"==e.data("arrow");e.tooltipster({animation:r,trigger:d,side:n,delay:l,arrow:m,theme:"tooltipster-"+f})}}};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-pricing-table.default",PricingTooltip)});
24
+ var ProgressBar=function(e,r){r(".eael-progressbar",e).eaelProgressBar()};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-progress-bar.default",ProgressBar)});
25
+ jQuery(document).ready(function(){jQuery(window).scroll(function(){var e=(document.body.scrollTop||document.documentElement.scrollTop)/(document.documentElement.scrollHeight-document.documentElement.clientHeight)*100;jQuery(".eael-reading-progress-fill").css({width:e+"%"})}),isEditMode&&(elementor.settings.page.addChangeCallback("eael_ext_reading_progress",function(e){var r=elementor.settings.page.getSettings();"yes"==e?(0==jQuery(".eael-reading-progress-wrap").length&&jQuery("body").append('<div class="eael-reading-progress-wrap eael-reading-progress-wrap-local"><div class="eael-reading-progress eael-reading-progress-local eael-reading-progress-'+r.settings.eael_ext_reading_progress_position+'"><div class="eael-reading-progress-fill"></div></div><div class="eael-reading-progress eael-reading-progress-global eael-reading-progress-'+r.settings.eael_ext_reading_progress_position+'"><div class="eael-reading-progress-fill"></div></div></div>'),jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-local").removeClass("eael-reading-progress-wrap-global eael-reading-progress-wrap-disabled")):(jQuery(".eael-reading-progress-wrap").removeClass("eael-reading-progress-wrap-local eael-reading-progress-wrap-global"),1==r.settings.eael_ext_reading_progress_has_global?jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-global"):jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-disabled"))}),elementor.settings.page.addChangeCallback("eael_ext_reading_progress_position",function(e){elementor.settings.page.setSettings("eael_ext_reading_progress_position",e),jQuery(".eael-reading-progress").removeClass("eael-reading-progress-top eael-reading-progress-bottom").addClass("eael-reading-progress-"+e)}))});
26
  var TwitterFeedHandler=function(e,t){isEditMode||($gutter=t(".eael-twitter-feed-masonry",e).data("gutter"),$settings={itemSelector:".eael-twitter-feed-item",percentPosition:!0,masonry:{columnWidth:".eael-twitter-feed-item",gutter:$gutter}},$twitter_feed_gallery=t(".eael-twitter-feed-masonry",e).isotope($settings),$twitter_feed_gallery.imagesLoaded().progress(function(){$twitter_feed_gallery.isotope("layout")}))};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-twitter-feed.default",TwitterFeedHandler)});
assets/front-end/sass/content-ticker/index.scss CHANGED
@@ -51,4 +51,14 @@
51
  .content-ticker-pagination {
52
  display: none;
53
  }
 
 
 
 
 
 
 
 
 
 
54
  }
51
  .content-ticker-pagination {
52
  display: none;
53
  }
54
+ }
55
+
56
+ .eael-ticker-wrap {
57
+ .swiper-button-next, .swiper-button-prev {
58
+ background-image: none;
59
+ outline: none;
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: center;
63
+ }
64
  }
assets/front-end/sass/general/index.scss CHANGED
@@ -24,72 +24,6 @@
24
  padding-top: 40px;
25
  }
26
 
27
- /*----------------------------*/
28
- /* 28. Swiper
29
- /*----------------------------*/
30
- .swiper-container-wrap .swiper-slide,
31
- .swiper-container .swiper-slide {
32
- text-align: center;
33
- }
34
-
35
- .swiper-container-wrap .swiper-slide img,
36
- .swiper-container .swiper-slide img {
37
- width: auto;
38
- }
39
-
40
- .swiper-container-wrap-dots-outside .swiper-pagination,
41
- .swiper-container-dots-outside .swiper-pagination {
42
- position: static;
43
- }
44
-
45
- .swiper-container-wrap .swiper-button-next,
46
- .swiper-container-wrap .swiper-button-prev,
47
- .swiper-container .swiper-button-next,
48
- .swiper-container .swiper-button-prev {
49
- background: transparent;
50
- font-size: 20px;
51
- height: auto;
52
- line-height: 1;
53
- margin: 0;
54
- text-align: center;
55
- transform: translateY(-50%);
56
- width: auto;
57
- }
58
-
59
- .swiper-container-wrap .swiper-button-next .fa,
60
- .swiper-container-wrap .swiper-button-prev .fa,
61
- .swiper-container .swiper-button-next .fa,
62
- .swiper-container .swiper-button-prev .fa {
63
- vertical-align: top;
64
- }
65
-
66
- .swiper-container-wrap .swiper-pagination {
67
- bottom: 10px;
68
- left: 0;
69
- width: 100%;
70
- }
71
-
72
- .swiper-container-wrap-dots-outside .swiper-pagination {
73
- position: static;
74
- }
75
-
76
- .swiper-container-wrap .swiper-pagination-bullet {
77
- background: #ccc;
78
- margin: 0 4px;
79
- opacity: 1;
80
- height: 8px;
81
- width: 8px;
82
- }
83
-
84
- .swiper-container-wrap .swiper-pagination-bullet-active {
85
- background: #000;
86
- }
87
-
88
- .swiper-container-3d .swiper-slide {
89
- transition-property: all;
90
- -webkit-transition-property: all;
91
- }
92
-
93
  /*--------------------------------*/
94
  /* 10. Contact forms common
95
  /*--------------------------------*/
24
  padding-top: 40px;
25
  }
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  /*--------------------------------*/
28
  /* 10. Contact forms common
29
  /*--------------------------------*/
assets/front-end/sass/twitter-feed/index.scss CHANGED
@@ -114,3 +114,10 @@
114
  }
115
  }
116
  }
 
 
 
 
 
 
 
114
  }
115
  }
116
  }
117
+
118
+ .eael-twitter-feed.swiper-container {
119
+ .swiper-button-next, .swiper-button-prev {
120
+ background-image: none;
121
+ outline: none;
122
+ }
123
+ }
essential_adons_elementor.php CHANGED
@@ -4,7 +4,7 @@
4
  * Description: The ultimate elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
- * Version: 3.5.0
8
  * Author URI: https://wpdeveloper.net/
9
  *
10
  * Text Domain: essential-addons-elementor
@@ -24,7 +24,7 @@ define('EAEL_PLUGIN_FILE', __FILE__);
24
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
25
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
26
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
27
- define('EAEL_PLUGIN_VERSION', '3.5.0');
28
  define('EAEL_ASSET_PATH', WP_CONTENT_DIR . '/uploads/essential-addons-elementor');
29
  define('EAEL_ASSET_URL', WP_CONTENT_URL . '/uploads/essential-addons-elementor');
30
 
4
  * Description: The ultimate elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
+ * Version: 3.5.1
8
  * Author URI: https://wpdeveloper.net/
9
  *
10
  * Text Domain: essential-addons-elementor
24
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
25
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
26
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
27
+ define('EAEL_PLUGIN_VERSION', '3.5.1');
28
  define('EAEL_ASSET_PATH', WP_CONTENT_DIR . '/uploads/essential-addons-elementor');
29
  define('EAEL_ASSET_URL', WP_CONTENT_URL . '/uploads/essential-addons-elementor');
30
 
includes/Elements/Creative_Button.php CHANGED
@@ -72,8 +72,7 @@ class Creative_Button extends Widget_Base {
72
  'title' => __( 'Enter button secondary text here', 'essential-addons-elementor' ),
73
  ]
74
  );
75
-
76
-
77
  $this->add_control(
78
  'creative_button_link_url',
79
  [
@@ -94,6 +93,9 @@ class Creative_Button extends Widget_Base {
94
  'label' => esc_html__( 'Icon', 'essential-addons-elementor' ),
95
  'type' => Controls_Manager::ICONS,
96
  'fa4compatibility' => 'eael_creative_button_icon',
 
 
 
97
  ]
98
  );
99
 
@@ -109,6 +111,7 @@ class Creative_Button extends Widget_Base {
109
  ],
110
  'condition' => [
111
  'eael_creative_button_icon_new!' => '',
 
112
  ],
113
  ]
114
  );
@@ -126,11 +129,12 @@ class Creative_Button extends Widget_Base {
126
  ],
127
  'condition' => [
128
  'eael_creative_button_icon_new!' => '',
 
129
  ],
130
  'selectors' => [
131
  '{{WRAPPER}} .eael-creative-button-icon-right' => 'margin-left: {{SIZE}}px;',
132
  '{{WRAPPER}} .eael-creative-button-icon-left' => 'margin-right: {{SIZE}}px;',
133
- '{{WRAPPER}} .eael-creative-button--shikoba i' => 'left: -{{SIZE}}px;',
134
  ],
135
  ]
136
  );
@@ -516,7 +520,8 @@ class Creative_Button extends Widget_Base {
516
  <div class="eael-creative-button-wrapper">
517
  <a <?php echo $this->get_render_attribute_string( 'eael_creative_button' ); ?>>
518
  <div class="creative-button-inner">
519
- <?php if ( $settings['eael_creative_button_icon_alignment'] == 'left' ) : ?>
 
520
  <?php if($icon_migrated || $icon_is_new) { ?>
521
  <?php if ( isset( $settings['eael_creative_button_icon_new']['value']['url']) ) : ?>
522
  <img src="<?php echo esc_attr($settings['eael_creative_button_icon_new']['value']['url'] ); ?>" class="eael-creative-button-icon-left" alt="<?php echo esc_attr(get_post_meta($settings['eael_creative_button_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>">
@@ -532,7 +537,7 @@ class Creative_Button extends Widget_Base {
532
 
533
  <span class="cretive-button-text"><?php echo $settings['creative_button_text'];?></span>
534
 
535
- <?php if ( $settings['eael_creative_button_icon_alignment'] == 'right' ) : ?>
536
  <?php if($icon_migrated || $icon_is_new) { ?>
537
  <?php if ( isset( $settings['eael_creative_button_icon_new']['value']['url']) ) : ?>
538
  <img src="<?php echo esc_attr($settings['eael_creative_button_icon_new']['value']['url'] ); ?>" class="eael-creative-button-icon-right" alt="<?php echo esc_attr(get_post_meta($settings['eael_creative_button_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>">
72
  'title' => __( 'Enter button secondary text here', 'essential-addons-elementor' ),
73
  ]
74
  );
75
+
 
76
  $this->add_control(
77
  'creative_button_link_url',
78
  [
93
  'label' => esc_html__( 'Icon', 'essential-addons-elementor' ),
94
  'type' => Controls_Manager::ICONS,
95
  'fa4compatibility' => 'eael_creative_button_icon',
96
+ 'condition' => [
97
+ 'creative_button_effect!' => ['eael-creative-button--tamaya']
98
+ ]
99
  ]
100
  );
101
 
111
  ],
112
  'condition' => [
113
  'eael_creative_button_icon_new!' => '',
114
+ 'creative_button_effect!' => ['eael-creative-button--tamaya']
115
  ],
116
  ]
117
  );
129
  ],
130
  'condition' => [
131
  'eael_creative_button_icon_new!' => '',
132
+ 'creative_button_effect!' => ['eael-creative-button--tamaya']
133
  ],
134
  'selectors' => [
135
  '{{WRAPPER}} .eael-creative-button-icon-right' => 'margin-left: {{SIZE}}px;',
136
  '{{WRAPPER}} .eael-creative-button-icon-left' => 'margin-right: {{SIZE}}px;',
137
+ '{{WRAPPER}} .eael-creative-button--shikoba i' => 'left: {{SIZE}}%;',
138
  ],
139
  ]
140
  );
520
  <div class="eael-creative-button-wrapper">
521
  <a <?php echo $this->get_render_attribute_string( 'eael_creative_button' ); ?>>
522
  <div class="creative-button-inner">
523
+
524
+ <?php if ( $settings['creative_button_effect'] !== 'eael-creative-button--tamaya' && $settings['eael_creative_button_icon_alignment'] == 'left' ) : ?>
525
  <?php if($icon_migrated || $icon_is_new) { ?>
526
  <?php if ( isset( $settings['eael_creative_button_icon_new']['value']['url']) ) : ?>
527
  <img src="<?php echo esc_attr($settings['eael_creative_button_icon_new']['value']['url'] ); ?>" class="eael-creative-button-icon-left" alt="<?php echo esc_attr(get_post_meta($settings['eael_creative_button_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>">
537
 
538
  <span class="cretive-button-text"><?php echo $settings['creative_button_text'];?></span>
539
 
540
+ <?php if ($settings['creative_button_effect'] !== 'eael-creative-button--tamaya' && $settings['eael_creative_button_icon_alignment'] == 'right' ) : ?>
541
  <?php if($icon_migrated || $icon_is_new) { ?>
542
  <?php if ( isset( $settings['eael_creative_button_icon_new']['value']['url']) ) : ?>
543
  <img src="<?php echo esc_attr($settings['eael_creative_button_icon_new']['value']['url'] ); ?>" class="eael-creative-button-icon-right" alt="<?php echo esc_attr(get_post_meta($settings['eael_creative_button_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>">
includes/Elements/Facebook_Feed.php CHANGED
@@ -51,6 +51,7 @@ class Facebook_Feed extends Widget_Base
51
  'type' => Controls_Manager::TEXT,
52
  'label_block' => true,
53
  'default' => esc_html__('', 'essential-addons-elementor'),
 
54
  ]
55
  );
56
 
@@ -61,7 +62,7 @@ class Facebook_Feed extends Widget_Base
61
  'type' => Controls_Manager::TEXT,
62
  'label_block' => true,
63
  'default' => esc_html__('', 'essential-addons-elementor'),
64
- 'description' => __('<a href="https://developers.facebook.com/" class="eael-btn" target="_blank">Get Access Token</a>', 'essential-addons-elementor'),
65
  ]
66
  );
67
 
@@ -252,16 +253,16 @@ class Facebook_Feed extends Widget_Base
252
  'label' => __('Show Load More', 'essential-addons-elementor'),
253
  'type' => Controls_Manager::CHOOSE,
254
  'options' => [
255
- '1' => [
256
  'title' => __('Yes', 'essential-addons-elementor'),
257
  'icon' => 'fa fa-check',
258
  ],
259
- '0' => [
260
  'title' => __('No', 'essential-addons-elementor'),
261
  'icon' => 'fa fa-ban',
262
  ],
263
  ],
264
- 'default' => '0',
265
  ]
266
  );
267
 
@@ -272,7 +273,7 @@ class Facebook_Feed extends Widget_Base
272
  'type' => Controls_Manager::TEXT,
273
  'default' => __('Load More', 'essential-addons-elementor'),
274
  'condition' => [
275
- 'show_load_more' => '1',
276
  ],
277
  ]
278
  );
@@ -805,7 +806,7 @@ class Facebook_Feed extends Widget_Base
805
  </div>
806
  <div class="clearfix"></div>';
807
 
808
- if (($settings['show_load_more'] == '1')) {
809
  echo '<div class="eael-load-more-button-wrap">
810
  <button class="eael-load-more-button" id="eael-load-more-btn-' . $this->get_id() . '" data-settings="' . http_build_query($settings_var) . '" data-page="1">
811
  <div class="eael-btn-loader button__loader"></div>
51
  'type' => Controls_Manager::TEXT,
52
  'label_block' => true,
53
  'default' => esc_html__('', 'essential-addons-elementor'),
54
+ 'description' => __('<a href="https://findmyfbid.com/" class="eael-btn" target="_blank">Find Your Page ID</a>', 'essential-addons-elementor'),
55
  ]
56
  );
57
 
62
  'type' => Controls_Manager::TEXT,
63
  'label_block' => true,
64
  'default' => esc_html__('', 'essential-addons-elementor'),
65
+ 'description' => __('<a href="https://essential-addons.com/elementor/docs/facebook-feed/" class="eael-btn" target="_blank">Get Access Token</a>', 'essential-addons-elementor'),
66
  ]
67
  );
68
 
253
  'label' => __('Show Load More', 'essential-addons-elementor'),
254
  'type' => Controls_Manager::CHOOSE,
255
  'options' => [
256
+ 'yes' => [
257
  'title' => __('Yes', 'essential-addons-elementor'),
258
  'icon' => 'fa fa-check',
259
  ],
260
+ 'no' => [
261
  'title' => __('No', 'essential-addons-elementor'),
262
  'icon' => 'fa fa-ban',
263
  ],
264
  ],
265
+ 'default' => 'no',
266
  ]
267
  );
268
 
273
  'type' => Controls_Manager::TEXT,
274
  'default' => __('Load More', 'essential-addons-elementor'),
275
  'condition' => [
276
+ 'show_load_more' => 'yes',
277
  ],
278
  ]
279
  );
806
  </div>
807
  <div class="clearfix"></div>';
808
 
809
+ if (($settings['show_load_more'] == 'yes')) {
810
  echo '<div class="eael-load-more-button-wrap">
811
  <button class="eael-load-more-button" id="eael-load-more-btn-' . $this->get_id() . '" data-settings="' . http_build_query($settings_var) . '" data-page="1">
812
  <div class="eael-btn-loader button__loader"></div>
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: elementor, elements, addons, elementor addon, elementor widget, page build
4
  Requires at least: 4.0
5
  Tested up to: 5.2
6
  Requires PHP: 5.4
7
- Stable tag: 3.5.0
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
@@ -174,6 +174,11 @@ Your existing elements/content will work with premium version. So you won't lose
174
 
175
  == Changelog ==
176
 
 
 
 
 
 
177
  = 3.5.0 - 30/10/2019 =
178
  - Added : Facebook Feed widget with new graph API
179
  - Improved : Asset loading protocol
4
  Requires at least: 4.0
5
  Tested up to: 5.2
6
  Requires PHP: 5.4
7
+ Stable tag: 3.5.1
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
174
 
175
  == Changelog ==
176
 
177
+ = 3.5.1 - 31/10/2019 =
178
+ - Conflict Fix: Elementor Pro Media Carousel
179
+ - Fixed : Few Creative Buttons effects
180
+ - Few minor bugfix and improvements
181
+
182
  = 3.5.0 - 30/10/2019 =
183
  - Added : Facebook Feed widget with new graph API
184
  - Improved : Asset loading protocol