Elementor Essential Addons - Version 2.8.0

Version Description

  • Progress Bar widget added
  • Video card support added to Filterable Gallery
  • Multiple hover effects added to Post Grid
  • Icon changing option added to Post Grid
  • Few minor bugfix and improvements
Download this release

Release Info

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

Code changes from version 2.7.11 to 2.8.0

admin/settings.php CHANGED
@@ -14,7 +14,7 @@ class Eael_Admin_Settings {
14
  * @var array
15
  * @since 2.3.0
16
  */
17
- public $eael_default_keys = [ 'contact-form-7', 'count-down', 'creative-btn', 'fancy-text', 'img-comparison', 'instagram-gallery', 'interactive-promo', 'lightbox', 'post-block', 'post-grid', 'post-timeline', 'product-grid', 'team-members', 'testimonial-slider', 'testimonials', 'testimonials', 'weforms', 'static-product', 'call-to-action', 'flip-box', 'info-box', 'dual-header', 'price-table', 'flip-carousel', 'interactive-cards', 'ninja-form', 'gravity-form', 'caldera-form', 'wpforms', 'wisdom_registered_setting', 'twitter-feed', 'facebook-feed', 'twitter-feed-carousel', 'facebook-feed-carousel', 'data-table', 'filter-gallery', 'dynamic-filter-gallery', 'image-accordion', 'content-ticker', 'tooltip', 'adv-accordion', 'adv-tabs' ];
18
 
19
  /**
20
  * Will Contain All Components Default Values
@@ -145,6 +145,7 @@ class Eael_Admin_Settings {
145
  $this->eael_default_settings = array_fill_keys( $this->eael_default_keys, true );
146
  $this->eael_get_settings = get_option( 'eael_save_settings', $this->eael_default_settings );
147
  $eael_new_settings = array_diff_key( $this->eael_default_settings, $this->eael_get_settings );
 
148
  if( ! empty( $eael_new_settings ) ) {
149
  $eael_updated_settings = array_merge( $this->eael_get_settings, $eael_new_settings );
150
  update_option( 'eael_save_settings', $eael_updated_settings );
@@ -389,6 +390,11 @@ class Eael_Admin_Settings {
389
  <label for="adv-tabs"></label>
390
  <p class="eael-el-title"><?php _e( 'Advanced Tabs', 'essential-addons-elementor' ) ?></p>
391
  </div>
 
 
 
 
 
392
  </div><!--./checkbox-container-->
393
  </div>
394
  <div class="col-full">
@@ -572,13 +578,6 @@ class Eael_Admin_Settings {
572
  <?php _e( 'Logo Carousel', 'essential-addons-elementor' ) ?>
573
  </p>
574
  </div>
575
- <div class="eael-checkbox">
576
- <input type="checkbox" id="progress-bar" name="progress-bar" disabled>
577
- <label for="progress-bar" class="<?php if( (bool) $this->is_pro === false ) : echo 'eael-get-pro'; endif; ?>"></label>
578
- <p class="eael-el-title">
579
- <?php _e( 'Progress Bar', 'essential-addons-elementor' ) ?>
580
- </p>
581
- </div>
582
  <div class="eael-checkbox">
583
  <input type="checkbox" id="protected-content" name="protected-content" disabled>
584
  <label for="protected-content" class="<?php if( (bool) $this->is_pro === false ) : echo 'eael-get-pro'; endif; ?>"></label>
@@ -626,37 +625,15 @@ class Eael_Admin_Settings {
626
  return;
627
  }
628
 
629
- $this->eael_settings = array(
630
- 'contact-form-7' => intval( $settings['contact-form-7'] ? 1 : 0 ),
631
- 'count-down' => intval( $settings['count-down'] ? 1 : 0 ),
632
- 'creative-btn' => intval( $settings['creative-btn'] ? 1 : 0 ),
633
- 'fancy-text' => intval( $settings['fancy-text'] ? 1 : 0 ),
634
- 'post-grid' => intval( $settings['post-grid'] ? 1 : 0 ),
635
- 'post-timeline' => intval( $settings['post-timeline'] ? 1 : 0 ),
636
- 'product-grid' => intval( $settings['product-grid'] ? 1 : 0 ),
637
- 'team-members' => intval( $settings['team-members'] ? 1 : 0 ),
638
- 'testimonials' => intval( $settings['testimonials'] ? 1 : 0 ),
639
- 'weforms' => intval( $settings['weforms'] ? 1 : 0 ),
640
- 'call-to-action' => intval( $settings['call-to-action'] ? 1 : 0 ),
641
- 'flip-box' => intval( $settings['flip-box'] ? 1 : 0 ),
642
- 'info-box' => intval( $settings['info-box'] ? 1 : 0 ),
643
- 'dual-header' => intval( $settings['dual-header'] ? 1 : 0 ),
644
- 'price-table' => intval( $settings['price-table'] ? 1 : 0 ),
645
- 'ninja-form' => intval( $settings['ninja-form'] ? 1 : 0 ),
646
- 'gravity-form' => intval( $settings['gravity-form'] ? 1 : 0 ),
647
- 'caldera-form' => intval( $settings['caldera-form'] ? 1 : 0 ),
648
- 'wpforms' => intval( $settings['wpforms'] ? 1 : 0 ),
649
- 'twitter-feed' => intval( $settings['twitter-feed'] ? 1 : 0 ),
650
- 'facebook-feed' => intval( $settings['facebook-feed'] ? 1 : 0 ),
651
- 'data-table' => intval( $settings['data-table'] ? 1 : 0 ),
652
- 'filter-gallery' => intval( $settings['filter-gallery'] ? 1 : 0 ),
653
- 'image-accordion' => intval( $settings['image-accordion'] ? 1 : 0 ),
654
- 'content-ticker' => intval( $settings['content-ticker'] ? 1 : 0 ),
655
- 'tooltip' => intval( $settings['tooltip'] ? 1 : 0 ),
656
- 'adv-accordion' => intval( $settings['adv-accordion'] ? 1 : 0 ),
657
- 'adv-tabs' => intval( $settings['adv-tabs'] ? 1 : 0 ),
658
- 'wisdom_registered_setting' => 1,
659
- );
660
  update_option( 'eael_save_settings', $this->eael_settings );
661
  return true;
662
  die();
14
  * @var array
15
  * @since 2.3.0
16
  */
17
+ public $eael_default_keys = [ 'contact-form-7', 'count-down', 'creative-btn', 'fancy-text', 'img-comparison', 'instagram-gallery', 'interactive-promo', 'lightbox', 'post-block', 'post-grid', 'post-timeline', 'product-grid', 'team-members', 'testimonial-slider', 'testimonials', 'testimonials', 'weforms', 'static-product', 'call-to-action', 'flip-box', 'info-box', 'dual-header', 'price-table', 'flip-carousel', 'interactive-cards', 'ninja-form', 'gravity-form', 'caldera-form', 'wpforms', 'wisdom_registered_setting', 'twitter-feed', 'facebook-feed', 'twitter-feed-carousel', 'facebook-feed-carousel', 'data-table', 'filter-gallery', 'dynamic-filter-gallery', 'image-accordion', 'content-ticker', 'tooltip', 'adv-accordion', 'adv-tabs', 'progress-bar' ];
18
 
19
  /**
20
  * Will Contain All Components Default Values
145
  $this->eael_default_settings = array_fill_keys( $this->eael_default_keys, true );
146
  $this->eael_get_settings = get_option( 'eael_save_settings', $this->eael_default_settings );
147
  $eael_new_settings = array_diff_key( $this->eael_default_settings, $this->eael_get_settings );
148
+
149
  if( ! empty( $eael_new_settings ) ) {
150
  $eael_updated_settings = array_merge( $this->eael_get_settings, $eael_new_settings );
151
  update_option( 'eael_save_settings', $eael_updated_settings );
390
  <label for="adv-tabs"></label>
391
  <p class="eael-el-title"><?php _e( 'Advanced Tabs', 'essential-addons-elementor' ) ?></p>
392
  </div>
393
+ <div class="eael-checkbox">
394
+ <input type="checkbox" id="progress-bar" name="progress-bar" <?php checked( 1, $this->eael_get_settings['progress-bar'], true ); ?> >
395
+ <label for="progress-bar"></label>
396
+ <p class="eael-el-title"><?php _e( 'Progress Bar', 'essential-addons-elementor' ) ?></p>
397
+ </div>
398
  </div><!--./checkbox-container-->
399
  </div>
400
  <div class="col-full">
578
  <?php _e( 'Logo Carousel', 'essential-addons-elementor' ) ?>
579
  </p>
580
  </div>
 
 
 
 
 
 
 
581
  <div class="eael-checkbox">
582
  <input type="checkbox" id="protected-content" name="protected-content" disabled>
583
  <label for="protected-content" class="<?php if( (bool) $this->is_pro === false ) : echo 'eael-get-pro'; endif; ?>"></label>
625
  return;
626
  }
627
 
628
+ $this->eael_settings = [];
629
+
630
+ foreach( $this->eael_default_keys as $key ){
631
+ if( isset( $settings[ $key ] ) ) {
632
+ $this->eael_settings[ $key ] = 1;
633
+ } else {
634
+ $this->eael_settings[ $key ] = 0;
635
+ }
636
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
637
  update_option( 'eael_save_settings', $this->eael_settings );
638
  return true;
639
  die();
assets/css/essential-addons-elementor.css CHANGED
@@ -1642,268 +1642,345 @@ body:not(.x-ethos):not(.x-integrity):not(.x-renew):not(.x-icon) .eael-product-ca
1642
  width: 100%;
1643
  }
1644
 
1645
- /* Post Grid Style */
 
 
 
 
 
 
 
 
1646
 
1647
  .eael-grid-post {
1648
- float: left;
1649
- padding: 10px;
1650
  }
 
 
 
 
 
 
1651
  .eael-grid-post-holder {
1652
- border: 1px solid rgba(0, 0, 0, .1);
1653
  }
 
1654
  .eael-grid-post-holder-inner {
1655
- height: 100%;
1656
  }
 
1657
  .eael-entry-media {
1658
- position: relative;
1659
  }
 
1660
  .eael-entry-overlay {
1661
- position: absolute;
1662
- top: 0;
1663
- left: 0;
1664
- width: 100%;
1665
- height: 100%;
1666
- z-index: 2;
1667
- opacity: 0;
1668
- -webkit-transition: opacity .2s ease-in-out, -webkit-transform .25s cubic-bezier(.19, 1, .22, 1);
1669
- -moz-transition: opacity .2s ease-in-out, -moz-transform .25s cubic-bezier(.19, 1, .22, 1);
1670
- transition: opacity .2s ease-in-out, transform .25s cubic-bezier(.19, 1, .22, 1);
1671
- }
1672
- .eael-entry-overlay:hover {
1673
- opacity: 1;
1674
  }
1675
- .eael-entry-overlay>a {
1676
- position: absolute;
1677
- top: 0;
1678
- left: 0;
1679
- width: 100%;
1680
- height: 100%;
1681
- z-index: 3;
 
1682
  }
 
1683
  .eael-entry-title {
1684
- margin: 10px 0 5px;
1685
- font-size: 1.2em;
1686
- }
1687
- .eael-entry-overlay i {
1688
- color: #fff;
1689
- width: 60px;
1690
- text-align: center;
1691
- line-height: 60px;
1692
- height: 60px;
1693
- position: absolute;
1694
- left: 50%;
1695
- margin-left: -30px;
1696
- font-size: 32px;
1697
- top: 50%;
1698
- margin-top: -30px;
1699
- -webkit-perspective: 1000;
1700
- -moz-perspective: 1000;
1701
- -ms-perspective: 1000;
1702
- perspective: 1000;
1703
- opacity: 0;
1704
- -webkit-transform: translatex(-20px);
1705
- -moz-transform: translatex(-20px);
1706
- -ms-transform: translatex(-20px);
1707
- transform: translatex(-20px);
1708
- -webkit-transition: opacity .2s ease-in-out, -webkit-transform .25s cubic-bezier(.19, 1, .22, 1);
1709
- -moz-transition: opacity .2s ease-in-out, -moz-transform .25s cubic-bezier(.19, 1, .22, 1);
1710
- transition: opacity .2s ease-in-out, transform .25s cubic-bezier(.19, 1, .22, 1);
1711
- }
1712
- .eael-entry-media:hover .eael-entry-overlay i {
1713
- -webkit-transform: translatex(0px);
1714
- -moz-transform: translatex(0px);
1715
- -ms-transform: translatex(0px);
1716
- transform: translatex(0px);
1717
- opacity: 1;
1718
  }
 
1719
  .eael-entry-thumbnail img {
1720
- width: 100%;
1721
- max-width: 100%;
1722
- vertical-align: middle;
1723
  }
1724
- .eael-entry-footer {
1725
- display: flex;
1726
- flex-flow: row nowrap;
1727
- align-items: center;
1728
  }
 
1729
  .eael-entry-footer .eael-author-avatar {
1730
- flex: 0 0 auto;
1731
- width: 50px;
1732
  }
 
1733
  .eael-entry-footer .eael-author-avatar .avatar {
1734
- border-radius: 50%;
1735
  }
1736
- .eael-post-grid .eael-entry-footer .eael-entry-meta {
1737
- padding-left: 8px;
 
 
1738
  }
1739
- .eael-entry-meta>div {
1740
- font-size: 12px;
1741
- line-height: 1.2;
1742
- padding-bottom: 5px;
 
 
 
 
 
 
 
 
 
 
1743
  }
 
1744
  .eael-grid-post-excerpt p {
1745
- margin: 0;
1746
- font-size: 14px;
1747
  }
1748
- .eael-entry-meta .eael-entry-footer .eael-posted-by {
1749
- display: block;
 
1750
  }
1751
- .eael-grid-post .eael-entry-wrapper,
1752
- .eael-grid-post .eael-entry-footer {
1753
- padding: 15px;
1754
  }
 
1755
  .eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on {
1756
- padding-left: 5px;
1757
  }
 
1758
  .eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on::before {
1759
- content: '\f111';
1760
- font-family: FontAwesome;
1761
- color: inherit;
1762
- opacity: .4;
1763
- font-size: .8em;
1764
- padding-right: 7px;
1765
  }
1766
- /* Post Grid Column */
1767
 
1768
- .eael-col-1 .eael-post-grid-column {
1769
- float: none;
1770
- width: 100%;
1771
  }
1772
- .eael-col-2 .eael-post-grid-column {
1773
- float: left;
1774
- width: 50%;
 
 
1775
  }
1776
- .eael-col-3 .eael-post-grid-column {
1777
- float: left;
1778
- width: 33.3333%;
 
 
 
1779
  }
1780
- .eael-col-4 .eael-post-grid-column {
1781
- float: left;
1782
- width: 25%;
1783
  }
1784
- .eael-col-5 .eael-post-grid-column {
1785
- float: left;
1786
- width: 20%;
1787
  }
1788
- .eael-col-6 .eael-post-grid-column {
1789
- float: left;
1790
- width: 16.6666%;
1791
  }
1792
- /* Responsive Styles for Post Grid */
1793
 
1794
- @media only screen and (max-width: 979px) {
1795
- .eael-col-1 .eael-post-grid-column,
1796
- .eael-col-2 .eael-post-grid-column,
1797
- .eael-col-3 .eael-post-grid-column,
1798
- .eael-col-4 .eael-post-grid-column,
1799
- .eael-col-5 .eael-post-grid-column,
1800
- .eael-col-6 .eael-post-grid-column {
1801
- width: 33.3333%;
1802
- }
1803
  }
1804
- @media only screen and (max-width: 767px) {
1805
- .eael-col-1 .eael-post-grid-column,
1806
- .eael-col-2 .eael-post-grid-column,
1807
- .eael-col-3 .eael-post-grid-column,
1808
- .eael-col-4 .eael-post-grid-column,
1809
- .eael-col-5 .eael-post-grid-column,
1810
- .eael-col-6 .eael-post-grid-column {
1811
- width: 50%;
1812
- }
 
 
1813
  }
1814
- @media only screen and (max-width: 480px) {
1815
- .eael-col-1 .eael-post-grid-column,
1816
- .eael-col-2 .eael-post-grid-column,
1817
- .eael-col-3 .eael-post-grid-column,
1818
- .eael-col-4 .eael-post-grid-column,
1819
- .eael-col-5 .eael-post-grid-column,
1820
- .eael-col-6 .eael-post-grid-column {
1821
- float: none;
1822
- width: 100%;
1823
- }
1824
  }
1825
- /* Load More Button */
1826
- .eael-load-more-button-wrap {
1827
- width: 100%;
1828
- display: block;
1829
- margin: 20px auto;
1830
- clear: both;
1831
  }
1832
- .eael-load-more-button {
1833
- position: relative;
1834
- text-transform: uppercase;
1835
- margin: 0 auto;
1836
- display: block;
1837
- border: 0;
1838
- padding: 15px 30px;
1839
- z-index: 2;
1840
- cursor: pointer;
1841
- font-weight: bold;
1842
- font-size: 14px;
1843
- letter-spacing: .25em;
1844
- transition: all .5s;
1845
- overflow: hidden;
1846
  }
1847
 
1848
- .eael-load-more-button:hover {
1849
- background: #27bdbd;
1850
  }
1851
 
1852
- .button--hide {
1853
- opacity: 0;
 
 
 
1854
  }
1855
 
1856
- .eael-load-more-button {
1857
- display: flex;
1858
- align-items: center;
1859
- justify-content: center;
1860
  }
1861
 
1862
- .eael-load-more-button .button__loader {
1863
- left: -100%;
1864
- top: auto;
1865
- margin-right: 5px;
1866
- transition: all .2s;
1867
  }
1868
 
1869
- .eael-load-more-button > span {
1870
- margin-left: -20px;
 
 
 
 
1871
  }
1872
 
1873
- .eael-load-more-button.button--loading > span {
1874
- margin-left: 0;
 
 
1875
  }
1876
 
1877
- .eael-load-more-button.button--loading .button__loader {
1878
- left: 0;
 
 
 
 
1879
  }
1880
 
1881
- .eael-btn-loader, .eael-btn-loader:after {
1882
- border-radius: 50%;
1883
- width: 20px;
1884
- height: 20px;
1885
  }
1886
- .eael-btn-loader {
1887
- font-size: 10px;
1888
- position: relative;
1889
- text-indent: -9999em;
1890
- border-top: 4px solid rgba(255, 255, 255, 0.2);
1891
- border-right: 4px solid rgba(255, 255, 255, 0.2);
1892
- border-bottom: 4px solid rgba(255, 255, 255, 0.2);
1893
- border-left: 4px solid #ffffff;
1894
- transform: translateZ(0);
1895
- animation: loaderSpin 1.1s infinite linear;
1896
  }
1897
 
1898
- @keyframes loaderSpin {
1899
- 0% {
1900
- transform: rotate(0deg);
1901
- }
1902
- 100% {
1903
- transform: rotate(360deg);
1904
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1905
  }
1906
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1907
  /**
1908
  * Infobox Style
1909
  */
@@ -2659,7 +2736,6 @@ body:not(.x-ethos):not(.x-integrity):not(.x-renew):not(.x-icon) .eael-product-ca
2659
  /**
2660
  * Pricing Table
2661
  */
2662
-
2663
  .eael-pricing {
2664
  -webkit-display: flex;
2665
  display: flex;
@@ -4162,368 +4238,725 @@ img.mfp-img {
4162
  padding-right: 6px; }
4163
  }
4164
 
 
 
 
 
 
 
 
4165
  .eael-filter-gallery-control {
4166
- width: 100%;
4167
  }
 
4168
  .eael-filter-gallery-control ul, .eael-filter-gallery-control ul li {
4169
- text-align: center;
4170
  }
 
4171
  .eael-filter-gallery-control ul {
4172
- margin: 0px 0px 20px 0px;
4173
- padding: 0px;
4174
- text-align: center;
4175
  }
 
4176
  .eael-filter-gallery-control {
4177
- display: flex;
4178
- flex-flow: 1 1 auto;
4179
- align-items: center;
4180
- justify-content: center;
4181
- flex-flow: row wrap;
4182
- padding: 0px;
4183
- margin: 0px;
4184
  }
 
4185
  .eael-filter-gallery-control ul li {
4186
- list-style: none;
4187
- font-size: 24px;
4188
- display: inline-block;
4189
- text-align: center;
4190
  }
 
4191
  .eael-filter-gallery-control ul li a.control {
4192
- font-family: 'Montserrat', sans-serif;
4193
- font-size: 16px;
4194
- font-weight: 600;
4195
- padding: 10px 25px;
4196
- margin: 10px 6px;
4197
  }
 
4198
  .eael-filter-gallery-container {
4199
- text-align: justify;
4200
- font-size: 0.1px;
4201
  }
 
4202
  .eael-filter-gallery-container:after {
4203
- content: '';
4204
- display: inline-block;
4205
- width: 100%;
4206
- }
4207
- .eael-filter-gallery-container .item {
4208
- display: inline-block;
4209
- vertical-align: top;
4210
- }
4211
- .eael-filter-gallery-container .item {
4212
- background-size: cover;
4213
- background-position: center;
4214
- background-repeat: no-repeat;
4215
- margin-bottom: 1rem;
4216
- position: relative;
4217
- overflow: hidden;
4218
  }
 
4219
  .eael-filter-gallery-container:not(.eael-cards) .item:before {
4220
- content: '';
4221
- display: inline-block;
4222
- padding-top: 56.25%;
4223
  }
 
4224
  .eael-filter-gallery-container .item .caption {
4225
- position: absolute;
4226
- display: flex;
4227
- flex-flow: 1 1 100%;
4228
- align-items: center;
4229
- justify-content: center;
4230
- z-index: 1;
4231
- top: 0px;
4232
- left: 0px;
4233
- right: 0px;
4234
- bottom: 0px;
4235
- transition: transform .4s;
4236
  }
 
4237
  .eael-filter-gallery-container.eael-cards .item .caption {
4238
- display: none;
4239
  }
 
4240
  .eael-filter-gallery-container.eael-cards .item .item-img .caption {
4241
- position: absolute;
4242
- display: flex;
4243
- flex-flow: 1 1 100%;
4244
- align-items: center;
4245
- justify-content: center;
4246
- z-index: 10;
4247
- top: 0px;
4248
- left: 0px;
4249
- right: 0px;
4250
- bottom: 0px;
4251
- transition: transform .4s;
4252
  }
4253
- /* Caption Animation */
 
4254
  .eael-filter-gallery-container .item .caption.eael-zoom-in,
4255
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in {
4256
- transform: scale(0);
4257
  }
 
4258
  .eael-filter-gallery-container .item:hover .caption.eael-zoom-in,
4259
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in {
4260
- transform: scale(1);
4261
  }
 
4262
  .eael-filter-gallery-container .item .caption.eael-slide-left,
4263
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left {
4264
- transform: translateX(-100%);
4265
  }
 
4266
  .eael-filter-gallery-container .item:hover .caption.eael-slide-left,
4267
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left {
4268
- transform: translateX(0%);
4269
  }
 
4270
  .eael-filter-gallery-container .item .caption.eael-slide-right,
4271
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right {
4272
- transform: translateX(100%);
4273
  }
 
4274
  .eael-filter-gallery-container .item:hover .caption.eael-slide-right,
4275
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right {
4276
- transform: translateX(0%);
4277
  }
 
4278
  .eael-filter-gallery-container .item .caption.eael-slide-top,
4279
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top {
4280
- transform: translateY(-100%);
4281
  }
 
4282
  .eael-filter-gallery-container .item:hover .caption.eael-slide-top,
4283
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top {
4284
- transform: translateY(0%);
4285
  }
 
4286
  .eael-filter-gallery-container .item .caption.eael-slide-bottom,
4287
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom {
4288
- transform: translateY(100%);
4289
  }
 
4290
  .eael-filter-gallery-container .item:hover .caption.eael-slide-bottom,
4291
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom {
4292
- transform: translateY(0%);
4293
  }
4294
- /*-----------------------------------------------------------*/
4295
  .eael-filter-gallery-container .item .caption a {
4296
- display: inline-block;
4297
- width: 50px;
4298
- height: 50px;
4299
- text-align: center;
4300
- line-height: 50px;
4301
- border-radius: 50%;
4302
- margin: 0 5px;
4303
- font-size: 20px;
4304
- cursor: pointer;
4305
- transition: .3s;
4306
  }
 
4307
  .eael-filter-gallery-container .item .caption a:nth-child(1),
4308
  .eael-container .item .caption a:nth-child(2) {
4309
- transition: .6s;
4310
- opacity: 0;
4311
  }
 
4312
  .eael-filter-gallery-container .item .caption a:nth-child(1) {
4313
- transform: translateY(-100%);
4314
  }
 
4315
  .eael-filter-gallery-container .item .caption a:nth-child(2) {
4316
- transform: translateY(100%);
4317
  }
 
4318
  .eael-filter-gallery-container .item .caption:hover a:nth-child(1),
4319
  .eael-filter-gallery-container .item .caption:hover a:nth-child(2) {
4320
- transform: translateY(0%);
4321
- opacity: 1;
4322
  }
 
4323
  .eael-filter-gallery-container .item .caption .eael-popup-link {
4324
- outline: 0;
4325
  }
4326
 
4327
- /* Filter Gallery Card Style */
4328
  .eael-filter-gallery-container.eael-cards .item:before {
4329
- padding-top: 0px;
4330
  }
 
4331
  .eael-filter-gallery-container.eael-cards .item-img {
4332
- position: relative;
4333
- background-repeat: no-repeat;
4334
- background-position: center;
4335
- background-size: cover;
4336
- height: 220px;
4337
- z-index: 0;
4338
- overflow: hidden;
4339
  }
 
4340
  .eael-filter-gallery-container.eael-cards .item-content {
4341
- padding: 15px;
4342
  }
 
4343
  .eael-filter-gallery-container.eael-cards .item-content .title,
4344
  .eael-filter-gallery-container.eael-cards .item-content .title a {
4345
- font-size: 18px;
4346
- line-height: 1;
4347
- margin-bottom: 0px;
4348
- transition: .3s;
4349
  }
 
4350
  .eael-filter-gallery-container.eael-cards .item-content p {
4351
- font-size: 14px;
4352
- line-height: 26px;
4353
  }
4354
 
4355
- /* Grid Breakpoints */
 
 
 
 
 
4356
 
4357
- /* Mobile */
4358
- @media screen and (max-width: 480px) {
4359
- .eael-filter-gallery-container .item {
4360
- width: 100%;
4361
- }
 
4362
 
 
 
 
4363
  }
4364
 
4365
- /* Landscape Mobile */
4366
- @media only screen and (min-width: 481px) and (max-width: 767px) {
4367
- .eael-filter-gallery-container .item {
4368
- width: calc(100%/2 - (((2 - 1) * 1rem) / 2));
4369
- }
4370
  }
4371
 
4372
- /* iPad */
4373
- @media only screen and (min-width: 768px) and (max-width:1024px) {
4374
- .eael-filter-gallery-container .item {
4375
- width: calc(100%/3 - (((3 - 1) * 1rem) / 3));
4376
- }
4377
  }
4378
- @media screen and (min-width: 1025px) {
4379
- .eael-col-1 .item {
4380
- width: 100%;
4381
- }
4382
- .eael-col-2 .item {
4383
- width: calc(( 100% / 2 ) - 10px );
4384
- }
4385
- .eael-col-3 .item {
4386
- width: calc(( 100% / 3 ) - 10px );
4387
- }
4388
- .eael-col-4 .item {
4389
- width: calc(( 100% / 4 ) - 10px );
4390
- }
4391
- .eael-col-5 .item {
4392
- width: calc(( 100% / 5 ) - 10px );
4393
- }
4394
- .eael-tiles .item {
4395
- margin-bottom: 0px;
4396
- }
4397
- .eael-tiles.eael-col-1 .item {
4398
- width: 100%;
4399
- }
4400
- .eael-tiles.eael-col-2 .item {
4401
- width: 50%;
4402
  float: left;
4403
- }
4404
- .eael-tiles.eael-col-3 .item {
4405
  width: 33.33%;
4406
- float: left;
4407
- }
4408
- .eael-tiles.eael-col-4 .item {
4409
- width: 25%;
4410
- float: left;
4411
- }
4412
- .eael-tiles.eael-col-5 .item {
4413
- width: 20%;
4414
- float: left;
4415
- }
4416
  }
4417
 
4418
- /* Editor Specific Style */
4419
- .eael-fg-content-align-left .eael-cards .item .item-content {
4420
- text-align: left;
4421
  }
4422
- .eael-fg-content-align-center .eael-cards .item .item-content {
4423
- text-align: center;
 
 
 
 
 
 
 
 
4424
  }
4425
- .eael-fg-content-align-right .eael-cards .item .item-content {
4426
- text-align: right;
 
4427
  }
4428
 
4429
- /* Magnific Gallery Fix */
4430
- .mfp-wrap ~ div.dialog-widget {
4431
- display: none!important;
4432
  }
4433
- /* Image accordion */
4434
- .eael-img-accordion {
4435
- display: flex;
4436
- height: 50vh;
4437
  }
4438
 
4439
- .eael-img-accordion a {
4440
- position: relative;
4441
- flex: 1;
4442
- text-align: center;
4443
- text-decoration: none;
4444
- color: #fff;
4445
- background-size: cover;
4446
- background-position: center;
4447
- background-repeat: no-repeat;
4448
- transition: flex .4s;
4449
  }
4450
- .eael-img-accordion a:focus{
4451
- outline: none;
 
 
 
4452
  }
4453
- .eael-grow-accordion {
4454
- flex: 3;
 
 
4455
  }
4456
- .eael-img-accordion .overlay {
4457
- display: flex;
4458
- align-items: center;
4459
- justify-content: center;
4460
- padding: 0 10px;
4461
- position: absolute;
4462
- top: 0;
4463
- right: 0;
4464
- bottom: 0;
4465
- left: 0;
4466
- transition: background-color .4s;
4467
  }
4468
- .eael-img-accordion .overlay .overlay-inner {
4469
- z-index: 1;
 
 
 
4470
  }
4471
- .eael-img-accordion a:after {
4472
- content: "";
4473
- position: absolute;
4474
- width: 100%;
4475
- height: 100%;
4476
- z-index: 0;
4477
- top: 0px;
4478
- left: 0px;
4479
- bottom: 0px;
4480
- right: 0px;
4481
- transition: all 0.3s ease-in-out;
4482
  }
4483
 
4484
- .eael-img-accordion .overlay-inner * {
4485
- visibility: hidden;
4486
- opacity: 0;
4487
- transform-style: preserve-3d;
 
4488
  }
4489
 
4490
- .eael-img-accordion .overlay h2 {
4491
- color: #fff;
4492
- transform: translate3d(0, -60px, 0);
4493
  }
4494
 
4495
- .eael-img-accordion .overlay p {
4496
- color: #fff;
4497
- transform: translate3d(0, 60px, 0);
4498
  }
4499
- .eael-img-accordion .overlay-inner-show * {
4500
- opacity: 1;
4501
- visibility: visible;
4502
- transform: none !important;
4503
- transition: all .3s .3s;
4504
  }
4505
 
4506
- @media screen and (max-width: 800px) {
4507
- .eael-img-accordion {
4508
- flex-direction: column;
4509
- }
 
 
4510
 
4511
- .eael-img-accordion a:hover {
4512
- flex: 1;
4513
- }
4514
 
4515
- .eael-img-accordion a:hover .overlay {
4516
- background-color: transparent;
4517
- }
 
 
4518
 
4519
- .eael-img-accordion .overlay h2,
4520
- .eael-img-accordion .overlay p {
4521
- opacity: 1;
4522
- visibility: visible;
4523
- transform: none;
4524
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4525
  }
4526
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4527
  /**
4528
  * swiper
4529
  */
@@ -4995,4 +5428,37 @@ img.mfp-img {
4995
  opacity: 1;
4996
  top: 100%;
4997
  }
4998
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1642
  width: 100%;
1643
  }
1644
 
1645
+
1646
+
1647
+
1648
+ /*-----------------------------*/
1649
+ /* 20. Post Grid Style
1650
+ /*-----------------------------*/
1651
+ .eael-post-grid {
1652
+ margin: 0 -10px;
1653
+ }
1654
 
1655
  .eael-grid-post {
1656
+ float: left;
1657
+ padding: 10px;
1658
  }
1659
+
1660
+ .eael-post-carousel .eael-grid-post {
1661
+ float: none;
1662
+ padding: 0;
1663
+ }
1664
+
1665
  .eael-grid-post-holder {
1666
+ border: 1px solid rgba(0,0,0,.1);
1667
  }
1668
+
1669
  .eael-grid-post-holder-inner {
1670
+ height: 100%;
1671
  }
1672
+
1673
  .eael-entry-media {
1674
+ position: relative;
1675
  }
1676
+
1677
  .eael-entry-overlay {
1678
+ position: absolute;
1679
+ top: 0;
1680
+ left: 0;
1681
+ width: 100%;
1682
+ height: 100%;
1683
+ z-index: 2;
1684
+ -webkit-transition: opacity .2s ease-in-out,-webkit-transform .25s cubic-bezier(.19,1,.22,1);
1685
+ -moz-transition: opacity .2s ease-in-out,-moz-transform .25s cubic-bezier(.19,1,.22,1);
1686
+ transition: opacity .2s ease-in-out,transform .25s cubic-bezier(.19,1,.22,1);
 
 
 
 
1687
  }
1688
+
1689
+ .eael-entry-overlay > a {
1690
+ position: absolute;
1691
+ top: 0;
1692
+ left: 0;
1693
+ width: 100%;
1694
+ height: 100%;
1695
+ z-index: 3;
1696
  }
1697
+
1698
  .eael-entry-title {
1699
+ margin: 10px 0 5px;
1700
+ font-size: 1.2em;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1701
  }
1702
+
1703
  .eael-entry-thumbnail img {
1704
+ width: 100%;
1705
+ max-width: 100%;
1706
+ vertical-align: middle;
1707
  }
1708
+
1709
+ .eael-entry-thumbnail > img {
1710
+ height: 100%;
 
1711
  }
1712
+
1713
  .eael-entry-footer .eael-author-avatar {
1714
+ width: 50px;
 
1715
  }
1716
+
1717
  .eael-entry-footer .eael-author-avatar .avatar {
1718
+ border-radius: 50%;
1719
  }
1720
+
1721
+ .eael-post-grid .eael-entry-footer .eael-entry-meta {
1722
+ padding-left: 8px;
1723
+ text-align: left;
1724
  }
1725
+
1726
+ .eael-grid-post .eael-entry-meta {
1727
+ display: flex;
1728
+ flex-direction: row;
1729
+ }
1730
+
1731
+ .eael-grid-post .eael-entry-footer .eael-entry-meta{
1732
+ flex-direction: column;
1733
+ }
1734
+
1735
+ .eael-entry-meta > div {
1736
+ font-size: 12px;
1737
+ line-height: 1.2;
1738
+ padding-bottom: 5px;
1739
  }
1740
+
1741
  .eael-grid-post-excerpt p {
1742
+ margin: 0;
1743
+ font-size: 14px;
1744
  }
1745
+
1746
+ .eael-entry-meta .eael-entry-footer .eael-posted-by {
1747
+ display: block;
1748
  }
1749
+
1750
+ .eael-grid-post .eael-entry-wrapper, .eael-grid-post .eael-entry-footer {
1751
+ padding: 15px;
1752
  }
1753
+
1754
  .eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on {
1755
+ padding-left: 5px;
1756
  }
1757
+
1758
  .eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on::before {
1759
+ content: '\f111';
1760
+ font-family: FontAwesome;
1761
+ color: inherit;
1762
+ opacity: .4;
1763
+ font-size: .8em;
1764
+ padding-right: 7px;
1765
  }
 
1766
 
1767
+ .eael-load-more-button-wrap {
1768
+ display: flex;
 
1769
  }
1770
+
1771
+ .eael-load-more-button {
1772
+ display: flex;
1773
+ align-items: center;
1774
+ justify-content: center;
1775
  }
1776
+
1777
+ .eael-load-more-button .button__loader {
1778
+ left: -100%;
1779
+ top: auto;
1780
+ margin-right: 5px;
1781
+ transition: all .2s;
1782
  }
1783
+
1784
+ .eael-load-more-button > span {
1785
+ margin-left: -20px;
1786
  }
1787
+
1788
+ .eael-load-more-button.button--loading > span {
1789
+ margin-left: 0;
1790
  }
1791
+
1792
+ .eael-load-more-button.button--loading .button__loader {
1793
+ left: 0;
1794
  }
 
1795
 
1796
+ .eael-btn-loader, .eael-btn-loader:after {
1797
+ border-radius: 50%;
1798
+ width: 20px;
1799
+ height: 20px;
 
 
 
 
 
1800
  }
1801
+
1802
+ .eael-btn-loader {
1803
+ font-size: 10px;
1804
+ position: relative;
1805
+ text-indent: -9999em;
1806
+ border-top: 4px solid rgba(255, 255, 255, 0.2);
1807
+ border-right: 4px solid rgba(255, 255, 255, 0.2);
1808
+ border-bottom: 4px solid rgba(255, 255, 255, 0.2);
1809
+ border-left: 4px solid #ffffff;
1810
+ transform: translateZ(0);
1811
+ animation: loaderSpin 1.1s infinite linear;
1812
  }
1813
+
1814
+ @keyframes loaderSpin {
1815
+ 0% {
1816
+ transform: rotate(0deg);
1817
+ }
1818
+ 100% {
1819
+ transform: rotate(360deg);
1820
+ }
 
 
1821
  }
1822
+
1823
+ /*-------------- Post Grid Thumbnail Hover Effects ------------ */
1824
+ .eael-entry-medianone {
1825
+ position: relative;
 
 
1826
  }
1827
+
1828
+ .eael-entry-overlay {
1829
+ display: flex;
1830
+ align-items: center;
1831
+ justify-content: center;
 
 
 
 
 
 
 
 
 
1832
  }
1833
 
1834
+ .eael-entry-overlay > i {
1835
+ color: #fff;
1836
  }
1837
 
1838
+ /* fade in */
1839
+ .eael-entry-overlay.fade-in {
1840
+ visibility: hidden;
1841
+ opacity: 0;
1842
+ transition: 300ms;
1843
  }
1844
 
1845
+ .eael-entry-medianone:hover .eael-entry-overlay.fade-in {
1846
+ visibility: visible;
1847
+ opacity: 1;
 
1848
  }
1849
 
1850
+ .eael-entry-medianone:hover .eael-entry-overlay.fade-in > i {
1851
+ transform: translate(0);
1852
+ opacity: 1;
 
 
1853
  }
1854
 
1855
+ /* zoom in */
1856
+ .eael-entry-overlay.zoom-in {
1857
+ transform: scale(.9);
1858
+ visibility: hidden;
1859
+ opacity: 0;
1860
+ transition: 300ms;
1861
  }
1862
 
1863
+ .eael-entry-medianone:hover .eael-entry-overlay.zoom-in {
1864
+ visibility: visible;
1865
+ opacity: 1;
1866
+ transform: scale(1);
1867
  }
1868
 
1869
+ /* slide up */
1870
+ .eael-entry-overlay.slide-up {
1871
+ transform: translateY(100%);
1872
+ visibility: hidden;
1873
+ opacity: 0;
1874
+ transition: 300ms;
1875
  }
1876
 
1877
+ .eael-entry-medianone:hover .eael-entry-overlay.slide-up {
1878
+ transform: translateY(0);
1879
+ visibility: visible;
1880
+ opacity: 1;
1881
  }
1882
+
1883
+ .eael-entry-medianone {
1884
+ overflow: hidden;
 
 
 
 
 
 
 
1885
  }
1886
 
1887
+
1888
+ /*---------------- Post Grid & Carousel Hover Styles ----------------*/
1889
+ .eael-entry-media.grid-hover-style-fade-in .eael-entry-overlay { opacity: 0; }
1890
+ .eael-entry-media.grid-hover-style-fade-in:hover .eael-entry-overlay { opacity: 1; }
1891
+
1892
+ .eael-entry-media.grid-hover-style-none .eael-entry-overlay {display: none;}
1893
+
1894
+ .eael-entry-media.grid-hover-style-zoom-in .eael-entry-overlay { transform: scale(.4); opacity: 0; }
1895
+ .eael-entry-media.grid-hover-style-zoom-in:hover .eael-entry-overlay { transform: scale(1); opacity: 1; }
1896
+
1897
+ .eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay { transform: translateY(-100%); }
1898
+ .eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay > i { transform: translateY(-100px); transition-delay: 100ms; transition-duration: 300ms;}
1899
+ .eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay { transform: translate(0); }
1900
+ .eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay > i { transform: translateY(0); }
1901
+
1902
+ .eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay { transform: translateY(100%); visibility: hidden; opacity: 0; }
1903
+ .eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay > i { transform: translateY(100px); transition-delay: 100ms; transition-duration: 300ms;}
1904
+ .eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay { transform: translate(0); visibility: visible;
1905
+ opacity: 1; }
1906
+ .eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay > i { transform: translateY(0); }
1907
+
1908
+
1909
+ /*-----------------------------*/
1910
+ /* 21. Post Grid Column
1911
+ /*-----------------------------*/
1912
+ .eael-col-1 .eael-post-grid-column {
1913
+ float: none;
1914
+ width: 100%;
1915
+ }
1916
+
1917
+ .eael-col-2 .eael-post-grid-column{
1918
+ float: left;
1919
+ width: 50%;
1920
  }
1921
 
1922
+ .eael-col-3 .eael-post-grid-column {
1923
+ float: left;
1924
+ width: 33.3333%;
1925
+ }
1926
+
1927
+ .eael-col-4 .eael-post-grid-column {
1928
+ float: left;
1929
+ width: 25%;
1930
+ }
1931
+
1932
+ .eael-col-5 .eael-post-grid-column {
1933
+ float: left;
1934
+ width: 20%;
1935
+ }
1936
+
1937
+ .eael-col-6 .eael-post-grid-column {
1938
+ float: left;
1939
+ width: 16.6666%;
1940
+ }
1941
+
1942
+
1943
+ /*--- Post Grid Column Styles ---*/
1944
+ @media only screen and (max-width: 979px) {
1945
+ .eael-col-1 .eael-post-grid-column, .eael-col-2 .eael-post-grid-column,
1946
+ .eael-col-3 .eael-post-grid-column, .eael-col-4 .eael-post-grid-column,
1947
+ .eael-col-5 .eael-post-grid-column, .eael-col-6 .eael-post-grid-column {
1948
+ width: 33.3333%;
1949
+ }
1950
+ }
1951
+
1952
+ @media only screen and (max-width: 767px) {
1953
+ .eael-col-1 .eael-post-grid-column, .eael-col-2 .eael-post-grid-column,
1954
+ .eael-col-3 .eael-post-grid-column, .eael-col-4 .eael-post-grid-column,
1955
+ .eael-col-5 .eael-post-grid-column, .eael-col-6 .eael-post-grid-column {
1956
+ width: 50%;
1957
+ }
1958
+ }
1959
+
1960
+ @media only screen and (max-width: 480px) {
1961
+ .eael-col-1 .eael-post-grid-column, .eael-col-2 .eael-post-grid-column,
1962
+ .eael-col-3 .eael-post-grid-column, .eael-col-4 .eael-post-grid-column,
1963
+ .eael-col-5 .eael-post-grid-column, .eael-col-6 .eael-post-grid-column {
1964
+ float: none;
1965
+ width: 100%;
1966
+ }
1967
+ }
1968
+
1969
+ .eael-author-avatar > a {
1970
+ display: block;
1971
+ }
1972
+
1973
+ .eael-entry-footer {
1974
+ overflow: hidden;
1975
+ display: flex;
1976
+ }
1977
+
1978
+ .eael-entry-footer > div {
1979
+ display: inline-block;
1980
+ float: left;
1981
+ }
1982
+
1983
+
1984
  /**
1985
  * Infobox Style
1986
  */
2736
  /**
2737
  * Pricing Table
2738
  */
 
2739
  .eael-pricing {
2740
  -webkit-display: flex;
2741
  display: flex;
4238
  padding-right: 6px; }
4239
  }
4240
 
4241
+ /*------------------------------*/
4242
+ /* Filterable Gallery
4243
+ /*------------------------------*/
4244
+
4245
+ /*------------------------------*/
4246
+ /* 37. Filterable Gallery
4247
+ /*------------------------------*/
4248
  .eael-filter-gallery-control {
4249
+ width: 100%;
4250
  }
4251
+
4252
  .eael-filter-gallery-control ul, .eael-filter-gallery-control ul li {
4253
+ text-align: center;
4254
  }
4255
+
4256
  .eael-filter-gallery-control ul {
4257
+ margin: 0px 0px 20px 0px;
4258
+ padding: 0px;
4259
+ text-align: center;
4260
  }
4261
+
4262
  .eael-filter-gallery-control {
4263
+ display: flex;
4264
+ flex-flow: 1 1 auto;
4265
+ align-items: center;
4266
+ justify-content: center;
4267
+ flex-flow: row wrap;
4268
+ padding: 0px;
4269
+ margin: 0px;
4270
  }
4271
+
4272
  .eael-filter-gallery-control ul li {
4273
+ list-style: none;
4274
+ font-size: 24px;
4275
+ display: inline-block;
4276
+ text-align: center;
4277
  }
4278
+
4279
  .eael-filter-gallery-control ul li a.control {
4280
+ font-family: 'Montserrat', sans-serif;
4281
+ font-size: 16px;
4282
+ font-weight: 600;
4283
+ padding: 10px 25px;
4284
+ margin: 10px 6px;
4285
  }
4286
+
4287
  .eael-filter-gallery-container {
4288
+ text-align: justify;
4289
+ font-size: 0.1px;
4290
  }
4291
+
4292
  .eael-filter-gallery-container:after {
4293
+ content: '';
4294
+ display: inline-block;
4295
+ width: 100%;
 
 
 
 
 
 
 
 
 
 
 
 
4296
  }
4297
+
4298
  .eael-filter-gallery-container:not(.eael-cards) .item:before {
4299
+ content: '';
4300
+ display: inline-block;
4301
+ padding-top: 56.25%;
4302
  }
4303
+
4304
  .eael-filter-gallery-container .item .caption {
4305
+ position: absolute;
4306
+ display: flex;
4307
+ flex-flow: 1 1 100%;
4308
+ align-items: center;
4309
+ justify-content: center;
4310
+ z-index: 1;
4311
+ top: 0px;
4312
+ left: 0px;
4313
+ right: 0px;
4314
+ bottom: 0px;
4315
+ transition: transform .4s;
4316
  }
4317
+
4318
  .eael-filter-gallery-container.eael-cards .item .caption {
4319
+ display: none;
4320
  }
4321
+
4322
  .eael-filter-gallery-container.eael-cards .item .item-img .caption {
4323
+ position: absolute;
4324
+ display: flex;
4325
+ flex-flow: 1 1 100%;
4326
+ align-items: center;
4327
+ justify-content: center;
4328
+ z-index: 10;
4329
+ top: 0px;
4330
+ left: 0px;
4331
+ right: 0px;
4332
+ bottom: 0px;
4333
+ transition: transform .4s;
4334
  }
4335
+
4336
+ /*--- Caption Animation ---*/
4337
  .eael-filter-gallery-container .item .caption.eael-zoom-in,
4338
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in {
4339
+ transform: scale(0);
4340
  }
4341
+
4342
  .eael-filter-gallery-container .item:hover .caption.eael-zoom-in,
4343
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in {
4344
+ transform: scale(1);
4345
  }
4346
+
4347
  .eael-filter-gallery-container .item .caption.eael-slide-left,
4348
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left {
4349
+ transform: translateX(-100%);
4350
  }
4351
+
4352
  .eael-filter-gallery-container .item:hover .caption.eael-slide-left,
4353
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left {
4354
+ transform: translateX(0%);
4355
  }
4356
+
4357
  .eael-filter-gallery-container .item .caption.eael-slide-right,
4358
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right {
4359
+ transform: translateX(100%);
4360
  }
4361
+
4362
  .eael-filter-gallery-container .item:hover .caption.eael-slide-right,
4363
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right {
4364
+ transform: translateX(0%);
4365
  }
4366
+
4367
  .eael-filter-gallery-container .item .caption.eael-slide-top,
4368
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top {
4369
+ transform: translateY(-100%);
4370
  }
4371
+
4372
  .eael-filter-gallery-container .item:hover .caption.eael-slide-top,
4373
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top {
4374
+ transform: translateY(0%);
4375
  }
4376
+
4377
  .eael-filter-gallery-container .item .caption.eael-slide-bottom,
4378
  .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom {
4379
+ transform: translateY(100%);
4380
  }
4381
+
4382
  .eael-filter-gallery-container .item:hover .caption.eael-slide-bottom,
4383
  .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom {
4384
+ transform: translateY(0%);
4385
  }
4386
+
4387
  .eael-filter-gallery-container .item .caption a {
4388
+ display: inline-block;
4389
+ width: 50px;
4390
+ height: 50px;
4391
+ text-align: center;
4392
+ line-height: 50px;
4393
+ border-radius: 50%;
4394
+ margin: 0 5px;
4395
+ font-size: 20px;
4396
+ cursor: pointer;
4397
+ transition: .3s;
4398
  }
4399
+
4400
  .eael-filter-gallery-container .item .caption a:nth-child(1),
4401
  .eael-container .item .caption a:nth-child(2) {
4402
+ transition: .6s;
4403
+ opacity: 0;
4404
  }
4405
+
4406
  .eael-filter-gallery-container .item .caption a:nth-child(1) {
4407
+ transform: translateY(-100%);
4408
  }
4409
+
4410
  .eael-filter-gallery-container .item .caption a:nth-child(2) {
4411
+ transform: translateY(100%);
4412
  }
4413
+
4414
  .eael-filter-gallery-container .item .caption:hover a:nth-child(1),
4415
  .eael-filter-gallery-container .item .caption:hover a:nth-child(2) {
4416
+ transform: translateY(0%);
4417
+ opacity: 1;
4418
  }
4419
+
4420
  .eael-filter-gallery-container .item .caption .eael-popup-link {
4421
+ outline: 0;
4422
  }
4423
 
4424
+ /*--- Filter Gallery Card Style ---*/
4425
  .eael-filter-gallery-container.eael-cards .item:before {
4426
+ padding-top: 0px;
4427
  }
4428
+
4429
  .eael-filter-gallery-container.eael-cards .item-img {
4430
+ position: relative;
4431
+ background-repeat: no-repeat;
4432
+ background-position: center;
4433
+ background-size: cover;
4434
+ height: 220px;
4435
+ z-index: 0;
4436
+ overflow: hidden;
4437
  }
4438
+
4439
  .eael-filter-gallery-container.eael-cards .item-content {
4440
+ padding: 15px;
4441
  }
4442
+
4443
  .eael-filter-gallery-container.eael-cards .item-content .title,
4444
  .eael-filter-gallery-container.eael-cards .item-content .title a {
4445
+ font-size: 20px;
4446
+ line-height: 1;
4447
+ margin-bottom: 0px;
4448
+ transition: .3s;
4449
  }
4450
+
4451
  .eael-filter-gallery-container.eael-cards .item-content p {
4452
+ font-size: 14px;
4453
+ line-height: 26px;
4454
  }
4455
 
4456
+ .eael-fg-card-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over {
4457
+ text-align: center;
4458
+ }
4459
+ .eael-fg-card-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{
4460
+ text-align: right;
4461
+ }
4462
 
4463
+ .eael-fg-hoverer-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{
4464
+ text-align: center;
4465
+ }
4466
+ .eael-fg-hoverer-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{
4467
+ text-align: right;
4468
+ }
4469
 
4470
+ /*--- Editor Specific Style ---*/
4471
+ .eael-fg-content-align-left .eael-cards .item .item-content {
4472
+ text-align: left;
4473
  }
4474
 
4475
+ .eael-fg-content-align-center .eael-cards .item .item-content {
4476
+ text-align: center;
 
 
 
4477
  }
4478
 
4479
+ .eael-fg-content-align-right .eael-cards .item .item-content {
4480
+ text-align: right;
 
 
 
4481
  }
4482
+
4483
+ /*--- Magnific Gallery Fix ---*/
4484
+ .mfp-wrap ~ div.dialog-widget {
4485
+ display: none!important;
4486
+ }
4487
+
4488
+ /* -------------- New Gallery CSS -------------- */
4489
+ .eael-filterable-gallery-item-wrap {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4490
  float: left;
 
 
4491
  width: 33.33%;
 
 
 
 
 
 
 
 
 
 
4492
  }
4493
 
4494
+ .eael-filter-gallery-container.eael-col-1 .eael-filterable-gallery-item-wrap {
4495
+ width: 100%;
 
4496
  }
4497
+
4498
+ .eael-filter-gallery-control > ul li {
4499
+ font-size: 13px;
4500
+ line-height: 1.8;
4501
+ text-transform: uppercase;
4502
+ letter-spacing: 1px;
4503
+ padding: 6px 15px;
4504
+ cursor: pointer;
4505
+ margin: 0 5px;
4506
+ font-weight: normal;
4507
  }
4508
+
4509
+ .eael-filter-gallery-container.eael-col-2 .eael-filterable-gallery-item-wrap {
4510
+ width: 50%;
4511
  }
4512
 
4513
+ .eael-filter-gallery-container.eael-col-4 .eael-filterable-gallery-item-wrap {
4514
+ width: 25%;
 
4515
  }
4516
+
4517
+ .eael-filter-gallery-container.eael-col-5 .eael-filterable-gallery-item-wrap {
4518
+ width: 20%;
 
4519
  }
4520
 
4521
+ .gallery-grid-item {
4522
+ margin-left: calc(20px/2);
4523
+ margin-right: calc(20px/2);
4524
+ margin-bottom: 20px;
4525
+ position: relative;
4526
+ overflow: hidden;
 
 
 
 
4527
  }
4528
+
4529
+ .gallery-item-caption-wrap,
4530
+ .media-content-wrap {
4531
+ font-size: 14px;
4532
+ text-align: left;
4533
  }
4534
+
4535
+ .gallery-item-thumbnail-wrap.caption-style-card img {
4536
+ max-height: 100%;
4537
+ width: 100%;
4538
  }
4539
+
4540
+ .gallery-item-caption-wrap.caption-style-hoverer {
4541
+ position: absolute;
4542
+ left: 0;
4543
+ top: 0;
4544
+ height: 100%;
4545
+ width: 100%;
4546
+ padding: 15px;
4547
+ z-index: 10;
 
 
4548
  }
4549
+
4550
+ .eael-filterable-gallery-item-wrap .gallery-grid-item .gallery-item-thumbnail-wrap > img {
4551
+ height: 100%;
4552
+ width: 100%;
4553
+ object-fit: cover;
4554
  }
4555
+
4556
+ /* Gallery content css */
4557
+ .fg-item-title, .fg-item-content{
4558
+ color: #ffffff;
4559
+ font-family: inherit;
 
 
 
 
 
 
4560
  }
4561
 
4562
+ /* --------------------- Gallery Card Style CSS ------------------------------ */
4563
+ .gallery-item-caption-wrap.caption-style-card .fg-item-title {
4564
+ font-size: 18px;
4565
+ margin: 15px 0 15px;
4566
+ line-height: 1;
4567
  }
4568
 
4569
+ .gallery-item-caption-wrap.caption-style-card {
4570
+ background: #f7f7f7;
 
4571
  }
4572
 
4573
+ .gallery-item-caption-wrap.caption-style-card .fg-item-title {
4574
+ margin: 10px 0 15px;
4575
+ color: #000000;
4576
  }
4577
+
4578
+ .gallery-item-caption-wrap.caption-style-card .fg-item-content {
4579
+ color: #212529;
4580
+ line-height: 1.5;
4581
+ font-weight: normal;
4582
  }
4583
 
4584
+ .gallery-item-buttons > a {
4585
+ display: inline-block;
4586
+ font-size: 16px;
4587
+ color: #000;
4588
+ margin-right: 15px;
4589
+ }
4590
 
4591
+ .gallery-item-buttons > a:visited {
4592
+ color: #000;
4593
+ }
4594
 
4595
+ .gallery-item-caption-wrap.caption-style-card {
4596
+ padding: 10px;
4597
+ box-sizing: border-box;
4598
+ font-family: inherit;
4599
+ }
4600
 
4601
+ /* ------------------------- Gallery item hover style ------------------------ */
4602
+ .gallery-item-caption-wrap .gallery-item-hoverer-bg {
4603
+ position: absolute;
4604
+ left: 0;
4605
+ top: 0;
4606
+ height: 100%;
4607
+ width: 100%;
4608
+ content: '';
4609
+ background: #000000;
4610
+ z-index: -1;
4611
+ opacity: .7;
4612
+ }
4613
+
4614
+ .gallery-item-caption-wrap.caption-style-hoverer {
4615
+ visibility: hidden;
4616
+ opacity: 0;
4617
+ transition: 0.6s all ease;
4618
+ display: flex;
4619
+ align-items: center;
4620
+ }
4621
+
4622
+ .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer {
4623
+ opacity: 1;
4624
+ visibility: visible;
4625
+ }
4626
+
4627
+ .gallery-item-caption-wrap.caption-style-hoverer h5 {
4628
+ font-size: 20px;
4629
+ margin-bottom: 5px;
4630
+ line-height: 1;
4631
+ }
4632
+
4633
+ .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5 {
4634
+ transform: translateY(20px);
4635
+ transition: 0.6s all ease;
4636
+ }
4637
+
4638
+ .gallery-item-caption-wrap.caption-style-hoverer p {
4639
+ margin-bottom: 5px;
4640
  }
4641
 
4642
+ .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p {
4643
+ transform: translateY(40px);
4644
+ transition: 0.6s all ease;
4645
+ }
4646
+
4647
+ .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons {
4648
+ transform: translateY(40px);
4649
+ transition: 0.6s all ease;
4650
+ }
4651
+
4652
+ .gallery-item-caption-wrap .gallery-item-buttons > a {
4653
+ padding: 5px 15px;
4654
+ display: inline-block;
4655
+ border-radius: 50%;
4656
+ }
4657
+
4658
+ .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in {
4659
+ transform: scale(.8);
4660
+ transition: 0.6s all ease;
4661
+ }
4662
+
4663
+ .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5,
4664
+ .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons,
4665
+ .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p {
4666
+ transform: translate(0);
4667
+ }
4668
+
4669
+ .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in {
4670
+ transform: scale(1);
4671
+ visibility: visible;
4672
+ opacity: 1;
4673
+ }
4674
+
4675
+ .gallery-item-caption-wrap.caption-style-hoverer.eael-none {
4676
+ transition: none;
4677
+ }
4678
+
4679
+ /* ---------- Video Gallery -------------- */
4680
+ .gallery-item-thumbnail-wrap {
4681
+ position: relative;
4682
+ }
4683
+ .video-popup, .video-popup-bg {
4684
+ position: absolute;
4685
+ left: 0;
4686
+ top: 0;
4687
+ height: 100%;
4688
+ width: 100%;
4689
+ }
4690
+
4691
+ .video-popup > img {
4692
+ width: 62px;
4693
+ position: relative;
4694
+ z-index: 1;
4695
+ transition: 300ms;
4696
+ }
4697
+
4698
+ .video-popup {
4699
+ display: flex;
4700
+ align-items: center;
4701
+ justify-content: center;
4702
+ }
4703
+
4704
+ .video-popup:hover > img {
4705
+ transform: scale(1.1);
4706
+ }
4707
+
4708
+ .video-popup-bg {
4709
+ visibility: hidden;
4710
+ opacity: 0;
4711
+ transition: 350ms;
4712
+ }
4713
+
4714
+ .gallery-grid-item:hover .video-popup-bg {
4715
+ visibility: visible;
4716
+ opacity: 1;
4717
+ }
4718
+
4719
+ /* ---------------------- Gallery Column CSS ----------------------- */
4720
+ @media only screen and (min-width: 1025px) {
4721
+ /* For Desktop: */
4722
+ .elementor-element.elementor-grid-1 {
4723
+ position: relative;
4724
+ }
4725
+ .elementor-element.elementor-grid-1 .eael-filterable-gallery-item-wrap {
4726
+ width: 100%;
4727
+ float: left;
4728
+ }
4729
+ .elementor-element.elementor-grid-2 {
4730
+ position: relative;
4731
+ }
4732
+ .elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap {
4733
+ width: 50%;
4734
+ float: left;
4735
+ }
4736
+ .elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n) {
4737
+ margin-right: 0 !important;
4738
+ }
4739
+ .elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1) {
4740
+ clear: left;
4741
+ }
4742
+ .elementor-element.elementor-grid-3 {
4743
+ position: relative;
4744
+ }
4745
+ .elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap {
4746
+ width: 33.3333%;
4747
+ float: left;
4748
+ }
4749
+ .elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n) {
4750
+ margin-right: 0 !important;
4751
+ }
4752
+ .elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1) {
4753
+ clear: left;
4754
+ }
4755
+ .elementor-element.elementor-grid-4 {
4756
+ position: relative;
4757
+ }
4758
+ .elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap {
4759
+ width: 25%;
4760
+ float: left;
4761
+ }
4762
+ .elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n) {
4763
+ margin-right: 0 !important;
4764
+ }
4765
+ .elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1) {
4766
+ clear: left;
4767
+ }
4768
+ .elementor-element.elementor-grid-5 {
4769
+ position: relative;
4770
+ }
4771
+ .elementor-element.elementor-grid-5 .pp-logo-grid {
4772
+ margin-right: -5px;
4773
+ }
4774
+ .elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap {
4775
+ width: 20%;
4776
+ float: left;
4777
+ }
4778
+ .elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n) {
4779
+ margin-right: 0 !important;
4780
+ }
4781
+ .elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1) {
4782
+ clear: left;
4783
+ }
4784
+ .elementor-element.elementor-grid-6 {
4785
+ position: relative;
4786
+ }
4787
+ .elementor-element.elementor-grid-6 .pp-logo-grid {
4788
+ margin-right: -6px;
4789
+ }
4790
+ .elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap {
4791
+ width: 16.6667%;
4792
+ float: left;
4793
+ }
4794
+ .elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n) {
4795
+ margin-right: 0 !important;
4796
+ }
4797
+ .elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1) {
4798
+ clear: left;
4799
+ }
4800
+ }
4801
+ @media only screen and (max-width: 1024px) and (min-width: 766px) {
4802
+ /* For tablets: */
4803
+ .elementor-element.elementor-grid-tablet-1 {
4804
+ position: relative;
4805
+ }
4806
+ .elementor-element.elementor-grid-tablet-1 .eael-filterable-gallery-item-wrap {
4807
+ width: 100%;
4808
+ float: left;
4809
+ }
4810
+ .elementor-element.elementor-grid-tablet-2 {
4811
+ position: relative;
4812
+ }
4813
+ .elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap {
4814
+ width: 50%;
4815
+ float: left;
4816
+ }
4817
+ .elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n) {
4818
+ margin-right: 0 !important;
4819
+ }
4820
+ .elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1) {
4821
+ clear: left;
4822
+ }
4823
+ .elementor-element.elementor-grid-tablet-3 {
4824
+ position: relative;
4825
+ }
4826
+ .elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap {
4827
+ width: 33.3333%;
4828
+ float: left;
4829
+ }
4830
+ .elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n) {
4831
+ margin-right: 0 !important;
4832
+ }
4833
+ .elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1) {
4834
+ clear: left;
4835
+ }
4836
+ .elementor-element.elementor-grid-tablet-4 {
4837
+ position: relative;
4838
+ }
4839
+ .elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap {
4840
+ width: 25%;
4841
+ float: left;
4842
+ }
4843
+ .elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n) {
4844
+ margin-right: 0 !important;
4845
+ }
4846
+ .elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1) {
4847
+ clear: left;
4848
+ }
4849
+ .elementor-element.elementor-grid-tablet-5 {
4850
+ position: relative;
4851
+ }
4852
+ .elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap {
4853
+ width: 20%;
4854
+ float: left;
4855
+ }
4856
+ .elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n) {
4857
+ margin-right: 0 !important;
4858
+ }
4859
+ .elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1) {
4860
+ clear: left;
4861
+ }
4862
+ .elementor-element.elementor-grid-tablet-6 {
4863
+ position: relative;
4864
+ }
4865
+ .elementor-element.elementor-grid-tablet-6 .pp-logo-grid {
4866
+ margin-right: -6px;
4867
+ }
4868
+ .elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap {
4869
+ width: 16.6667%;
4870
+ float: left;
4871
+ }
4872
+ .elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n) {
4873
+ margin-right: 0 !important;
4874
+ }
4875
+ .elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1) {
4876
+ clear: left;
4877
+ }
4878
+ }
4879
+ @media only screen and (max-width: 767px) {
4880
+ .elementor-element.elementor-grid-mobile-1 {
4881
+ position: relative;
4882
+ }
4883
+ .elementor-element.elementor-grid-mobile-1 .eael-filterable-gallery-item-wrap {
4884
+ width: 100%;
4885
+ float: left;
4886
+ }
4887
+ .elementor-element.elementor-grid-mobile-2 {
4888
+ position: relative;
4889
+ }
4890
+ .elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap {
4891
+ width: 50%;
4892
+ float: left;
4893
+ }
4894
+ .elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n) {
4895
+ margin-right: 0 !important;
4896
+ }
4897
+ .elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1) {
4898
+ clear: left;
4899
+ }
4900
+ .elementor-element.elementor-grid-mobile-3 {
4901
+ position: relative;
4902
+ }
4903
+ .elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap {
4904
+ width: 33.3333%;
4905
+ float: left;
4906
+ }
4907
+ .elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n) {
4908
+ margin-right: 0 !important;
4909
+ }
4910
+ .elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1) {
4911
+ clear: left;
4912
+ }
4913
+ .elementor-element.elementor-grid-mobile-4 {
4914
+ position: relative;
4915
+ }
4916
+ .elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap {
4917
+ width: 25%;
4918
+ float: left;
4919
+ }
4920
+ .elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n) {
4921
+ margin-right: 0 !important;
4922
+ }
4923
+ .elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1) {
4924
+ clear: left;
4925
+ }
4926
+ .elementor-element.elementor-grid-mobile-5 {
4927
+ position: relative;
4928
+ }
4929
+ .elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap {
4930
+ width: 20%;
4931
+ float: left;
4932
+ }
4933
+ .elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n) {
4934
+ margin-right: 0 !important;
4935
+ }
4936
+ .elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1) {
4937
+ clear: left;
4938
+ }
4939
+ .elementor-element.elementor-grid-mobile-6 {
4940
+ position: relative;
4941
+ }
4942
+ .elementor-element.elementor-grid-mobile-6 .pp-logo-grid {
4943
+ margin-right: -6px;
4944
+ }
4945
+ .elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap {
4946
+ width: 16.6667%;
4947
+ float: left;
4948
+ }
4949
+ .elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n) {
4950
+ margin-right: 0 !important;
4951
+ }
4952
+ .elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1) {
4953
+ clear: left;
4954
+ }
4955
+ }
4956
+
4957
+
4958
+
4959
+
4960
  /**
4961
  * swiper
4962
  */
5428
  opacity: 1;
5429
  top: 100%;
5430
  }
5431
+ }
5432
+
5433
+
5434
+ /*------------------------------*/
5435
+ /* Progress Bar
5436
+ /*------------------------------*/
5437
+ .ldBar{position:relative;}.ldBar.label-center > .ldBar-label{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-shadow:0 0 3px #fff}.ldBar-label:after{content:"%";display:inline}.ldBar.no-percent .ldBar-label:after{content:""}
5438
+ .eael-progress-bar-container {
5439
+ overflow: hidden;
5440
+ }
5441
+ .eael-progress-bar-container .progress-title,
5442
+ .eael-progress-bar-container .ldBar-label {
5443
+ font-family: "Roboto", Sans-serif;
5444
+ font-weight: 600;
5445
+ }
5446
+ .progress-title h1,
5447
+ .progress-title h2,
5448
+ .progress-title h3,
5449
+ .progress-title h4,
5450
+ .progress-title h5,
5451
+ .progress-title h6,
5452
+ .progress-title p {
5453
+ margin: 0;
5454
+ }
5455
+ .eael-progress-bar-container.center .ldBar{
5456
+ margin: 0 auto;
5457
+ }
5458
+ div[data-preset="line"] .ldBar-label,
5459
+ div[data-preset="rainbow"] .ldBar-label {
5460
+ text-align: right;
5461
+ position: absolute;
5462
+ top: -20px;
5463
+ right: 0;
5464
+ }
assets/img/play-icon.png ADDED
Binary file
assets/js/eael-scripts.js CHANGED
@@ -1,55 +1,118 @@
1
  (function ($) {
2
  "use strict";
3
 
4
- var FilterGallery = function( $scope, $ ) {
5
- var filtergallery_elem = $scope.find('.eael-filter-gallery-wrapper').eq(0);
6
-
7
- $(filtergallery_elem).each(function() {
8
- var gridStyle = $(this).data('grid-style'),
9
- ref = $(this).find('.item').data('ref'),
10
- duration = $(this).data('duration'),
11
- effects = $(this).data('effects'),
12
- popup = $(this).data('popup'),
13
- galleryEnabled = $(this).data('gallery-enabled');
14
- var mixer = mixitup( $(this), {
15
- controls: {
16
- scope: 'local'
17
- },
18
- selectors: {
19
- target: '[data-ref~="'+ref+'"]'
20
- },
21
- animation: {
22
- enable: true,
23
- duration: ''+duration+'',
24
- effects: ''+effects+'',
25
- easing: 'cubic-bezier(0.245, 0.045, 0.955, 1)',
26
- }
27
- } );
28
 
29
- // Set Background Image
30
- if( gridStyle == 'eael-hoverer' || gridStyle == 'eael-tiles' ) {
31
- var postColumn = $(this).find( '.eael-filter-gallery-container .item' );
32
- postColumn.each( function() {
33
- let dataBg = $(this).attr( 'data-item-bg' );
34
- $(this).css( 'background-image', 'url( '+ dataBg +' )' );
35
- } );
36
- }
37
- // Magnific Popup
38
- if( true == popup ) {
39
- $(this).find('.eael-magnific-link').magnificPopup({
40
- type: 'image',
41
- gallery:{
42
- enabled: galleryEnabled
43
- },
44
- callbacks: {
45
- close: function() {
46
- $( '#elementor-lightbox' ).hide();
47
- }
48
- }
49
- });
50
- }
51
- });
52
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
  var FacebookFeedHandler = function ($scope, $) {
55
  var loadingFeed = $scope.find( '.eael-loading-feed' );
@@ -560,10 +623,125 @@
560
 
561
  }
562
  }
563
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
564
 
565
  $(window).on('elementor/frontend/init', function () {
566
- elementorFrontend.hooks.addAction('frontend/element_ready/eael-filterable-gallery.default', FilterGallery);
 
 
 
 
567
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-adv-tabs.default', AdvanceTabHandler);
568
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-adv-accordion.default', AdvAccordionHandler);
569
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-pricing-table.default', PricingTooltip);
@@ -575,6 +753,7 @@
575
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-fancy-text.default', FancyText);
576
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-image-accordion.default', ImageAccordion);
577
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-countdown.default', CountDown);
 
578
  });
579
 
580
  }(jQuery));
1
  (function ($) {
2
  "use strict";
3
 
4
+ var isEditMode = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
+
7
+ function mybe_note_undefined($selector, $data_atts) {
8
+ return ($selector.data($data_atts) !== undefined) ? $selector.data($data_atts) : '';
9
+ }
10
+
11
+
12
+ function getGalleryItem($gallery_items, $scope, $render, $init_show) {
13
+ var $rom = [];
14
+
15
+ var $counter = $init_show + $render;
16
+ for(var i = $init_show; i < $counter; i++) {
17
+ var $item = $($gallery_items[i]);
18
+ $item = $item[0];
19
+ $rom.push($item);
20
+ }
21
+ return $rom;
22
+ }
23
+
24
+ var filterableGalleryHandler = function( $scope, $ ) {
25
+
26
+ var $gallery = $scope.find('.eael-filter-gallery-container').eq(0),
27
+ $settings = $gallery.data('settings');
28
+
29
+ var $gallery_items = $gallery.data('gallery-items'),
30
+ $init_show = $gallery.data('init-show') ? $gallery.data('init-show') : 9;
31
+
32
+ if( !isEditMode ) {
33
+ var $layout_mode = 'fitRows';
34
+
35
+ if( $settings.grid_style ) {
36
+ $layout_mode = 'masonry';
37
+ }
38
+
39
+ var $isotope_args = {
40
+ itemSelector: '.eael-filterable-gallery-item-wrap',
41
+ layoutMode : $layout_mode,
42
+ percentPosition : true,
43
+ stagger: 30,
44
+ transitionDuration: $settings.duration + 'ms',
45
+ }
46
+
47
+ var $isotope_gallery = {};
48
+
49
+ $scope.imagesLoaded(function(e) {
50
+ $isotope_gallery = $gallery.isotope($isotope_args);
51
+ });
52
+
53
+ $scope.on('click', '.control', function() {
54
+ var $this = $(this),
55
+ filterValue = $this.attr('data-filter');
56
+
57
+ $this.siblings().removeClass('active');
58
+ $this.addClass('active');
59
+ $isotope_gallery.isotope({ filter: filterValue });
60
+ });
61
+
62
+ if( $settings.popup == 'media' ) {
63
+ $scope.find('.eael-magnific-link').magnificPopup({
64
+ type: 'image',
65
+ gallery:{
66
+ enabled: $settings.gallery_enabled
67
+ },
68
+ callbacks: {
69
+ close: function() {
70
+ $( '#elementor-lightbox' ).hide();
71
+ }
72
+ }
73
+ });
74
+ }
75
+
76
+ $scope.find('.eael-magnific-video-link').magnificPopup({
77
+ type: 'iframe',
78
+ callbacks: {
79
+ close: function() {
80
+ $( '#elementor-lightbox' ).hide();
81
+ }
82
+ }
83
+ });
84
+ }
85
+
86
+
87
+ // Load more button
88
+ $scope.find('.eael-gallery-load-more').on('click', function(e) {
89
+ e.preventDefault();
90
+
91
+ var $this = $(this),
92
+ $init_show = $scope
93
+ .find('.eael-filter-gallery-container')
94
+ .find('.eael-filterable-gallery-item-wrap')
95
+ .length,
96
+ total_items = $gallery.data('total-gallery-items'),
97
+ images_per_page = $gallery.data('images-per-page'),
98
+ nomore_text = $gallery.data('nomore-item-text'),
99
+ $items = getGalleryItem($gallery_items, $scope, images_per_page, $init_show);
100
+
101
+ if( $init_show == total_items ) {
102
+ $this.html('<div class="no-more-items-text">'+nomore_text+'</div>');
103
+ setTimeout(function(){
104
+ $this.fadeOut('slow');
105
+ }, 600);
106
+ }
107
+
108
+ $scope.imagesLoaded(function(e) {
109
+ $gallery.isotope('insert', $items);
110
+ });
111
+ });
112
+
113
+ };
114
+
115
+
116
 
117
  var FacebookFeedHandler = function ($scope, $) {
118
  var loadingFeed = $scope.find( '.eael-loading-feed' );
623
 
624
  }
625
  }
626
+ }
627
+
628
+ var ProgressBar = function ($scope, $) {
629
+
630
+ var $progressBar = $scope.find('.eael-progress-bar-container').eq(0),
631
+ $layout = mybe_note_undefined($progressBar, "layout"),
632
+ $id = mybe_note_undefined($progressBar, "id"),
633
+ $number = mybe_note_undefined($progressBar, "number"),
634
+ $class = '.elementor-element-' + $scope.data('id'),
635
+ $line_stroke_color = mybe_note_undefined($progressBar, "line-stroke-color"),
636
+ $line_stroke_width = mybe_note_undefined($progressBar, "line-stroke-width"),
637
+ $line_stroke_trail_color = mybe_note_undefined($progressBar, "line-stroke-trail-color"),
638
+ $line_stroke_trail_width = mybe_note_undefined($progressBar, "line-stroke-trail-width"),
639
+ $line_direction = mybe_note_undefined($progressBar, "line-direction"),
640
+
641
+ $fan_stroke_color = mybe_note_undefined($progressBar, "fan-stroke-color"),
642
+ $fan_stroke_width = mybe_note_undefined($progressBar, "fan-stroke-width"),
643
+ $fan_stroke_trail_color = mybe_note_undefined($progressBar, "fan-stroke-trail-color"),
644
+ $fan_stroke_trail_width = mybe_note_undefined($progressBar, "fan-stroke-trail-width"),
645
+ $fan_direction = mybe_note_undefined($progressBar, "fan-direction"),
646
+
647
+ $circle_stroke_color = mybe_note_undefined($progressBar, "circle-stroke-color"),
648
+ $circle_stroke_width = mybe_note_undefined($progressBar, "circle-stroke-width"),
649
+ $circle_stroke_trail_color = mybe_note_undefined($progressBar, "circle-stroke-trail-color"),
650
+ $circle_stroke_trail_width = mybe_note_undefined($progressBar, "circle-stroke-trail-width"),
651
+ $circle_direction = mybe_note_undefined($progressBar, "circle-direction"),
652
+
653
+ $bubble_circle_color = mybe_note_undefined($progressBar, "bubble-circle-color"),
654
+ $bubble_bg_color = mybe_note_undefined($progressBar, "bubble-bg-color"),
655
+ $bubble_circle_width = mybe_note_undefined($progressBar, "bubble-circle-width"),
656
+ $bubble_direction = mybe_note_undefined($progressBar, "bubble-direction"),
657
+
658
+ $rainbow_stroke_width = mybe_note_undefined($progressBar, "rainbow-stroke-width"),
659
+ $rainbow_stroke_trail_width = mybe_note_undefined($progressBar, "rainbow-stroke-trail-width"),
660
+ $rainbow_color_one = mybe_note_undefined($progressBar, "rainbow-color-one"),
661
+ $rainbow_color_two = mybe_note_undefined($progressBar, "rainbow-color-two"),
662
+ $rainbow_color_three = mybe_note_undefined($progressBar, "rainbow-color-three"),
663
+ $rainbow_color_four = mybe_note_undefined($progressBar, "rainbow-color-four"),
664
+ $rainbow_color_five = mybe_note_undefined($progressBar, "rainbow-color-five"),
665
+ $rainbow_direction = mybe_note_undefined($progressBar, "rainbow-direction");
666
+
667
+
668
+ if('rainbow' == $layout){
669
+ var bar = new ldBar($class + ' .inside-progressbar', {
670
+ "type": 'stroke',
671
+ "path": 'M0 10L100 10',
672
+ "stroke": 'data:ldbar/res,gradient(0,1,'+ $rainbow_color_one +','+ $rainbow_color_two +','+ $rainbow_color_three +','+ $rainbow_color_four +','+ $rainbow_color_five +')',
673
+ "aspect-ratio": 'none',
674
+ "stroke-width": $rainbow_stroke_width,
675
+ "stroke-trail-width": $rainbow_stroke_trail_width,
676
+ "stroke-dir": $rainbow_direction
677
+ }).set($number);
678
+ }
679
+ else if('line' == $layout){
680
+ var bar = new ldBar($class + ' .inside-progressbar', {
681
+ "type": 'stroke',
682
+ "path": 'M0 10L100 10',
683
+ "stroke": $line_stroke_color,
684
+ "stroke-width": $line_stroke_width,
685
+ "stroke-trail": $line_stroke_trail_color,
686
+ "stroke-trail-width": $line_stroke_trail_width,
687
+ "aspect-ratio": 'none',
688
+ "stroke-dir": $line_direction
689
+ }).set($number);
690
+ }
691
+ else if('fan' == $layout){
692
+ var bar = new ldBar($class + ' .inside-progressbar', {
693
+ "type": 'stroke',
694
+ "path": 'M10 90A40 40 0 0 1 90 90',
695
+ "fill-dir": $fan_direction,
696
+ "fill": $fan_stroke_color,
697
+ "fill-background": $fan_stroke_trail_color,
698
+ "fill-background-extrude": $fan_stroke_width,
699
+ "stroke-dir": 'normal',
700
+ "stroke": $fan_stroke_color,
701
+ "stroke-width": $fan_stroke_width,
702
+ "stroke-trail": $fan_stroke_trail_color,
703
+ "stroke-trail-width": $fan_stroke_trail_width
704
+ }).set($number);
705
+ }
706
+ else if('circle' == $layout){
707
+ var bar = new ldBar($class + ' .inside-progressbar', {
708
+ "type": 'stroke',
709
+ "path": 'M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10',
710
+ "fill-dir": $circle_direction,
711
+ "fill": $circle_stroke_color,
712
+ "fill-background": $circle_stroke_trail_color,
713
+ "fill-background-extrude": $circle_stroke_width,
714
+ "stroke-dir": 'normal',
715
+ "stroke": $circle_stroke_color,
716
+ "stroke-width": $circle_stroke_width,
717
+ "stroke-trail": $circle_stroke_trail_color,
718
+ "stroke-trail-width": $circle_stroke_trail_width
719
+ }).set($number);
720
+ }
721
+ else if('bubble' == $layout){
722
+ var bar = new ldBar($class + ' .inside-progressbar', {
723
+ "type": 'fill',
724
+ "path": 'M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10',
725
+ "fill-dir": $bubble_direction,
726
+ "fill": 'data:ldbar/res,bubble('+ $bubble_bg_color +','+ $bubble_circle_color +')',
727
+ "pattern-size": $bubble_circle_width,
728
+ "fill-background": '#ddd',
729
+ "fill-background-extrude": 2,
730
+ "stroke-dir": 'normal',
731
+ "stroke": '#25b',
732
+ "stroke-width": '3',
733
+ "stroke-trail": '#ddd',
734
+ "stroke-trail-width": 0.5
735
+ }).set($number);
736
+ }
737
+ }
738
 
739
  $(window).on('elementor/frontend/init', function () {
740
+ if(elementorFrontend.isEditMode()) {
741
+ isEditMode = true;
742
+ }
743
+
744
+ elementorFrontend.hooks.addAction('frontend/element_ready/eael-filterable-gallery.default', filterableGalleryHandler);
745
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-adv-tabs.default', AdvanceTabHandler);
746
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-adv-accordion.default', AdvAccordionHandler);
747
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-pricing-table.default', PricingTooltip);
753
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-fancy-text.default', FancyText);
754
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-image-accordion.default', ImageAccordion);
755
  elementorFrontend.hooks.addAction('frontend/element_ready/eael-countdown.default', CountDown);
756
+ elementorFrontend.hooks.addAction('frontend/element_ready/eael-progress-bar.default', ProgressBar);
757
  });
758
 
759
  }(jQuery));
assets/js/isotope.pkgd.min.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Isotope PACKAGED v3.0.6
3
+ *
4
+ * Licensed GPLv3 for open source use
5
+ * or Isotope Commercial License for commercial use
6
+ *
7
+ * https://isotope.metafizzy.co
8
+ * Copyright 2010-2018 Metafizzy
9
+ */
10
+
11
+ !function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function u(t,e,o){var n,s="$()."+i+'("'+e+'")';return t.each(function(t,u){var h=a.data(u,i);if(!h)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var d=h[e];if(!d||"_"==e.charAt(0))return void r(s+" is not a valid method");var l=d.apply(h,o);n=void 0===n?l:n}),void 0!==n?n:t}function h(t,e){t.each(function(t,o){var n=a.data(o,i);n?(n.option(e),n._init()):(n=new s(o,e),a.data(o,i,n))})}a=a||e||t.jQuery,a&&(s.prototype.option||(s.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=n.call(arguments,1);return u(this,t,e)}return h(this,t),this},o(a))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var n=Array.prototype.slice,s=t.console,r="undefined"==typeof s?function(){}:function(t){s.error(t)};return o(e||t.jQuery),i}),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 o.indexOf(e)==-1&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},o=i[t]=i[t]||{};return o[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 o!=-1&&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],r=o&&o[s];r&&(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 t(t){var e=parseFloat(t),i=t.indexOf("%")==-1&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<h;e++){var i=u[e];t[i]=0}return t}function o(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function n(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var n=o(e);r=200==Math.round(t(n.width)),s.isBoxSizeOuter=r,i.removeChild(e)}}function s(e){if(n(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var s=o(e);if("none"==s.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==s.boxSizing,l=0;l<h;l++){var f=u[l],c=s[f],m=parseFloat(c);a[f]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,y=a.paddingTop+a.paddingBottom,g=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,I=d&&r,x=t(s.width);x!==!1&&(a.width=x+(I?0:p+_));var S=t(s.height);return S!==!1&&(a.height=S+(I?0:y+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(y+z),a.outerWidth=a.width+g,a.outerHeight=a.height+v,a}}var r,a="undefined"==typeof console?e:function(t){console.error(t)},u=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],h=u.length,d=!1;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 t=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],n=o+"MatchesSelector";if(t[n])return n}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e};var o=Array.prototype.slice;i.makeArray=function(t){if(Array.isArray(t))return t;if(null===t||void 0===t)return[];var e="object"==typeof t&&"number"==typeof t.length;return e?o.call(t):[t]},i.removeFrom=function(t,e){var i=t.indexOf(e);i!=-1&&t.splice(i,1)},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,o){t=i.makeArray(t);var n=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!o)return void n.push(t);e(t,o)&&n.push(t);for(var i=t.querySelectorAll(o),s=0;s<i.length;s++)n.push(i[s])}}),n},i.debounceMethod=function(t,e,i){i=i||100;var o=t.prototype[e],n=e+"Timeout";t.prototype[e]=function(){var t=this[n];clearTimeout(t);var e=arguments,s=this;this[n]=setTimeout(function(){o.apply(s,e),delete s[n]},i)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var s=i.toDashed(o),r="data-"+s,a=document.querySelectorAll("["+r+"]"),u=document.querySelectorAll(".js-"+s),h=i.makeArray(a).concat(i.makeArray(u)),d=r+"-options",l=t.jQuery;h.forEach(function(t){var i,s=t.getAttribute(r)||t.getAttribute(d);try{i=s&&JSON.parse(s)}catch(a){return void(n&&n.error("Error parsing "+r+" on "+t.className+": "+a))}var u=new e(t,i);l&&l.data(t,o,u)})})},i}),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";function i(t){for(var e in t)return!1;return e=null,!0}function o(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function n(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var s=document.documentElement.style,r="string"==typeof s.transition?"transition":"WebkitTransition",a="string"==typeof s.transform?"transform":"WebkitTransform",u={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[r],h={transform:a,transition:r,transitionDuration:r+"Duration",transitionProperty:r+"Property",transitionDelay:r+"Delay"},d=o.prototype=Object.create(t.prototype);d.constructor=o,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var o=h[i]||i;e[o]=t[i]}},d.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;o.indexOf("%")!=-1&&(s=s/100*a.width),n.indexOf("%")!=-1&&(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},d.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",d=o?"bottom":"top",l=this.position.y+t[u];e[h]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._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)return void this.layoutPosition();var s=t-i,r=e-o,a={};a.transform=this.getTranslate(s,r),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),o=this.layout._getOption("originTop");return t=i?t:-t,e=o?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);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);var o=this.element.offsetHeight;o=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+n(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(u,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var f={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,o=f[t.propertyName]||t.propertyName;if(delete e.ingProperties[o],i(e.ingProperties)&&this.disableTransition(),o in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[o]),o in e.onEnd){var n=e.onEnd[o];n.call(this),delete e.onEnd[o]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(u,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var c={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(c)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return r&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},o}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,o,n,s){return e(t,i,o,n,s)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,o,n){"use strict";function s(t,e){var i=o.getQueryElement(t);if(!i)return void(u&&u.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,h&&(this.$element=h(this.element)),this.options=o.extend({},this.constructor.defaults),this.option(e);var n=++l;this.element.outlayerGUID=n,f[n]=this,this._create();var s=this._getOption("initLayout");s&&this.layout()}function r(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(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=m[o]||1;return i*n}var u=t.console,h=t.jQuery,d=function(){},l=0,f={};s.namespace="outlayer",s.Item=n,s.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 c=s.prototype;o.extend(c,e.prototype),c.option=function(t){o.extend(this.options,t)},c._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},s.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},c._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),o.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},c.reloadItems=function(){this.items=this._itemize(this.element.children)},c._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0;n<e.length;n++){var s=e[n],r=new i(s,this);o.push(r)}return o},c._filterFindItemElements=function(t){return o.filterFindElements(t,this.options.itemSelector)},c.getItemElements=function(){return this.items.map(function(t){return t.element})},c.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},c._init=c.layout,c._resetLayout=function(){this.getSize()},c.getSize=function(){this.size=i(this.element)},c._getMeasurement=function(t,e){var o,n=this.options[t];n?("string"==typeof n?o=this.element.querySelector(n):n instanceof HTMLElement&&(o=n),this[t]=o?i(o)[e]:n):this[t]=0},c.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},c._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},c._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var o=this._getItemLayoutPosition(t);o.item=t,o.isInstant=e||t.isLayoutInstant,i.push(o)},this),this._processLayoutQueue(i)}},c._getItemLayoutPosition=function(){return{x:0,y:0}},c._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},c.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},c._positionItem=function(t,e,i,o,n){o?t.goTo(e,i):(t.stagger(n*this.stagger),t.moveTo(e,i))},c._postLayout=function(){this.resizeContainer()},c.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},c._getContainerSize=d,c._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"}},c._emitCompleteOnItems=function(t,e){function i(){n.dispatchEvent(t+"Complete",null,[e])}function o(){r++,r==s&&i()}var n=this,s=e.length;if(!e||!s)return void i();var r=0;e.forEach(function(e){e.once(t,o)})},c.dispatchEvent=function(t,e,i){var o=e?[e].concat(i):i;if(this.emitEvent(t,o),h)if(this.$element=this.$element||h(this.element),e){var n=h.Event(e);n.type=t,this.$element.trigger(n,i)}else this.$element.trigger(t,i)},c.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},c.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},c.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},c.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){o.removeFrom(this.stamps,t),this.unignore(t)},this)},c._find=function(t){if(t)return"string"==typeof t&&(t=this.element.querySelectorAll(t)),t=o.makeArray(t)},c._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},c._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)}},c._manageStamp=d,c._getElementOffset=function(t){var e=t.getBoundingClientRect(),o=this._boundingRect,n=i(t),s={left:e.left-o.left-n.marginLeft,top:e.top-o.top-n.marginTop,right:o.right-e.right-n.marginRight,bottom:o.bottom-e.bottom-n.marginBottom};return s},c.handleEvent=o.handleEvent,c.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},c.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},c.onresize=function(){this.resize()},o.debounceMethod(s,"onresize",100),c.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},c.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},c.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},c.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},c.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)}},c.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},c.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},c.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},c.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},c.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},c.getItems=function(t){t=o.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},c.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),o.removeFrom(this.items,t)},this)},c.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 f[e],delete this.element.outlayerGUID,h&&h.removeData(this.element,this.constructor.namespace)},s.data=function(t){t=o.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&f[e]},s.create=function(t,e){var i=r(s);return i.defaults=o.extend({},s.defaults),o.extend(i.defaults,e),i.compatOptions=o.extend({},s.compatOptions),i.namespace=t,i.data=s.data,i.Item=r(n),o.htmlInit(i,t),h&&h.bridget&&h.bridget(t,i),i};var m={ms:1,s:1e3};return s.Item=n,s}),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(t,e){"use strict";function i(t){this.isotope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}var o=i.prototype,n=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"];return n.forEach(function(t){o[t]=function(){return e.prototype[t].apply(this.isotope,arguments)}}),o.needsVerticalResizeLayout=function(){var e=t(this.isotope.element),i=this.isotope.size&&e;return i&&e.innerHeight!=this.isotope.size.innerHeight},o._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},o.getColumnWidth=function(){this.getSegmentSize("column","Width")},o.getRowHeight=function(){this.getSegmentSize("row","Height")},o.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]}},o.getFirstItemSize=function(){var e=this.isotope.filteredItems[0];return e&&e.element&&t(e.element)},o.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},o.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},i.modes={},i.create=function(t,e){function n(){i.apply(this,arguments)}return n.prototype=Object.create(o),n.prototype.constructor=n,e&&(n.options=e),n.prototype.namespace=t,i.modes[t]=n,n},i}),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,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var o=i.prototype;return o._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},o.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var o=this.columnWidth+=this.gutter,n=this.containerWidth+this.gutter,s=n/o,r=o-n%o,a=r&&r<1?"round":"floor";s=Math[a](s),this.cols=Math.max(s,1)},o.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,o=e(i);this.containerWidth=o&&o.innerWidth},o._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&e<1?"round":"ceil",o=Math[i](t.size.outerWidth/this.columnWidth);o=Math.min(o,this.cols);for(var n=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",s=this[n](o,t),r={x:this.columnWidth*s.col,y:s.y},a=s.y+t.size.outerHeight,u=o+s.col,h=s.col;h<u;h++)this.colYs[h]=a;return r},o._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},o._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},o._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)},o._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,o=t>1&&i+t>this.cols;i=o?0:i;var n=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=n?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},o._manageStamp=function(t){var i=e(t),o=this._getElementOffset(t),n=this._getOption("originLeft"),s=n?o.left:o.right,r=s+i.outerWidth,a=Math.floor(s/this.columnWidth);a=Math.max(0,a);var u=Math.floor(r/this.columnWidth);u-=r%this.columnWidth?0:1,u=Math.min(this.cols-1,u);for(var h=this._getOption("originTop"),d=(h?o.top:o.bottom)+i.outerHeight,l=a;l<=u;l++)this.colYs[l]=Math.max(d,this.colYs[l])},o._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},o._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},o.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}),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(t,e){"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(i,o,n,s,r,a){return e(t,i,o,n,s,r,a)}):"object"==typeof module&&module.exports?module.exports=e(t,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")):t.Isotope=e(t,t.Outlayer,t.getSize,t.matchesSelector,t.fizzyUIUtils,t.Isotope.Item,t.Isotope.LayoutMode)}(window,function(t,e,i,o,n,s,r){function a(t,e){return function(i,o){for(var n=0;n<t.length;n++){var s=t[n],r=i.sortData[s],a=o.sortData[s];if(r>a||r<a){var u=void 0!==e[s]?e[s]:e,h=u?1:-1;return(r>a?1:-1)*h}}return 0}}var u=t.jQuery,h=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},d=e.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});d.Item=s,d.LayoutMode=r;var l=d.prototype;l._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),e.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var t in r.modes)this._initLayoutMode(t)},l.reloadItems=function(){this.itemGUID=0,e.prototype.reloadItems.call(this)},l._itemize=function(){for(var t=e.prototype._itemize.apply(this,arguments),i=0;i<t.length;i++){var o=t[i];o.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?n.extend(e.options,i):i,this.modes[t]=new e(this)},l.layout=function(){return!this._isLayoutInited&&this._getOption("initLayout")?void this.arrange():void this._layout()},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,e},l._bindArrangeComplete=function(){function t(){e&&i&&o&&n.dispatchEvent("arrangeComplete",null,[n.filteredItems])}var e,i,o,n=this;this.once("layoutComplete",function(){e=!0,t()}),this.once("hideComplete",function(){i=!0,t()}),this.once("revealComplete",function(){o=!0,t()})},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(t){return u&&this.options.isJQueryFiltering?function(e){return u(e.element).is(t);
12
+ }:"function"==typeof t?function(e){return t(e.element)}:function(e){return o(e.element,t)}},l.updateSortData=function(t){var e;t?(t=n.makeArray(t),e=this.getItems(t)):e=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]=f(i)}},l._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&i<e;i++){var o=t[i];o.updateSortData()}};var f=function(){function t(t){if("string"!=typeof t)return t;var i=h(t).split(" "),o=i[0],n=o.match(/^\[(.+)\]$/),s=n&&n[1],r=e(s,o),a=d.sortDataParsers[i[1]];return t=a?function(t){return t&&a(r(t))}:function(t){return t&&r(t)}}function e(t,e){return t?function(e){return e.getAttribute(t)}:function(t){var i=t.querySelector(e);return i&&i.textContent}}return t}();d.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},l._sort=function(){if(this.options.sortBy){var t=n.makeArray(this.options.sortBy);this._getIsSameSortBy(t)||(this.sortHistory=t.concat(this.sortHistory));var e=a(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(){e.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 c=l.remove;return l.remove=function(t){t=n.makeArray(t);var e=this.getItems(t);c.call(this,t);for(var i=e&&e.length,o=0;i&&o<i;o++){var s=e[o];n.removeFrom(this.filteredItems,s)}},l.shuffle=function(){for(var t=0;t<this.items.length;t++){var e=this.items[t];e.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})},d});
assets/js/jquery.resize.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var i,t,r=document.attachEvent,s=!1,n=e.fn.resize;if(e.fn.resize=function(e){return this.each(function(){this==window?n.call(jQuery(this),e):addResizeListener(this,e)})},e.fn.removeResize=function(e){return this.each(function(){removeResizeListener(this,e)})},!r){var o=(t=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){return window.setTimeout(e,20)},function(e){return t(e)}),a=(i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout,function(e){return i(e)});function _(e){var i=e.__resizeTriggers__,t=i.firstElementChild,r=i.lastElementChild,s=t.firstElementChild;r.scrollLeft=r.scrollWidth,r.scrollTop=r.scrollHeight,s.style.width=t.offsetWidth+1+"px",s.style.height=t.offsetHeight+1+"px",t.scrollLeft=t.scrollWidth,t.scrollTop=t.scrollHeight}function d(i){var t=this;_(this),this.__resizeRAF__&&a(this.__resizeRAF__),this.__resizeRAF__=o(function(){var e;((e=t).offsetWidth!=e.__resizeLast__.width||e.offsetHeight!=e.__resizeLast__.height)&&(t.__resizeLast__.width=t.offsetWidth,t.__resizeLast__.height=t.offsetHeight,t.__resizeListeners__.forEach(function(e){e.call(t,i)}))})}var c=!1,l="",h="animationstart",m="Webkit Moz O ms".split(" "),f="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),g="",u=document.createElement("fakeelement");if(void 0!==u.style.animationName&&(c=!0),!1===c)for(var z=0;z<m.length;z++)if(void 0!==u.style[m[z]+"AnimationName"]){(g=m[z])+"Animation",l="-"+g.toLowerCase()+"-",h=f[z],c=!0;break}var v="resizeanim",w="@"+l+"keyframes "+v+" { from { opacity: 0; } to { opacity: 0; } } ",p=l+"animation: 1ms "+v+"; "}window.addResizeListener=function(i,e){r?i.attachEvent("onresize",e):(i.__resizeTriggers__||("static"==getComputedStyle(i).position&&(i.style.position="relative"),function(){if(!s){var e=(w||"")+".resize-triggers { "+(p||"")+'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',i=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)),i.appendChild(t),s=!0}}(),i.__resizeLast__={},i.__resizeListeners__=[],(i.__resizeTriggers__=document.createElement("div")).className="resize-triggers",i.__resizeTriggers__.innerHTML='<div class="expand-trigger"><div></div></div><div class="contract-trigger"></div>',i.appendChild(i.__resizeTriggers__),_(i),i.addEventListener("scroll",d,!0),h&&i.__resizeTriggers__.addEventListener(h,function(e){e.animationName==v&&_(i)})),i.__resizeListeners__.push(e))},window.removeResizeListener=function(e,i){r?e.detachEvent("onresize",i):(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(i),1),e.__resizeListeners__.length||(e.removeEventListener("scroll",d),e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)))}}(jQuery);
assets/js/load-more.js CHANGED
@@ -1,15 +1,16 @@
1
  (function($) {
2
  'use strict';
3
 
4
- window.loadMore = function( options, settings ) {
5
 
6
  // Default Values for Load More Js
7
  var optionsValue = {
8
  totalPosts: options.totalPosts,
9
  loadMoreBtn: options.loadMoreBtn,
10
- postContainer: options.postContainer,
11
  postStyle: options.postStyle, // block, grid, timeline,
12
  }
 
13
  // Settings Values
14
  var settingsValue = {
15
  postType: settings.postType,
@@ -24,10 +25,15 @@
24
  metaPosition: settings.metaPosition,
25
  excerptLength: settings.excerptLength,
26
  btnText: settings.btnText,
 
27
  tax_query: settings.tax_query,
28
- excludePosts: settings.exclude_posts,
29
  post__in: settings.post__in,
 
30
  offset: parseInt( settings.offset , 10 ),
 
 
 
31
  }
32
 
33
  var offset = settingsValue.offset + settingsValue.perPage;
@@ -56,16 +62,18 @@
56
  post_type: settingsValue.postType,
57
  posts_per_page : settingsValue.perPage,
58
  offset : offset,
59
-
60
- tax_query: settingsValue.tax_query,
61
 
62
- post__in: settingsValue.post__in,
63
 
64
  post__not_in: settingsValue.excludePosts,
 
 
65
 
66
  orderby: settingsValue.orderBy,
67
  order: settingsValue.postOrder,
68
  grid_style: settingsValue.grid_style,
 
 
69
  },
70
  beforeSend: function() {
71
  // _this.html('<i class="fa fa-spinner fa-spin"></i>&nbsp;Saving Data..');
@@ -82,7 +90,7 @@
82
  columnWidth: '.eael-post-grid-column'
83
  });
84
  }, 100);
85
- } else if( optionsValue.postStyle === 'timeline' ) {
86
  optionsValue.postContainer.append( $content );
87
  }
88
  optionsValue.loadMoreBtn.removeClass( 'button--loading' );
@@ -100,5 +108,7 @@
100
  }
101
  } );
102
  } );
103
- }
 
 
104
  })(jQuery);
1
  (function($) {
2
  'use strict';
3
 
4
+ window.eaelLoadMore = function( options, settings ) {
5
 
6
  // Default Values for Load More Js
7
  var optionsValue = {
8
  totalPosts: options.totalPosts,
9
  loadMoreBtn: options.loadMoreBtn,
10
+ postContainer: $(options.postContainer),
11
  postStyle: options.postStyle, // block, grid, timeline,
12
  }
13
+
14
  // Settings Values
15
  var settingsValue = {
16
  postType: settings.postType,
25
  metaPosition: settings.metaPosition,
26
  excerptLength: settings.excerptLength,
27
  btnText: settings.btnText,
28
+
29
  tax_query: settings.tax_query,
30
+
31
  post__in: settings.post__in,
32
+ excludePosts: settings.exclude_posts,
33
  offset: parseInt( settings.offset , 10 ),
34
+ grid_style: settings.grid_style || '',
35
+ hover_animation: settings.hover_animation,
36
+ hover_icon: settings.hover_icon
37
  }
38
 
39
  var offset = settingsValue.offset + settingsValue.perPage;
62
  post_type: settingsValue.postType,
63
  posts_per_page : settingsValue.perPage,
64
  offset : offset,
 
 
65
 
66
+ tax_query: settingsValue.tax_query,
67
 
68
  post__not_in: settingsValue.excludePosts,
69
+
70
+ post__in: settingsValue.post__in,
71
 
72
  orderby: settingsValue.orderBy,
73
  order: settingsValue.postOrder,
74
  grid_style: settingsValue.grid_style,
75
+ eael_post_grid_hover_animation: settingsValue.hover_animation,
76
+ eael_post_grid_bg_hover_icon: settingsValue.hover_icon
77
  },
78
  beforeSend: function() {
79
  // _this.html('<i class="fa fa-spinner fa-spin"></i>&nbsp;Saving Data..');
90
  columnWidth: '.eael-post-grid-column'
91
  });
92
  }, 100);
93
+ } else {
94
  optionsValue.postContainer.append( $content );
95
  }
96
  optionsValue.loadMoreBtn.removeClass( 'button--loading' );
108
  }
109
  } );
110
  } );
111
+ }; // end of eaelLoadMore
112
+
113
+
114
  })(jQuery);
assets/js/loading-bar.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function t(e,i,r){function a(n,s){if(!i[n]){if(!e[n]){var h="function"==typeof require&&require;if(!s&&h)return h(n,!0);if(l)return l(n,!0);var d=new Error("Cannot find module '"+n+"'");throw d.code="MODULE_NOT_FOUND",d}var o=i[n]={exports:{}};e[n][0].call(o.exports,function(t){var i=e[n][1][t];return a(i||t)},o,o.exports,t,e,i,r)}return i[n].exports}for(var l="function"==typeof require&&require,n=0;n<r.length;n++)a(r[n]);return a}({1:[function(t,e,i){function r(t,e){var i={}.hasOwnProperty;for(var r in e)i.call(e,r)&&(t[r]=e[r]);return t}var a,l,n=[].slice,s={}.toString;a=t("presets").presets,l=function(t){return"data:image/svg+xml;base64,"+btoa(t)},function(){var t,e,i;t={head:function(t){return'<?xml version="1.0" encoding="utf-8"?>\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="'+t+'">'},gradient:function(t,e){var i,r,a,s,h,d,o,u,f,c;for(null==t&&(t=45),null==e&&(e=1),i=n.call(arguments,2),r=[this.head("0 0 100 100")],a=4*i.length+1,t=t*Math.PI/180,s=Math.pow(Math.cos(t),2),h=Math.sqrt(s-Math.pow(s,2)),t>.25*Math.PI&&(h=Math.pow(Math.sin(t),2),s=Math.sqrt(h-Math.pow(h,2))),d=100*s,o=100*h,r.push('<defs><linearGradient id="gradient" x1="0" x2="'+s+'" y1="0" y2="'+h+'">'),u=0;u<a;++u)c=100*(f=u)/(a-1),r.push('<stop offset="'+c+'%" stop-color="'+i[f%i.length]+'"/>');return r.push('</linearGradient></defs>\n<rect x="0" y="0" width="400" height="400" fill="url(#gradient)">\n<animateTransform attributeName="transform" type="translate" from="-'+d+",-"+o+'"\nto="0,0" dur="'+e+'s" repeatCount="indefinite"/></rect></svg>'),l(r.join(""))},stripe:function(t,e,i){var r,a;return null==t&&(t="#b4b4b4"),null==e&&(e="#e6e6e6"),null==i&&(i=1),r=[this.head("0 0 100 100")],r=r.concat(['<rect fill="'+e+'" width="100" height="100"/>',"<g><g>",function(){var e,i=[];for(e=0;e<13;++e)a=e,i.push('<polygon fill="'+t+'" points="'+(20*a-90)+",100 "+(20*a-100)+",100 "+(20*a-60)+",0 "+(20*a-50)+',0 "/>');return i}().join(""),'</g><animateTransform attributeName="transform" type="translate" ','from="0,0" to="20,0" dur="'+i+'s" repeatCount="indefinite"/></g></svg>'].join("")),l(r)},bubble:function(t,e,i,r,a,n){var s,h,d,o,u,f;for(null==t&&(t="#39d"),null==e&&(e="#9cf"),null==i&&(i=15),null==r&&(r=1),null==a&&(a=6),null==n&&(n=1),s=[this.head("0 0 200 200"),'<rect x="0" y="0" width="200" height="200" fill="'+t+'"/>'],h=0;h<i;++h)d=-h/i*r,o=184*Math.random()+8,u=(.7*Math.random()+.3)*a,f=r*(1+.5*Math.random()),s.push(['<circle cx="'+o+'" cy="0" r="'+u+'" fill="none" stroke="'+e+'" stroke-width="'+n+'">','<animate attributeName="cy" values="190;-10" times="0;1" ','dur="'+f+'s" begin="'+d+'s" repeatCount="indefinite"/>',"</circle>",'<circle cx="'+o+'" cy="0" r="'+u+'" fill="none" stroke="'+e+'" stroke-width="'+n+'">','<animate attributeName="cy" values="390;190" times="0;1" ','dur="'+f+'s" begin="'+d+'s" repeatCount="indefinite"/>',"</circle>"].join(""));return l(s.join("")+"</svg>")}},e={queue:{},running:!1,main:function(t){var e,i,r,a,l,n,s=this;e=!1,i=[];for(r in a=this.queue)(n=(l=a[r])(t))||i.push(l),e=e||n;for(r in a=this.queue)l=a[r],i.indexOf(l)>=0&&delete this.queue[r];return e?requestAnimationFrame(function(t){return s.main(t)}):this.running=!1},add:function(t,e){var i=this;if(this.queue[t]||(this.queue[t]=e),!this.running)return this.running=!0,requestAnimationFrame(function(t){return i.main(t)})}},window.ldBar=i=function(i,l){var n,h,d,o,u,f,c,g,p,w,m,k,b,x,v,y,M,q,A,B,C,S,_,L,N=this;if(null==l&&(l={}),n={xlink:"http://www.w3.org/1999/xlink"},(h="String"===s.call(i).slice(8,-1)?document.querySelector(i):i).ldBar)return h.ldBar;h.ldBar=this,~(d=h.getAttribute("class")||"").indexOf("ldBar")||h.setAttribute("class",d+" ldBar"),o="ldBar-"+Math.random().toString(16).substring(2),u={key:o,clip:o+"-clip",filter:o+"-filter",pattern:o+"-pattern",mask:o+"-mask",maskPath:o+"-mask-path"},f=function(t,e){var i,r;t=c(t);for(i in e)r=e[i],"attr"!==i&&t.appendChild(f(i,r||{}));return t.attrs(e.attr||{}),t},c=function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)},(g=document.body.__proto__.__proto__.__proto__).text=function(t){return this.appendChild(document.createTextNode(t))},g.attrs=function(t){var e,i,r,a=[];for(e in t)i=t[e],(r=/([^:]+):([^:]+)/.exec(e))&&n[r[1]]?a.push(this.setAttributeNS(n[r[1]],e,i)):a.push(this.setAttribute(e,i));return a},g.styles=function(t){var e,i,r=[];for(e in t)i=t[e],r.push(this.style[e]=i);return r},g.append=function(t){return this.appendChild(document.createElementNS("http://www.w3.og/2000/svg",t))},g.attr=function(t,e){return null!=e?this.setAttribute(t,e):this.getAttribute(t)},(p={type:"stroke",img:"",path:"M10 10L90 10","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"pattern-size":null,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,duration:1,easing:"linear",value:0,"img-size":null,bbox:null,"set-dim":!0,"aspect-ratio":"xMidYMid"}).preset=h.attr("data-preset")||l.preset,null!=p.preset&&r(p,a[p.preset]);for(w in p)(m=m=h.attr("data-"+w))&&(p[w]=m);return r(p,l),p.img&&(p.path=null),k="stroke"===p.type,b=function(e){var i,r;return i=/data:ldbar\/res,([^()]+)\(([^)]+)\)/,(r=i.exec(e))?r=t[r[1]].apply(t,r[2].split(",")):e},p.fill=b(p.fill),p.stroke=b(p.stroke),"false"===p["set-dim"]&&(p["set-dim"]=!1),x={attr:{"xmlns:xlink":"http://www.w3.org/1999/xlink",preserveAspectRatio:p["aspect-ratio"],width:"100%",height:"100%"},defs:{filter:{attr:{id:u.filter,x:-1,y:-1,width:3,height:3},feMorphology:{attr:{operator:+p["fill-background-extrude"]>=0?"dilate":"erode",radius:Math.abs(+p["fill-background-extrude"])}},feColorMatrix:{attr:{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",result:"cm"}}},mask:{attr:{id:u.mask},image:{attr:{"xlink:href":p.img,filter:"url(#"+u.filter+")",x:0,y:0,width:100,height:100,preserveAspectRatio:p["aspect-ratio"]}}},g:{mask:{attr:{id:u.maskPath},path:{attr:{d:p.path||"",fill:"#fff",stroke:"#fff",filter:"url(#"+u.filter+")"}}}},clipPath:{attr:{id:u.clip},rect:{attr:{class:"mask",fill:"#000"}}},pattern:{attr:{id:u.pattern,patternUnits:"userSpaceOnUse",x:0,y:0,width:300,height:300},image:{attr:{x:0,y:0,width:300,height:300}}}}},v=f("svg",x),(y=document.createElement("div")).setAttribute("class","ldBar-label"),h.appendChild(v),h.appendChild(y),M=[0,0],q=0,this.fit=function(){var t,e,i,r;if((t=p.bbox)?(e=t.split(" ").map(function(t){return+t.trim()}),e={x:e[0],y:e[1],width:e[2],height:e[3]}):e=M[1].getBBox(),e&&0!==e.width&&0!==e.height||(e={x:0,y:0,width:100,height:100}),i=1.5*Math.max.apply(null,["stroke-width","stroke-trail-width","fill-background-extrude"].map(function(t){return p[t]})),v.attrs({viewBox:[e.x-i,e.y-i,e.width+2*i,e.height+2*i].join(" ")}),p["set-dim"]&&["width","height"].map(function(t){if(!h.style[t]||N.fit[t])return h.style[t]=e[t]+2*i+"px",N.fit[t]=!0}),r=M[0].querySelector("rect"))return r.attrs({x:e.x-i,y:e.y-i,width:e.width+2*i,height:e.height+2*i})},p.path?(M[0]=k?f("g",{path:{attr:{d:p.path,fill:"none",class:"baseline"}}}):f("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+u.maskPath+")",fill:p["fill-background"],class:"frame"}}}),v.appendChild(M[0]),M[1]=f("g",{path:{attr:{d:p.path,class:k?"mainline":"solid","clip-path":"fill"===p.type?"url(#"+u.clip+")":""}}}),v.appendChild(M[1]),A=M[0].querySelector(k?"path":"rect"),B=M[1].querySelector("path"),k&&B.attrs({fill:"none"}),C=v.querySelector("pattern image"),(S=new Image).addEventListener("load",function(){var t,e;return t=(e=p["pattern-size"])?{width:+e,height:+e}:S.width&&S.height?{width:S.width,height:S.height}:{width:300,height:300},v.querySelector("pattern").attrs({width:t.width,height:t.height}),C.attrs({width:t.width,height:t.height})}),/.+\..+|^data:/.exec(k?p.stroke:p.fill)&&(S.src=k?p.stroke:p.fill,C.attrs({"xlink:href":S.src})),k&&(A.attrs({stroke:p["stroke-trail"],"stroke-width":p["stroke-trail-width"]}),B.attrs({"stroke-width":p["stroke-width"],stroke:/.+\..+|^data:/.exec(p.stroke)?"url(#"+u.pattern+")":p.stroke})),p.fill&&!k&&B.attrs({fill:/.+\..+|^data:/.exec(p.fill)?"url(#"+u.pattern+")":p.fill}),q=B.getTotalLength(),this.fit(),this.inited=!0):p.img&&(L=p["img-size"]?{width:+(_=p["img-size"].split(","))[0],height:+_[1]}:{width:100,height:100},M[0]=f("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+u.mask+")",fill:p["fill-background"]}}}),v.querySelector("mask image").attrs({width:L.width,height:L.height}),M[1]=f("g",{image:{attr:{width:L.width,height:L.height,x:0,y:0,preserveAspectRatio:p["aspect-ratio"],"clip-path":"fill"===p.type?"url(#"+u.clip+")":"","xlink:href":p.img,class:"solid"}}}),(S=new Image).addEventListener("load",function(){var t,e;return e=p["img-size"]?{width:+(t=p["img-size"].split(","))[0],height:+t[1]}:S.width&&S.height?{width:S.width,height:S.height}:{width:100,height:100},v.querySelector("mask image").attrs({width:e.width,height:e.height}),M[1].querySelector("image").attrs({width:e.width,height:e.height}),N.fit(),N.set(void 0,!1),N.inited=!0}),S.src=p.img,v.appendChild(M[0]),v.appendChild(M[1])),v.attrs({width:"100%",height:"100%"}),this.transition={value:{src:0,des:0},time:{},ease:function(t,e,i,r){return(t/=.5*r)<1?.5*i*t*t+e:(t-=1,.5*-i*(t*(t-2)-1)+e)},handler:function(t,e){var i,r,a,l,n,s,h,d,o;return null==e&&(e=!0),null==this.time.src&&(this.time.src=t),i=[this.value.des-this.value.src,.001*(t-this.time.src),+p.duration||1],r=i[0],a=i[1],l=i[2],y.textContent=n=e?Math.round(this.ease(a,this.value.src,r,l)):this.value.des,k?(s=B,h={"stroke-dasharray":"reverse"===p["stroke-dir"]?"0 "+q*(100-n)*.01+" "+q*n*.01+" 0":.01*n*q+" "+(.01*(100-n)*q+1)}):(d=M[1].getBBox(),h="btt"!==(o=p["fill-dir"])&&o?"ttb"===o?{y:d.y,height:d.height*n*.01,x:d.x,width:d.width}:"ltr"===o?{y:d.y,height:d.height,x:d.x,width:d.width*n*.01}:"rtl"===o?{y:d.y,height:d.height,x:d.x+d.width*(100-n)*.01,width:d.width*n*.01}:void 0:{y:d.y+d.height*(100-n)*.01,height:d.height*n*.01,x:d.x,width:d.width},s=v.querySelector("rect")),s.attrs(h),!(a>=l)||(delete this.time.src,!1)},start:function(t,i,r){var a,l=this;return a=this.value,a.src=t,a.des=i,h.offsetWidth||h.offsetHeight||h.getClientRects().length,r&&(h.offsetWidth||h.offsetHeight||h.getClientRects().length)?e.add(u.key,function(t){return l.handler(t)}):(this.time.src=0,void this.handler(1e3,!1))}},this.set=function(t,e){var i,r;return null==e&&(e=!0),i=this.value||0,null!=t?this.value=t:t=this.value,r=this.value,this.transition.start(i,r,e)},this.set(+p.value||0,!1),this},window.addEventListener("load",function(){var t,e,r,a,l=[];for(t=0,r=(e=document.querySelectorAll(".ldBar")).length;t<r;++t)(a=e[t]).ldBar||l.push(a.ldBar=new i(a));return l},!1)}()},{presets:2}],2:[function(t,e,i){(void 0!==i&&i||this).presets={rainbow:{type:"stroke",path:"M10 10L90 10",stroke:"data:ldbar/res,gradient(0,1,#a551df,#fd51ad,#ff7f82,#ffb874,#ffeb90)",bbox:"10 10 80 10"},energy:{type:"fill",path:"M15 5L85 5A5 5 0 0 1 85 15L15 15A5 5 0 0 1 15 5",stroke:"#f00",fill:"data:ldbar/res,gradient(45,2,#4e9,#8fb,#4e9)","fill-dir":"ltr","fill-background":"#444","fill-background-extrude":1,bbox:"10 5 80 10"},stripe:{type:"fill",path:"M15 5L85 5A5 5 0 0 1 85 15L15 15A5 5 0 0 1 15 5",stroke:"#f00",fill:"data:ldbar/res,stripe(#25b,#58e,1)","fill-dir":"ltr","fill-background":"#ddd","fill-background-extrude":1,bbox:"10 5 80 10"},text:{type:"fill",img:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20" viewBox="0 0 70 20"><text x="35" y="10" text-anchor="middle" dominant-baseline="central" font-family="arial">LOADING</text></svg>',"fill-background-extrude":1.3,"pattern-size":100,"fill-dir":"ltr","img-size":"70,20",bbox:"0 0 70 20"},line:{type:"stroke",path:"M10 10L90 10",stroke:"#25b","stroke-width":3,"stroke-trail":"#ddd","stroke-trail-width":1,bbox:"10 10 80 10"},fan:{type:"stroke",path:"M10 90A40 40 0 0 1 90 90","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 50 80 40"},circle:{type:"stroke",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"},bubble:{type:"fill",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"data:ldbar/res,bubble(#39d,#cef)","pattern-size":"150","fill-background":"#ddd","fill-background-extrude":2,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"}}},{}]},{},[1]);
elements/advance-accordion/advance-accordion.php CHANGED
File without changes
elements/filterable-gallery/filterable-gallery.php CHANGED
@@ -17,13 +17,16 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
17
  return 'eicon-gallery-grid';
18
  }
19
 
20
- public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
 
24
  public function get_script_depends() {
25
  return [
26
- 'eael-scripts'
 
 
 
27
  ];
28
  }
29
 
@@ -34,16 +37,17 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
34
  $this->start_controls_section(
35
  'eael_section_fg_settings',
36
  [
37
- 'label' => esc_html__( 'Filterable Gallery Settings', 'essential-addons-elementor' )
38
  ]
39
  );
40
-
41
  $this->add_control(
42
- 'eael_fg_all_label_text',
43
  [
44
- 'label' => esc_html__( 'Gallery All Label', 'essential-addons-elementor' ),
45
- 'type' => Controls_Manager::TEXT,
46
- 'default' => 'All',
 
47
  ]
48
  );
49
 
@@ -57,46 +61,64 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
57
  ]
58
  );
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  $this->add_control(
61
- 'eael_fg_filter_animation_style',
62
  [
63
- 'label' => esc_html__( 'Animation Style', 'essential-addons-elementor' ),
64
  'type' => Controls_Manager::SELECT,
65
- 'default' => 'default',
66
  'options' => [
67
- 'default' => esc_html__( 'Default', 'essential-addons-elementor' ),
68
- 'effect-in' => esc_html__( 'Fade In', 'essential-addons-elementor' ),
69
- 'effect-out' => esc_html__( 'Fade Out', 'essential-addons-elementor' ),
70
  ],
71
  ]
72
  );
73
 
74
- $this->add_control(
75
- 'eael_fg_columns',
76
  [
77
- 'label' => esc_html__( 'Number of Columns', 'essential-addons-elementor' ),
78
- 'type' => Controls_Manager::SELECT,
79
- 'default' => 'eael-col-3',
80
- 'options' => [
81
- 'eael-col-1' => esc_html__( 'Single Column', 'essential-addons-elementor' ),
82
- 'eael-col-2' => esc_html__( 'Two Columns', 'essential-addons-elementor' ),
83
- 'eael-col-3' => esc_html__( 'Three Columns', 'essential-addons-elementor' ),
84
- 'eael-col-4' => esc_html__( 'Four Columns', 'essential-addons-elementor' ),
85
- 'eael-col-5' => esc_html__( 'Five Columns', 'essential-addons-elementor' ),
86
  ],
 
 
 
87
  ]
88
  );
89
 
90
  $this->add_control(
91
- 'eael_fg_grid_style',
92
  [
93
- 'label' => esc_html__( 'Grid Style', 'essential-addons-elementor' ),
94
  'type' => Controls_Manager::SELECT,
95
- 'default' => 'eael-hoverer',
96
  'options' => [
97
- 'eael-hoverer' => esc_html__( 'Hoverer', 'essential-addons-elementor' ),
98
- 'eael-tiles' => esc_html__( 'Tiles', 'essential-addons-elementor' ),
99
- 'eael-cards' => esc_html__( 'Cards', 'essential-addons-elementor' ),
100
  ],
101
  ]
102
  );
@@ -104,15 +126,53 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
104
  $this->add_control(
105
  'eael_fg_grid_hover_style',
106
  [
107
- 'label' => esc_html__( 'Hover Style', 'essential-addons-elementor' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  'type' => Controls_Manager::SELECT,
109
- 'default' => 'eael-zoom-in',
110
  'options' => [
111
- 'eael-zoom-in' => esc_html__( 'Zoom In', 'essential-addons-elementor' ),
112
- 'eael-slide-left' => esc_html__( 'Slide In Left', 'essential-addons-elementor' ),
113
- 'eael-slide-right' => esc_html__( 'Slide In Right', 'essential-addons-elementor' ),
114
- 'eael-slide-top' => esc_html__( 'Slide In Top', 'essential-addons-elementor' ),
115
- 'eael-slide-bottom' => esc_html__( 'Slide In Bottom', 'essential-addons-elementor' ),
116
  ],
117
  ]
118
  );
@@ -120,18 +180,24 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
120
  $this->add_control(
121
  'eael_section_fg_zoom_icon',
122
  [
123
- 'label' => esc_html__( 'Zoom Icon', 'essential-addons-elementor' ),
124
- 'type' => Controls_Manager::ICON,
125
- 'default' => 'fa fa-search-plus',
 
 
 
126
  ]
127
  );
128
 
129
  $this->add_control(
130
  'eael_section_fg_link_icon',
131
  [
132
- 'label' => esc_html__( 'Link Icon', 'essential-addons-elementor' ),
133
- 'type' => Controls_Manager::ICON,
134
- 'default' => 'fa fa-link',
 
 
 
135
  ]
136
  );
137
 
@@ -143,9 +209,30 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
143
  $this->start_controls_section(
144
  'eael_section_fg_control_settings',
145
  [
146
- 'label' => esc_html__( 'Gallery Control Settings', 'essential-addons-elementor' )
147
  ]
148
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
 
150
  $this->add_control(
151
  'eael_fg_controls',
@@ -153,7 +240,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
153
  'type' => Controls_Manager::REPEATER,
154
  'seperator' => 'before',
155
  'default' => [
156
- [ 'eael_fg_control' => 'Item' ],
157
  ],
158
  'fields' => [
159
  [
@@ -161,7 +248,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
161
  'label' => esc_html__( 'List Item', 'essential-addons-elementor' ),
162
  'type' => Controls_Manager::TEXT,
163
  'label_block' => true,
164
- 'default' => esc_html__( 'Item', 'essential-addons-elementor' )
165
  ],
166
  ],
167
  'title_field' => '{{eael_fg_control}}',
@@ -176,7 +263,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
176
  $this->start_controls_section(
177
  'eael_section_fg_grid_settings',
178
  [
179
- 'label' => esc_html__( 'Gallery Item Settings', 'essential-addons-elementor' )
180
  ]
181
  );
182
 
@@ -194,12 +281,39 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
194
  [ 'eael_fg_gallery_item_name' => 'Gallery Item Name' ],
195
  ],
196
  'fields' => [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  [
198
  'name' => 'eael_fg_gallery_item_name',
199
  'label' => esc_html__( 'Item Name', 'essential-addons-elementor' ),
200
  'type' => Controls_Manager::TEXT,
201
  'label_block' => true,
202
- 'default' => esc_html__( 'Gallery item name', 'essential-addons-elementor' )
203
  ],
204
  [
205
  'name' => 'eael_fg_gallery_item_content',
@@ -208,13 +322,6 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
208
  'label_block' => true,
209
  'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem, provident.', 'essential-addons-elementor' ),
210
  ],
211
- [
212
- 'name' => 'eael_fg_gallery_control_name',
213
- 'label' => esc_html__( 'Control Name', 'essential-addons-elementor' ),
214
- 'type' => Controls_Manager::TEXT,
215
- 'label_block' => true,
216
- 'description' => esc_html__( 'User the gallery control name form Control Settings. use the exact name that matches with its associate name.', 'essential-addons-elementor' )
217
- ],
218
  [
219
  'name' => 'eael_fg_gallery_img',
220
  'label' => esc_html__( 'Image', 'essential-addons-elementor' ),
@@ -224,14 +331,40 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
224
  ],
225
  ],
226
  [
227
- 'name' => 'eael_fg_gallery_link',
228
- 'label' => __( 'Gallery Link?', 'essential-addons-elementor' ),
229
- 'type' => Controls_Manager::SWITCHER,
230
- 'default' => 'true',
231
- 'label_on' => esc_html__( 'Yes', 'essential-addons-elementor' ),
232
- 'label_off' => esc_html__( 'No', 'essential-addons-elementor' ),
 
 
 
 
 
 
 
 
 
 
 
233
  'return_value' => 'true',
 
 
 
234
  ],
 
 
 
 
 
 
 
 
 
 
 
 
235
  [
236
  'name' => 'eael_fg_gallery_img_link',
237
  'type' => Controls_Manager::URL,
@@ -242,54 +375,176 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
242
  ],
243
  'show_external' => true,
244
  'condition' => [
 
245
  'eael_fg_gallery_link' => 'true'
246
  ]
247
- ]
248
  ],
249
  'title_field' => '{{eael_fg_gallery_item_name}}',
250
  ]
251
  );
252
 
253
- $this->end_controls_section();
 
 
 
 
 
 
 
 
 
 
254
 
255
- /**
256
- * Filter Gallery Grid Settings
257
- */
258
- $this->start_controls_section(
259
- 'eael_section_fg_popup_settings',
260
- [
261
- 'label' => esc_html__( 'Popup Settings', 'essential-addons-elementor' )
262
- ]
263
- );
 
 
 
 
 
 
 
 
 
 
 
 
264
 
265
- $this->add_control(
266
- 'eael_fg_show_popup',
267
- [
268
- 'label' => __( 'Show Popup', 'essential-addons-elementor' ),
269
- 'type' => Controls_Manager::SWITCHER,
270
- 'default' => 'true',
271
- 'label_on' => esc_html__( 'Yes', 'essential-addons-elementor' ),
272
- 'label_off' => esc_html__( 'No', 'essential-addons-elementor' ),
273
- 'return_value' => 'true',
274
- ]
275
  );
276
 
277
  $this->add_control(
278
- 'eael_fg_show_popup_gallery',
279
- [
280
- 'label' => __( 'Show Popup Gallery', 'essential-addons-elementor' ),
281
- 'type' => Controls_Manager::SWITCHER,
282
- 'default' => 'true',
283
- 'label_on' => esc_html__( 'Yes', 'essential-addons-elementor' ),
284
- 'label_off' => esc_html__( 'No', 'essential-addons-elementor' ),
285
- 'return_value' => 'true',
286
- 'condition' => [
287
- 'eael_fg_show_popup' => 'true'
288
  ]
289
- ]
290
  );
291
 
292
- $this->end_controls_section();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
293
 
294
  /**
295
  * -------------------------------------------
@@ -363,7 +618,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
363
  ],
364
  ],
365
  'selectors' => [
366
- '{{WRAPPER}} .eael-filter-gallery-wrapper' => 'border-radius: {{SIZE}}px;',
367
  ],
368
  ]
369
  );
@@ -397,7 +652,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
397
  'type' => Controls_Manager::DIMENSIONS,
398
  'size_units' => [ 'px', 'em', '%' ],
399
  'selectors' => [
400
- '{{WRAPPER}} .eael-filter-gallery-control ul li a.control' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
401
  ],
402
  ]
403
  );
@@ -409,7 +664,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
409
  'type' => Controls_Manager::DIMENSIONS,
410
  'size_units' => [ 'px', 'em', '%' ],
411
  'selectors' => [
412
- '{{WRAPPER}} .eael-filter-gallery-control ul li a.control' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
413
  ],
414
  ]
415
  );
@@ -417,7 +672,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
417
  Group_Control_Typography::get_type(),
418
  [
419
  'name' => 'eael_fg_control_typography',
420
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul li a.control',
421
  ]
422
  );
423
  // Tabs
@@ -433,7 +688,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
433
  'type' => Controls_Manager::COLOR,
434
  'default' => '#444',
435
  'selectors' => [
436
- '{{WRAPPER}} .eael-filter-gallery-control ul li a.control' => 'color: {{VALUE}};',
437
  ],
438
  ]
439
  );
@@ -445,7 +700,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
445
  'type' => Controls_Manager::COLOR,
446
  'default' => '',
447
  'selectors' => [
448
- '{{WRAPPER}} .eael-filter-gallery-control ul li a.control' => 'background: {{VALUE}};',
449
  ],
450
  ]
451
  );
@@ -455,7 +710,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
455
  [
456
  'name' => 'eael_fg_control_normal_border',
457
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
458
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul li > a.control',
459
  ]
460
  );
461
 
@@ -465,15 +720,15 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
465
  'label' => esc_html__( 'Border Radius', 'essential-addons-elementor' ),
466
  'type' => Controls_Manager::SLIDER,
467
  'default' => [
468
- 'size' => 20
469
  ],
470
  'range' => [
471
  'px' => [
472
- 'max' => 30,
473
  ],
474
  ],
475
  'selectors' => [
476
- '{{WRAPPER}} .eael-filter-gallery-control ul li a.control' => 'border-radius: {{SIZE}}px;',
477
  ],
478
  ]
479
  );
@@ -482,7 +737,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
482
  Group_Control_Box_Shadow::get_type(),
483
  [
484
  'name' => 'eael_fg_control_shadow',
485
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul li a.control',
486
  'separator' => 'before'
487
  ]
488
  );
@@ -499,7 +754,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
499
  'type' => Controls_Manager::COLOR,
500
  'default' => '#fff',
501
  'selectors' => [
502
- '{{WRAPPER}} .eael-filter-gallery-control ul li a.control.mixitup-control-active' => 'color: {{VALUE}};',
503
  ],
504
  ]
505
  );
@@ -509,9 +764,9 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
509
  [
510
  'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ),
511
  'type' => Controls_Manager::COLOR,
512
- 'default' => '#3F51B5',
513
  'selectors' => [
514
- '{{WRAPPER}} .eael-filter-gallery-control ul li a.control.mixitup-control-active' => 'background: {{VALUE}};',
515
  ],
516
  ]
517
  );
@@ -521,7 +776,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
521
  [
522
  'name' => 'eael_fg_control_active_border',
523
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
524
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul li > a.control.mixitup-control-active',
525
  ]
526
  );
527
 
@@ -531,15 +786,15 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
531
  'label' => esc_html__( 'Border Radius', 'essential-addons-elementor' ),
532
  'type' => Controls_Manager::SLIDER,
533
  'default' => [
534
- 'size' => 20
535
  ],
536
  'range' => [
537
  'px' => [
538
- 'max' => 30,
539
  ],
540
  ],
541
  'selectors' => [
542
- '{{WRAPPER}} .eael-filter-gallery-control ul li a.control.mixitup-control-active' => 'border-radius: {{SIZE}}px;',
543
  ],
544
  ]
545
  );
@@ -548,7 +803,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
548
  Group_Control_Box_Shadow::get_type(),
549
  [
550
  'name' => 'eael_fg_control_active_shadow',
551
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul li a.control.mixitup-control-active',
552
  'separator' => 'before'
553
  ]
554
  );
@@ -558,11 +813,6 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
558
  $this->end_controls_tabs();
559
 
560
 
561
-
562
- $this->end_controls_section();
563
-
564
-
565
-
566
  $this->end_controls_section();
567
 
568
  /**
@@ -585,7 +835,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
585
  'type' => Controls_Manager::DIMENSIONS,
586
  'size_units' => [ 'px', 'em', '%' ],
587
  'selectors' => [
588
- '{{WRAPPER}} .eael-filter-gallery-container .item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
589
  ],
590
  ]
591
  );
@@ -597,7 +847,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
597
  'type' => Controls_Manager::DIMENSIONS,
598
  'size_units' => [ 'px', 'em', '%' ],
599
  'selectors' => [
600
- '{{WRAPPER}} .eael-filter-gallery-container .item' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
601
  ],
602
  ]
603
  );
@@ -607,7 +857,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
607
  [
608
  'name' => 'eael_fg_item_border',
609
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
610
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-container .item',
611
  ]
612
  );
613
 
@@ -625,7 +875,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
625
  ],
626
  ],
627
  'selectors' => [
628
- '{{WRAPPER}} .eael-filter-gallery-container .item' => 'border-radius: {{SIZE}}px;',
629
  ],
630
  ]
631
  );
@@ -634,21 +884,25 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
634
  Group_Control_Box_Shadow::get_type(),
635
  [
636
  'name' => 'eael_fg_item_shadow',
637
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-container .item',
638
  ]
639
  );
640
 
641
  $this->end_controls_section();
 
642
  /**
643
  * -------------------------------------------
644
- * Tab Style (Filterable Gallery Item Caption Style)
645
  * -------------------------------------------
646
  */
647
  $this->start_controls_section(
648
  'eael_section_fg_item_cap_style_settings',
649
  [
650
- 'label' => esc_html__( 'Item Caption Style', 'essential-addons-elementor' ),
651
- 'tab' => Controls_Manager::TAB_STYLE
 
 
 
652
  ]
653
  );
654
 
@@ -659,7 +913,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
659
  'type' => Controls_Manager::COLOR,
660
  'default' => 'rgba(0,0,0,0.7)',
661
  'selectors' => [
662
- '{{WRAPPER}} .eael-filter-gallery-container .item .caption' => 'background-color: {{VALUE}};',
663
  ],
664
  ]
665
  );
@@ -671,137 +925,302 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
671
  'type' => Controls_Manager::DIMENSIONS,
672
  'size_units' => [ 'px', 'em', '%' ],
673
  'selectors' => [
674
- '{{WRAPPER}} .eael-filter-gallery-container .item .caption' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
675
  ],
676
  ]
677
  );
678
 
679
- $this->add_group_control(
680
- Group_Control_Border::get_type(),
681
- [
682
- 'name' => 'eael_fg_item_cap_border',
683
- 'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
684
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-container .item .caption',
685
- ]
686
- );
687
-
688
- $this->add_group_control(
689
- Group_Control_Box_Shadow::get_type(),
690
- [
691
- 'name' => 'eael_fg_item_cap_shadow',
692
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-container .item .caption',
693
- ]
694
- );
695
-
696
  $this->add_control(
697
- 'eael_fg_item_caption_hover_icon',
698
  [
699
- 'label' => esc_html__( 'Hover Icon', 'essential-addons-elementor' ),
700
  'type' => Controls_Manager::HEADING,
701
  'separator' => 'before'
702
  ]
703
  );
704
 
705
  $this->add_control(
706
- 'eael_fg_item_icon_bg_color',
707
  [
708
- 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ),
709
  'type' => Controls_Manager::COLOR,
710
- 'default' => '#ff622a',
711
  'selectors' => [
712
- '{{WRAPPER}} .eael-filter-gallery-container .item .caption a' => 'background: {{VALUE}};',
713
  ],
714
  ]
715
  );
716
 
717
  $this->add_control(
718
- 'eael_fg_item_icon_color',
719
  [
720
- 'label' => esc_html__( 'Color', 'essential-addons-elementor' ),
721
  'type' => Controls_Manager::COLOR,
722
- 'default' => '#fff',
723
  'selectors' => [
724
- '{{WRAPPER}} .eael-filter-gallery-container .item .caption a' => 'color: {{VALUE}};',
725
  ],
726
  ]
727
  );
728
 
729
- $this->end_controls_section();
 
 
 
 
 
 
730
 
731
- /**
732
- * -------------------------------------------
733
- * Tab Style (Filterable Gallery Item Content Style)
734
- * -------------------------------------------
735
- */
736
- $this->start_controls_section(
737
- 'eael_section_fg_item_content_style_settings',
738
  [
739
- 'label' => esc_html__( 'Item Content Style', 'essential-addons-elementor' ),
740
- 'tab' => Controls_Manager::TAB_STYLE,
741
- 'condition' => [
742
- 'eael_fg_grid_style' => 'eael-cards'
743
- ]
744
  ]
745
  );
746
 
747
  $this->add_control(
748
- 'eael_fg_item_content_bg_color',
749
  [
750
- 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ),
751
  'type' => Controls_Manager::COLOR,
752
- 'default' => '#f9f9f9',
753
  'selectors' => [
754
- '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content' => 'background-color: {{VALUE}};',
755
  ],
756
  ]
757
  );
758
 
759
- $this->add_responsive_control(
760
- 'eael_fg_item_content_container_padding',
761
  [
762
- 'label' => esc_html__( 'Padding', 'essential-addons-elementor' ),
763
- 'type' => Controls_Manager::DIMENSIONS,
764
- 'size_units' => [ 'px', 'em', '%' ],
765
- 'selectors' => [
766
- '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
767
- ],
768
  ]
769
  );
770
 
771
  $this->add_group_control(
772
  Group_Control_Border::get_type(),
773
  [
774
- 'name' => 'eael_fg_item_content_border',
775
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
776
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content',
777
  ]
778
  );
779
 
780
  $this->add_group_control(
781
  Group_Control_Box_Shadow::get_type(),
782
  [
783
- 'name' => 'eael_fg_item_content_shadow',
784
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content',
785
  ]
786
  );
787
 
788
- $this->add_control(
789
- 'eael_fg_item_content_title_typography_settings',
790
  [
791
- 'label' => esc_html__( 'Title Typography', 'essential-addons-elementor' ),
792
- 'type' => Controls_Manager::HEADING,
793
- 'separator' => 'before'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
794
  ]
795
  );
796
 
797
- $this->add_control(
798
- 'eael_fg_item_content_title_color',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
799
  [
800
  'label' => esc_html__( 'Color', 'essential-addons-elementor' ),
801
  'type' => Controls_Manager::COLOR,
802
- 'default' => '#303133',
803
  'selectors' => [
804
- '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content .title a' => 'color: {{VALUE}};',
805
  ],
806
  ]
807
  );
@@ -811,9 +1230,9 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
811
  [
812
  'label' => esc_html__( 'Hover Color', 'essential-addons-elementor' ),
813
  'type' => Controls_Manager::COLOR,
814
- 'default' => '#23527c',
815
  'selectors' => [
816
- '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content .title a:hover' => 'color: {{VALUE}};',
817
  ],
818
  ]
819
  );
@@ -822,7 +1241,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
822
  Group_Control_Typography::get_type(),
823
  [
824
  'name' => 'eael_fg_item_content_title_typography',
825
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content .title a',
826
  ]
827
  );
828
 
@@ -842,7 +1261,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
842
  'type' => Controls_Manager::COLOR,
843
  'default' => '#444',
844
  'selectors' => [
845
- '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content p' => 'color: {{VALUE}};',
846
  ],
847
  ]
848
  );
@@ -851,7 +1270,7 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
851
  Group_Control_Typography::get_type(),
852
  [
853
  'name' => 'eael_fg_item_content_text_typography',
854
- 'selector' => '{{WRAPPER}} .eael-filter-gallery-container.eael-cards .item-content p',
855
  ]
856
  );
857
 
@@ -877,128 +1296,708 @@ class Widget_Eael_Filterable_Gallery extends Widget_Base {
877
  ],
878
  ],
879
  'default' => 'left',
880
- 'prefix_class' => 'eael-fg-content-align-',
881
  ]
882
  );
883
 
884
  $this->end_controls_section();
 
885
 
 
 
 
 
 
886
  $this->start_controls_section(
887
- 'eael_section_pro',
888
  [
889
- 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
 
890
  ]
891
  );
892
 
893
- $this->add_control(
894
- 'eael_control_get_pro',
895
- [
896
- 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ),
897
- 'type' => Controls_Manager::CHOOSE,
898
- 'options' => [
899
- '1' => [
900
- 'title' => __( '', 'essential-addons-elementor' ),
901
- 'icon' => 'fa fa-unlock-alt',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
902
  ],
 
 
 
903
  ],
904
- 'default' => '1',
905
- 'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
906
- ]
907
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
908
 
909
- $this->end_controls_section();
910
  }
911
 
912
  public function sorter_class( $string ) {
913
  $sorter_class = strtolower( $string );
914
- $sorter_class = preg_replace( '/[^a-z0-9_\s-]/', "", $sorter_class );
915
- $sorter_class = preg_replace("/[\s-]+/", " ", $sorter_class);
916
- $sorter_class = preg_replace("/[\s_]/", "-", $sorter_class);
917
-
918
  return $sorter_class;
919
  }
920
 
921
- protected function render( ) {
 
 
922
 
923
- $settings = $this->get_settings();
 
 
 
 
 
 
 
 
 
 
 
 
 
924
 
925
- if( $settings['eael_fg_filter_animation_style'] == 'default' ) {
926
- $fg_animation = 'fade translateZ(-100px)';
927
- }elseif( $settings['eael_fg_filter_animation_style'] == 'effect-in' ) {
928
- $fg_animation = 'fade translateY(-100%)';
929
- }elseif( $settings['eael_fg_filter_animation_style'] == 'effect-out' ) {
930
- $fg_animation = 'fade translateY(-100%)';
931
- }
932
 
933
- ?>
934
- <div id="eael-filter-gallery-wrapper-<?php echo esc_attr( $this->get_id() ); ?>" class="eael-filter-gallery-wrapper" data-grid-style="<?php echo $settings['eael_fg_grid_style']; ?>" data-duration="<?php if( !empty( $settings['eael_fg_filter_duration'] ) ) : echo $settings['eael_fg_filter_duration']; else: echo '500'; endif; ?>" data-effects="<?php echo $fg_animation; ?>" data-popup="<?php echo $settings['eael_fg_show_popup']; ?>" data-gallery-enabled="<?php if( 'true' == $settings['eael_fg_show_popup_gallery'] ) : echo 'true'; else: echo 'false'; endif; ?>">
935
- <div class="eael-filter-gallery-control">
936
- <ul>
937
- <li><a href="javascript:;" class="control" data-filter="all"><?php echo ( isset($settings['eael_fg_all_label_text']) && ! empty($settings['eael_fg_all_label_text']) ? esc_attr($settings['eael_fg_all_label_text']) : 'All'); ?></a></li>
938
- <?php foreach( $settings['eael_fg_controls'] as $control ) : ?>
939
- <?php $sorter_filter = $this->sorter_class( $control['eael_fg_control'] ); ?>
940
- <li><a href="javascript:;" class="control" data-filter=".<?php echo esc_attr( $sorter_filter ); ?>-<?php echo esc_attr( $this->get_id() ); ?>"><?php echo $control['eael_fg_control']; ?></a></li>
941
- <?php endforeach; ?>
942
- </ul>
943
- </div>
944
- <?php if( $settings['eael_fg_grid_style'] == 'eael-hoverer' || $settings['eael_fg_grid_style'] == 'eael-tiles' ) : ?>
945
- <div class="eael-filter-gallery-container <?php echo esc_attr( $settings['eael_fg_grid_style'] ); ?> <?php echo esc_attr( $settings['eael_fg_columns'] ); ?>" data-ref="mixitup-container-<?php echo esc_attr( $this->get_id() ); ?>">
946
- <?php foreach( $settings['eael_fg_gallery_items'] as $gallery ) : ?>
947
- <?php $sorter_class = $this->sorter_class( $gallery['eael_fg_gallery_control_name'] ); ?>
948
- <div class="item <?php echo esc_attr( $sorter_class ) ?>-<?php echo esc_attr( $this->get_id() ); ?>" data-ref="mixitup-target-<?php echo esc_attr( $this->get_id() ); ?>" data-item-bg="<?php echo esc_attr( $gallery['eael_fg_gallery_img']['url'] ); ?>">
949
- <div class="caption <?php echo esc_attr( $settings['eael_fg_grid_hover_style'] ); ?> ">
950
- <?php if( 'true' == $settings['eael_fg_show_popup'] ) : ?>
951
- <a href="<?php echo esc_attr( $gallery['eael_fg_gallery_img']['url'] ); ?>" class="eael-magnific-link"><i class="<?php echo esc_attr( $settings['eael_section_fg_zoom_icon'] ); ?>"></i></a>
952
- <?php endif; ?>
953
- <?php if( 'true' == $gallery['eael_fg_gallery_link'] ) :
954
- $eael_gallery_link = $gallery['eael_fg_gallery_img_link']['url'];
955
- $target = $gallery['eael_fg_gallery_img_link']['is_external'] ? 'target="_blank"' : '';
956
- $nofollow = $gallery['eael_fg_gallery_img_link']['nofollow'] ? 'rel="nofollow"' : '';
957
- ?>
958
- <a href="<?php echo esc_url( $eael_gallery_link ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> ><i class="<?php echo esc_attr( $settings['eael_section_fg_link_icon'] ); ?>"></i></a>
959
- <?php endif; ?>
960
- </div>
961
- </div>
962
- <?php endforeach; ?>
963
- </div>
964
- <?php elseif( $settings['eael_fg_grid_style'] == 'eael-cards' ) : ?>
965
- <div class="eael-filter-gallery-container <?php echo esc_attr( $settings['eael_fg_grid_style'] ); ?> <?php echo esc_attr( $settings['eael_fg_columns'] ); ?>" data-ref="mixitup-container-<?php echo esc_attr( $this->get_id() ); ?>">
966
- <?php foreach( $settings['eael_fg_gallery_items'] as $gallery ) : ?>
967
- <?php $sorter_class = $this->sorter_class( $gallery['eael_fg_gallery_control_name'] ); ?>
968
- <div class="item <?php echo esc_attr( $sorter_class ) ?>-<?php echo esc_attr( $this->get_id() ); ?>" data-ref="mixitup-target-<?php echo esc_attr( $this->get_id() ); ?>">
969
- <div class="item-img" style="background-image:url('<?php echo esc_attr( $gallery['eael_fg_gallery_img']['url'] ); ?>')">
970
- <div class="caption <?php echo esc_attr( $settings['eael_fg_grid_hover_style'] ); ?> ">
971
- <?php if( 'true' == $settings['eael_fg_show_popup'] ) : ?>
972
- <a href="<?php echo esc_url( $gallery['eael_fg_gallery_img']['url'] ); ?>" class="eael-magnific-link"><i class="<?php echo esc_attr( $settings['eael_section_fg_zoom_icon'] ); ?>"></i></a>
973
- <?php endif; ?>
974
- <?php if( 'true' == $gallery['eael_fg_gallery_link'] ) :
975
- $eael_gallery_link = $gallery['eael_fg_gallery_img_link']['url'];
976
- $target = $gallery['eael_fg_gallery_img_link']['is_external'] ? 'target="_blank"' : '';
977
- $nofollow = $gallery['eael_fg_gallery_img_link']['nofollow'] ? 'rel="nofollow"' : '';
978
- ?>
979
- <a href="<?php echo esc_url( $eael_gallery_link ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> ><i class="<?php echo esc_attr( $settings['eael_section_fg_link_icon'] ); ?>"></i></a>
980
- <?php endif; ?>
981
- </div>
982
- </div>
983
- <div class="item-content">
984
- <h2 class="title"><a href="<?php echo esc_url( $gallery['eael_fg_gallery_img_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?>><?php esc_html_e( $gallery['eael_fg_gallery_item_name'], 'essential-addons-elementor' ); ?></a></h2>
985
- <p><?php echo $gallery['eael_fg_gallery_item_content']; ?></p>
986
- </div>
987
- </div>
988
- <?php endforeach; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
989
  </div>
990
- <?php endif; ?>
991
- </div>
992
- <?php
 
 
993
  }
994
 
995
- protected function content_template() {
 
996
 
997
- ?>
 
 
 
 
998
 
 
 
 
 
 
 
 
 
 
999
 
1000
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1001
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1002
  }
1003
 
1004
 
17
  return 'eicon-gallery-grid';
18
  }
19
 
20
+ public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
 
24
  public function get_script_depends() {
25
  return [
26
+ 'eael-scripts',
27
+ 'imagesloaded',
28
+ 'jquery-resize',
29
+ 'essential_addons_isotope-js'
30
  ];
31
  }
32
 
37
  $this->start_controls_section(
38
  'eael_section_fg_settings',
39
  [
40
+ 'label' => esc_html__( 'Settings', 'essential-addons-elementor' )
41
  ]
42
  );
43
+
44
  $this->add_control(
45
+ 'eael_fg_items_to_show',
46
  [
47
+ 'label' => esc_html__( 'Items to show', 'essential-addons-elementor' ),
48
+ 'type' => Controls_Manager::TEXT,
49
+ 'label_block' => false,
50
+ 'default' => 6
51
  ]
52
  );
53
 
61
  ]
62
  );
63
 
64
+ $this->add_responsive_control(
65
+ 'columns',
66
+ [
67
+ 'label' => __( 'Columns', 'essential-addons-elementor' ),
68
+ 'type' => Controls_Manager::SELECT,
69
+ 'default' => '3',
70
+ 'tablet_default' => '2',
71
+ 'mobile_default' => '1',
72
+ 'options' => [
73
+ '1' => '1',
74
+ '2' => '2',
75
+ '3' => '3',
76
+ '4' => '4',
77
+ '5' => '5',
78
+ '6' => '6'
79
+ ],
80
+ 'prefix_class' => 'elementor-grid%s-',
81
+ 'frontend_available' => true,
82
+ ]
83
+ );
84
+
85
  $this->add_control(
86
+ 'eael_fg_grid_style',
87
  [
88
+ 'label' => esc_html__( 'Layout', 'essential-addons-elementor' ),
89
  'type' => Controls_Manager::SELECT,
90
+ 'default' => 'grid',
91
  'options' => [
92
+ 'grid' => esc_html__( 'Grid', 'essential-addons-elementor' ),
93
+ 'masonry' => esc_html__( 'Masonry', 'essential-addons-elementor' )
 
94
  ],
95
  ]
96
  );
97
 
98
+ $this->add_control(
99
+ 'eael_fg_grid_item_height',
100
  [
101
+ 'label' => esc_html__( 'Gird item height', 'essential-addons-elementor' ),
102
+ 'type' => Controls_Manager::TEXT,
103
+ 'default' => '300',
104
+ 'condition' => [
105
+ 'eael_fg_grid_style' => 'grid'
 
 
 
 
106
  ],
107
+ 'selectors' => [
108
+ '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-grid-item .gallery-item-thumbnail-wrap' => 'height: {{VALUE}}px;'
109
+ ]
110
  ]
111
  );
112
 
113
  $this->add_control(
114
+ 'eael_fg_caption_style',
115
  [
116
+ 'label' => esc_html__( 'Caption Style', 'essential-addons-elementor' ),
117
  'type' => Controls_Manager::SELECT,
118
+ 'default' => 'hoverer',
119
  'options' => [
120
+ 'hoverer' => __( 'Overlay', 'essential-addons-elementor' ),
121
+ 'card' => __( 'Card', 'essential-addons-elementor' ),
 
122
  ],
123
  ]
124
  );
126
  $this->add_control(
127
  'eael_fg_grid_hover_style',
128
  [
129
+ 'label' => esc_html__( 'Hover Style', 'essential-addons-elementor' ),
130
+ 'type' => Controls_Manager::SELECT,
131
+ 'default' => 'eael-slide-up',
132
+ 'options' => [
133
+ 'eael-none' => esc_html__( 'None', 'essential-addons-elementor' ),
134
+ 'eael-slide-up' => esc_html__( 'Slide In Up', 'essential-addons-elementor' ),
135
+ 'eael-fade-in' => esc_html__( 'Fade In', 'essential-addons-elementor' ),
136
+ 'eael-zoom-in' => esc_html__( 'Zoom In ', 'essential-addons-elementor' )
137
+ ],
138
+ 'condition' => [
139
+ 'eael_fg_caption_style' => 'hoverer'
140
+ ]
141
+
142
+ ]
143
+ );
144
+ $this->add_control(
145
+ 'eael_fg_grid_hover_transition',
146
+ [
147
+ 'label' => esc_html__( 'Hover Transition', 'essential-addons-elementor' ),
148
+ 'type' => Controls_Manager::SLIDER,
149
+ 'default' => [
150
+ 'size' => 100,
151
+ ],
152
+ 'range' => [
153
+ 'px' => [
154
+ 'max' => 4000,
155
+ ],
156
+ ],
157
+ 'selectors' => [
158
+ '{{WRAPPER}} .gallery-item-caption-wrap' => 'transition: {{SIZE}}ms;',
159
+ ],
160
+ 'condition' => [
161
+ 'eael_fg_grid_hover_style!' => 'eael-none'
162
+ ]
163
+ ]
164
+ );
165
+
166
+ $this->add_control(
167
+ 'eael_fg_show_popup',
168
+ [
169
+ 'label' => esc_html__( 'Link to', 'essential-addons-elementor' ),
170
  'type' => Controls_Manager::SELECT,
171
+ 'default' => 'buttons',
172
  'options' => [
173
+ 'none' => esc_html__( 'None', 'essential-addons-elementor' ),
174
+ 'media' => esc_html__( 'Media', 'essential-addons-elementor' ),
175
+ 'buttons' => esc_html__( 'Buttons', 'essential-addons-elementor' )
 
 
176
  ],
177
  ]
178
  );
180
  $this->add_control(
181
  'eael_section_fg_zoom_icon',
182
  [
183
+ 'label' => esc_html__( 'Lightbox Icon', 'essential-addons-elementor' ),
184
+ 'type' => Controls_Manager::ICON,
185
+ 'default' => 'fa fa-search-plus',
186
+ 'condition' => [
187
+ 'eael_fg_show_popup' => 'buttons'
188
+ ]
189
  ]
190
  );
191
 
192
  $this->add_control(
193
  'eael_section_fg_link_icon',
194
  [
195
+ 'label' => esc_html__( 'Link Icon', 'essential-addons-elementor' ),
196
+ 'type' => Controls_Manager::ICON,
197
+ 'default' => 'fa fa-link',
198
+ 'condition' => [
199
+ 'eael_fg_show_popup' => 'buttons'
200
+ ]
201
  ]
202
  );
203
 
209
  $this->start_controls_section(
210
  'eael_section_fg_control_settings',
211
  [
212
+ 'label' => esc_html__( 'Filterable Controls', 'essential-addons-elementor' )
213
  ]
214
+ );
215
+
216
+ $this->add_control(
217
+ 'filter_enable',
218
+ [
219
+ 'label' => __( 'Enable Filter', 'essential-addons-elementor' ),
220
+ 'type' => Controls_Manager::SWITCHER,
221
+ 'default' => 'yes',
222
+ ]
223
+ );
224
+
225
+ $this->add_control(
226
+ 'eael_fg_all_label_text',
227
+ [
228
+ 'label' => esc_html__( 'Gallery All Label', 'essential-addons-elementor' ),
229
+ 'type' => Controls_Manager::TEXT,
230
+ 'default' => 'All',
231
+ 'condition' => [
232
+ 'filter_enable' => 'yes'
233
+ ]
234
+ ]
235
+ );
236
 
237
  $this->add_control(
238
  'eael_fg_controls',
240
  'type' => Controls_Manager::REPEATER,
241
  'seperator' => 'before',
242
  'default' => [
243
+ [ 'eael_fg_control' => 'Gallery Item' ],
244
  ],
245
  'fields' => [
246
  [
248
  'label' => esc_html__( 'List Item', 'essential-addons-elementor' ),
249
  'type' => Controls_Manager::TEXT,
250
  'label_block' => true,
251
+ 'default' => esc_html__( 'Gallery Item', 'essential-addons-elementor' )
252
  ],
253
  ],
254
  'title_field' => '{{eael_fg_control}}',
263
  $this->start_controls_section(
264
  'eael_section_fg_grid_settings',
265
  [
266
+ 'label' => esc_html__( 'Gallery Items', 'essential-addons-elementor' )
267
  ]
268
  );
269
 
281
  [ 'eael_fg_gallery_item_name' => 'Gallery Item Name' ],
282
  ],
283
  'fields' => [
284
+ [
285
+ 'name' => 'fg_video_gallery_switch',
286
+ 'label' => __( 'Video Gallery?', 'essential-addons-elementor' ),
287
+ 'type' => Controls_Manager::SWITCHER,
288
+ 'default' => 'false',
289
+ 'label_on' => esc_html__( 'Yes', 'essential-addons-elementor' ),
290
+ 'label_off' => esc_html__( 'No', 'essential-addons-elementor' ),
291
+ 'return_value' => 'true',
292
+ ],
293
+ [
294
+ 'name' => 'eael_fg_gallery_item_video_link',
295
+ 'label' => esc_html__( 'Video Link', 'essential-addons-elementor' ),
296
+ 'type' => Controls_Manager::TEXT,
297
+ 'label_block' => true,
298
+ 'default' => 'https://www.youtube.com/watch?v=kB4U67tiQLA',
299
+ 'condition' => [
300
+ 'fg_video_gallery_switch' => 'true'
301
+ ]
302
+ ],
303
+ [
304
+ 'name' => 'eael_fg_gallery_control_name',
305
+ 'label' => esc_html__( 'Control Name', 'essential-addons-elementor' ),
306
+ 'type' => Controls_Manager::TEXT,
307
+ 'label_block' => true,
308
+ 'default' => '',
309
+ 'description' => __( 'Use the gallery control name from Control Settings. Separate multiple items with comma (e.g. <strong>Gallery Item, Gallery Item 2</strong>)', 'essential-addons-elementor' )
310
+ ],
311
  [
312
  'name' => 'eael_fg_gallery_item_name',
313
  'label' => esc_html__( 'Item Name', 'essential-addons-elementor' ),
314
  'type' => Controls_Manager::TEXT,
315
  'label_block' => true,
316
+ 'default' => esc_html__( 'Gallery item name', 'essential-addons-elementor' ),
317
  ],
318
  [
319
  'name' => 'eael_fg_gallery_item_content',
322
  'label_block' => true,
323
  'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem, provident.', 'essential-addons-elementor' ),
324
  ],
 
 
 
 
 
 
 
325
  [
326
  'name' => 'eael_fg_gallery_img',
327
  'label' => esc_html__( 'Image', 'essential-addons-elementor' ),
331
  ],
332
  ],
333
  [
334
+ 'name' => 'fg_video_gallery_play_icon',
335
+ 'label' => __( 'Video play icon', 'essential-addons-elementor' ),
336
+ 'type' => Controls_Manager::MEDIA,
337
+ 'default' => [
338
+ 'url' => ESSENTIAL_ADDONS_EL_URL . 'assets/img/play-icon.png',
339
+ ],
340
+ 'condition' => [
341
+ 'fg_video_gallery_switch' => 'true'
342
+ ]
343
+ ],
344
+ [
345
+ 'name' => 'eael_fg_gallery_lightbox',
346
+ 'label' => __( 'Gallery Lightbox Button?', 'essential-addons-elementor' ),
347
+ 'type' => Controls_Manager::SWITCHER,
348
+ 'default' => 'true',
349
+ 'label_on' => esc_html__( 'Yes', 'essential-addons-elementor' ),
350
+ 'label_off' => esc_html__( 'No', 'essential-addons-elementor' ),
351
  'return_value' => 'true',
352
+ 'condition' => [
353
+ 'fg_video_gallery_switch!' => 'true'
354
+ ]
355
  ],
356
+ [
357
+ 'name' => 'eael_fg_gallery_link',
358
+ 'label' => __( 'Gallery Link Button?', 'essential-addons-elementor' ),
359
+ 'type' => Controls_Manager::SWITCHER,
360
+ 'default' => 'true',
361
+ 'label_on' => esc_html__( 'Yes', 'essential-addons-elementor' ),
362
+ 'label_off' => esc_html__( 'No', 'essential-addons-elementor' ),
363
+ 'return_value' => 'true',
364
+ 'condition' => [
365
+ 'fg_video_gallery_switch!' => 'true'
366
+ ]
367
+ ],
368
  [
369
  'name' => 'eael_fg_gallery_img_link',
370
  'type' => Controls_Manager::URL,
375
  ],
376
  'show_external' => true,
377
  'condition' => [
378
+ 'fg_video_gallery_switch!' => 'true',
379
  'eael_fg_gallery_link' => 'true'
380
  ]
381
+ ],
382
  ],
383
  'title_field' => '{{eael_fg_gallery_item_name}}',
384
  ]
385
  );
386
 
387
+ $this->end_controls_section();
388
+
389
+ /**
390
+ * Content Tab: Gallery Load More Button
391
+ */
392
+ $this->start_controls_section(
393
+ 'section_pagination',
394
+ [
395
+ 'label' => __( 'Load More Button', 'essential-addons-elementor' ),
396
+ ]
397
+ );
398
 
399
+ $this->add_control(
400
+ 'pagination',
401
+ [
402
+ 'label' => __( 'Load More Button', 'essential-addons-elementor' ),
403
+ 'type' => Controls_Manager::SWITCHER,
404
+ 'default' => 'false',
405
+ 'frontend_available' => true,
406
+ ]
407
+ );
408
+
409
+ $this->add_control(
410
+ 'images_per_page',
411
+ [
412
+ 'label' => __('Images Per Page', 'essential-addons-elementor'),
413
+ 'type' => Controls_Manager::TEXT,
414
+ 'default' => 6,
415
+ 'condition' => [
416
+ 'pagination' => 'yes'
417
+ ]
418
+ ]
419
+ );
420
 
421
+ $this->add_control(
422
+ 'load_more_text',
423
+ [
424
+ 'label' => __('Button Text', 'essential-addons-elementor'),
425
+ 'type' => Controls_Manager::TEXT,
426
+ 'default' => __('Load More', 'essential-addons-elementor'),
427
+ 'condition' => [
428
+ 'pagination' => 'yes'
429
+ ]
430
+ ]
431
  );
432
 
433
  $this->add_control(
434
+ 'nomore_items_text',
435
+ [
436
+ 'label' => __('No More Items Text', 'essential-addons-elementor'),
437
+ 'type' => Controls_Manager::TEXT,
438
+ 'default' => __('No more items!', 'essential-addons-elementor'),
439
+ 'condition' => [
440
+ 'pagination' => 'yes'
 
 
 
441
  ]
442
+ ]
443
  );
444
 
445
+ $this->add_control(
446
+ 'button_size',
447
+ [
448
+ 'label' => __( 'Size', 'essential-addons-elementor' ),
449
+ 'type' => Controls_Manager::SELECT,
450
+ 'default' => 'sm',
451
+ 'options' => [
452
+ 'xs' => __( 'Extra Small', 'essential-addons-elementor' ),
453
+ 'sm' => __( 'Small', 'essential-addons-elementor' ),
454
+ 'md' => __( 'Medium', 'essential-addons-elementor' ),
455
+ 'lg' => __( 'Large', 'essential-addons-elementor' ),
456
+ 'xl' => __( 'Extra Large', 'essential-addons-elementor' ),
457
+ ],
458
+ 'condition' => [
459
+ 'pagination' => 'yes',
460
+ 'load_more_text!' => '',
461
+ ],
462
+ ]
463
+ );
464
+
465
+ $this->add_control(
466
+ 'load_more_icon',
467
+ [
468
+ 'label' => __( 'Button Icon', 'essential-addons-elementor' ),
469
+ 'type' => Controls_Manager::ICON,
470
+ 'default' => '',
471
+ 'condition' => [
472
+ 'pagination' => 'yes'
473
+ ],
474
+ ]
475
+ );
476
+
477
+ $this->add_control(
478
+ 'button_icon_position',
479
+ [
480
+ 'label' => __( 'Icon Position', 'essential-addons-elementor' ),
481
+ 'type' => Controls_Manager::SELECT,
482
+ 'default' => 'after',
483
+ 'options' => [
484
+ 'after' => __( 'After', 'essential-addons-elementor' ),
485
+ 'before' => __( 'Before', 'essential-addons-elementor' ),
486
+ ],
487
+ 'condition' => [
488
+ 'pagination' => 'yes'
489
+ ],
490
+ ]
491
+ );
492
+
493
+ $this->add_responsive_control(
494
+ 'load_more_align',
495
+ [
496
+ 'label' => __( 'Alignment', 'essential-addons-elementor' ),
497
+ 'type' => Controls_Manager::CHOOSE,
498
+ 'options' => [
499
+ 'left' => [
500
+ 'title' => __( 'Left', 'essential-addons-elementor' ),
501
+ 'icon' => 'eicon-h-align-left',
502
+ ],
503
+ 'center' => [
504
+ 'title' => __( 'Center', 'essential-addons-elementor' ),
505
+ 'icon' => 'eicon-h-align-center',
506
+ ],
507
+ 'right' => [
508
+ 'title' => __( 'Right', 'essential-addons-elementor' ),
509
+ 'icon' => 'eicon-h-align-right',
510
+ ],
511
+ ],
512
+ 'default' => 'center',
513
+ 'selectors' => [
514
+ '{{WRAPPER}} .eael-filterable-gallery-loadmore' => 'text-align: {{VALUE}};',
515
+ ],
516
+ 'condition' => [
517
+ 'pagination' => 'yes'
518
+ ],
519
+ ]
520
+ );
521
+
522
+ $this->end_controls_section();
523
+
524
+ $this->start_controls_section(
525
+ 'eael_section_pro',
526
+ [
527
+ 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
528
+ ]
529
+ );
530
+
531
+ $this->add_control(
532
+ 'eael_control_get_pro',
533
+ [
534
+ 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ),
535
+ 'type' => Controls_Manager::CHOOSE,
536
+ 'options' => [
537
+ '1' => [
538
+ 'title' => __( '', 'essential-addons-elementor' ),
539
+ 'icon' => 'fa fa-unlock-alt',
540
+ ],
541
+ ],
542
+ 'default' => '1',
543
+ 'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
544
+ ]
545
+ );
546
+
547
+ $this->end_controls_section();
548
 
549
  /**
550
  * -------------------------------------------
618
  ],
619
  ],
620
  'selectors' => [
621
+ '{{WRAPPER}} .eael-filter-gallery-wrapper' => 'border-radius: {{SIZE}}{{UNIT}};',
622
  ],
623
  ]
624
  );
652
  'type' => Controls_Manager::DIMENSIONS,
653
  'size_units' => [ 'px', 'em', '%' ],
654
  'selectors' => [
655
+ '{{WRAPPER}} .eael-filter-gallery-control ul li.control' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
656
  ],
657
  ]
658
  );
664
  'type' => Controls_Manager::DIMENSIONS,
665
  'size_units' => [ 'px', 'em', '%' ],
666
  'selectors' => [
667
+ '{{WRAPPER}} .eael-filter-gallery-control ul li.control' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
668
  ],
669
  ]
670
  );
672
  Group_Control_Typography::get_type(),
673
  [
674
  'name' => 'eael_fg_control_typography',
675
+ 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul li.control',
676
  ]
677
  );
678
  // Tabs
688
  'type' => Controls_Manager::COLOR,
689
  'default' => '#444',
690
  'selectors' => [
691
+ '{{WRAPPER}} .eael-filter-gallery-control ul li.control' => 'color: {{VALUE}};',
692
  ],
693
  ]
694
  );
700
  'type' => Controls_Manager::COLOR,
701
  'default' => '',
702
  'selectors' => [
703
+ '{{WRAPPER}} .eael-filter-gallery-control ul li.control' => 'background: {{VALUE}};',
704
  ],
705
  ]
706
  );
710
  [
711
  'name' => 'eael_fg_control_normal_border',
712
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
713
+ 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul > li.control',
714
  ]
715
  );
716
 
720
  'label' => esc_html__( 'Border Radius', 'essential-addons-elementor' ),
721
  'type' => Controls_Manager::SLIDER,
722
  'default' => [
723
+ 'size' => 0
724
  ],
725
  'range' => [
726
  'px' => [
727
+ 'max' => 100,
728
  ],
729
  ],
730
  'selectors' => [
731
+ '{{WRAPPER}} .eael-filter-gallery-control ul > li.control' => 'border-radius: {{SIZE}}{{UNIT}};',
732
  ],
733
  ]
734
  );
737
  Group_Control_Box_Shadow::get_type(),
738
  [
739
  'name' => 'eael_fg_control_shadow',
740
+ 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul li.control',
741
  'separator' => 'before'
742
  ]
743
  );
754
  'type' => Controls_Manager::COLOR,
755
  'default' => '#fff',
756
  'selectors' => [
757
+ '{{WRAPPER}} .eael-filter-gallery-control ul li.active' => 'color: {{VALUE}};',
758
  ],
759
  ]
760
  );
764
  [
765
  'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ),
766
  'type' => Controls_Manager::COLOR,
767
+ 'default' => '#333',
768
  'selectors' => [
769
+ '{{WRAPPER}} .eael-filter-gallery-control ul li.control.active' => 'background: {{VALUE}};',
770
  ],
771
  ]
772
  );
776
  [
777
  'name' => 'eael_fg_control_active_border',
778
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
779
+ 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul > li.control.active',
780
  ]
781
  );
782
 
786
  'label' => esc_html__( 'Border Radius', 'essential-addons-elementor' ),
787
  'type' => Controls_Manager::SLIDER,
788
  'default' => [
789
+ 'size' => 0
790
  ],
791
  'range' => [
792
  'px' => [
793
+ 'max' => 100,
794
  ],
795
  ],
796
  'selectors' => [
797
+ '{{WRAPPER}} .eael-filter-gallery-control ul li.control.active' => 'border-radius: {{SIZE}}{{UNIT}};',
798
  ],
799
  ]
800
  );
803
  Group_Control_Box_Shadow::get_type(),
804
  [
805
  'name' => 'eael_fg_control_active_shadow',
806
+ 'selector' => '{{WRAPPER}} .eael-filter-gallery-control ul li.control.active',
807
  'separator' => 'before'
808
  ]
809
  );
813
  $this->end_controls_tabs();
814
 
815
 
 
 
 
 
 
816
  $this->end_controls_section();
817
 
818
  /**
835
  'type' => Controls_Manager::DIMENSIONS,
836
  'size_units' => [ 'px', 'em', '%' ],
837
  'selectors' => [
838
+ '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-grid-item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
839
  ],
840
  ]
841
  );
847
  'type' => Controls_Manager::DIMENSIONS,
848
  'size_units' => [ 'px', 'em', '%' ],
849
  'selectors' => [
850
+ '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-grid-item' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
851
  ],
852
  ]
853
  );
857
  [
858
  'name' => 'eael_fg_item_border',
859
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
860
+ 'selector' => '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-grid-item',
861
  ]
862
  );
863
 
875
  ],
876
  ],
877
  'selectors' => [
878
+ '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-grid-item' => 'border-radius: {{SIZE}}{{UNIT}};',
879
  ],
880
  ]
881
  );
884
  Group_Control_Box_Shadow::get_type(),
885
  [
886
  'name' => 'eael_fg_item_shadow',
887
+ 'selector' => '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-grid-item',
888
  ]
889
  );
890
 
891
  $this->end_controls_section();
892
+
893
  /**
894
  * -------------------------------------------
895
+ * Tab Style (Filterable Gallery Hoverer Style)
896
  * -------------------------------------------
897
  */
898
  $this->start_controls_section(
899
  'eael_section_fg_item_cap_style_settings',
900
  [
901
+ 'label' => esc_html__( 'Item Hover Style', 'essential-addons-elementor' ),
902
+ 'tab' => Controls_Manager::TAB_STYLE,
903
+ 'condition' => [
904
+ 'eael_fg_caption_style' => 'hoverer'
905
+ ]
906
  ]
907
  );
908
 
913
  'type' => Controls_Manager::COLOR,
914
  'default' => 'rgba(0,0,0,0.7)',
915
  'selectors' => [
916
+ '{{WRAPPER}} .gallery-item-caption-wrap .gallery-item-hoverer-bg' => 'background-color: {{VALUE}};',
917
  ],
918
  ]
919
  );
925
  'type' => Controls_Manager::DIMENSIONS,
926
  'size_units' => [ 'px', 'em', '%' ],
927
  'selectors' => [
928
+ '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-hoverer' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
929
  ],
930
  ]
931
  );
932
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
933
  $this->add_control(
934
+ 'eael_fg_item_hover_title_typography_heading',
935
  [
936
+ 'label' => esc_html__( 'Title Typography', 'essential-addons-elementor' ),
937
  'type' => Controls_Manager::HEADING,
938
  'separator' => 'before'
939
  ]
940
  );
941
 
942
  $this->add_control(
943
+ 'eael_fg_item_hover_title_color',
944
  [
945
+ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ),
946
  'type' => Controls_Manager::COLOR,
947
+ 'default' => '#ffffff',
948
  'selectors' => [
949
+ '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-hoverer .fg-item-title' => 'color: {{VALUE}};',
950
  ],
951
  ]
952
  );
953
 
954
  $this->add_control(
955
+ 'eael_fg_item_hover_title_hover_color',
956
  [
957
+ 'label' => esc_html__( 'Hover Color', 'essential-addons-elementor' ),
958
  'type' => Controls_Manager::COLOR,
 
959
  'selectors' => [
960
+ '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-hoverer .fg-item-title:hover' => 'color: {{VALUE}};',
961
  ],
962
  ]
963
  );
964
 
965
+ $this->add_group_control(
966
+ Group_Control_Typography::get_type(),
967
+ [
968
+ 'name' => 'eael_fg_item_hover_title_typography',
969
+ 'selector' => '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-hoverer .fg-item-title',
970
+ ]
971
+ );
972
 
973
+ $this->add_control(
974
+ 'eael_fg_item_hover_content_typography_heading',
 
 
 
 
 
975
  [
976
+ 'label' => esc_html__( 'Content Typography', 'essential-addons-elementor' ),
977
+ 'type' => Controls_Manager::HEADING,
978
+ 'separator' => 'before'
 
 
979
  ]
980
  );
981
 
982
  $this->add_control(
983
+ 'eael_fg_item_hover_content_color',
984
  [
985
+ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ),
986
  'type' => Controls_Manager::COLOR,
987
+ 'default' => '#ffffff',
988
  'selectors' => [
989
+ '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-hoverer .fg-item-content' => 'color: {{VALUE}};',
990
  ],
991
  ]
992
  );
993
 
994
+ $this->add_group_control(
995
+ Group_Control_Typography::get_type(),
996
  [
997
+ 'name' => 'eael_fg_item_hover_content_typography',
998
+ 'selector' => '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-hoverer .fg-item-content'
 
 
 
 
999
  ]
1000
  );
1001
 
1002
  $this->add_group_control(
1003
  Group_Control_Border::get_type(),
1004
  [
1005
+ 'name' => 'eael_fg_item_cap_border',
1006
  'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
1007
+ 'selector' => '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-hoverer',
1008
  ]
1009
  );
1010
 
1011
  $this->add_group_control(
1012
  Group_Control_Box_Shadow::get_type(),
1013
  [
1014
+ 'name' => 'eael_fg_item_cap_shadow',
1015
+ 'selector' => '{{WRAPPER}} .gallery-item-thumbnail-wrap .gallery-item-caption-wrap',
1016
  ]
1017
  );
1018
 
1019
+ $this->add_responsive_control(
1020
+ 'eael_fg_item_hoverer_content_alignment',
1021
  [
1022
+ 'label' => esc_html__( 'Content Alignment', 'essential-addons-elementor' ),
1023
+ 'type' => Controls_Manager::CHOOSE,
1024
+ 'label_block' => true,
1025
+ 'separator' => 'before',
1026
+ 'options' => [
1027
+ 'left' => [
1028
+ 'title' => esc_html__( 'Left', 'essential-addons-elementor' ),
1029
+ 'icon' => 'fa fa-align-left',
1030
+ ],
1031
+ 'center' => [
1032
+ 'title' => esc_html__( 'Center', 'essential-addons-elementor' ),
1033
+ 'icon' => 'fa fa-align-center',
1034
+ ],
1035
+ 'right' => [
1036
+ 'title' => esc_html__( 'Right', 'essential-addons-elementor' ),
1037
+ 'icon' => 'fa fa-align-right',
1038
+ ],
1039
+ ],
1040
+ 'default' => 'left',
1041
+ 'prefix_class' => 'eael-fg-hoverer-content-align-',
1042
  ]
1043
  );
1044
 
1045
+ $this->end_controls_section();
1046
+
1047
+ /**
1048
+ * -------------------------------------------
1049
+ * Tab Style (Video item Style)
1050
+ * -------------------------------------------
1051
+ */
1052
+ $this->start_controls_section(
1053
+ 'eael_section_fg_video_item_style',
1054
+ [
1055
+ 'label' => esc_html__( 'Video item hover', 'essential-addons-elementor' ),
1056
+ 'tab' => Controls_Manager::TAB_STYLE,
1057
+ ]
1058
+ );
1059
+
1060
+ $this->add_control(
1061
+ 'eael_fg_video_item_hover_bg',
1062
+ [
1063
+ 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ),
1064
+ 'type' => Controls_Manager::COLOR,
1065
+ 'default' => 'rgba(0, 0, 0, .7)',
1066
+ 'selectors' => [
1067
+ '{{WRAPPER}} .video-popup-bg' => 'background-color: {{VALUE}};',
1068
+ ],
1069
+ ]
1070
+ );
1071
+
1072
+ $this->add_control(
1073
+ 'eael_fg_video_item_hover_bg_trans',
1074
+ [
1075
+ 'label' => esc_html__( 'Background transition', 'essential-addons-elementor' ),
1076
+ 'type' => Controls_Manager::SLIDER,
1077
+ 'size_units' => [ 'px' ],
1078
+ 'default' => [
1079
+ 'px' => 350
1080
+ ],
1081
+ 'range' => [
1082
+ 'px' => [
1083
+ 'max' => 4000,
1084
+ ]
1085
+ ],
1086
+ 'selectors' => [
1087
+ '{{WRAPPER}} .video-popup-bg' => 'transition: {{SIZE}}ms;',
1088
+ ]
1089
+ ]
1090
+ );
1091
+
1092
+ $this->add_control(
1093
+ 'eael_fg_video_item_hover_icon_size',
1094
+ [
1095
+ 'label' => esc_html__( 'Icon size', 'essential-addons-elementor' ),
1096
+ 'type' => Controls_Manager::SLIDER,
1097
+ 'size_units' => [ 'px', 'em' ],
1098
+ 'default' => [
1099
+ 'px' => 62
1100
+ ],
1101
+ 'range' => [
1102
+ 'px' => [
1103
+ 'max' => 150,
1104
+ ],
1105
+ 'em' => [
1106
+ 'max' => 150,
1107
+ ]
1108
+ ],
1109
+ 'selectors' => [
1110
+ '{{WRAPPER}} .video-popup > img' => 'width: {{SIZE}}{{UNIT}};',
1111
+ ]
1112
+ ]
1113
+ );
1114
+
1115
+ $this->add_control(
1116
+ 'eael_fg_video_item_icon_hover_scale',
1117
+ [
1118
+ 'label' => esc_html__( 'Hover icon scale', 'essential-addons-elementor' ),
1119
+ 'type' => Controls_Manager::TEXT,
1120
+ 'default' => '1.1',
1121
+ 'selectors' => [
1122
+ '{{WRAPPER}} .video-popup:hover > img' => 'transform: scale({{VALUE}});',
1123
+ ],
1124
+ ]
1125
+ );
1126
+
1127
+ $this->add_control(
1128
+ 'eael_fg_video_item_icon_hover_scale_transition',
1129
+ [
1130
+ 'label' => esc_html__( 'Icon transition', 'essential-addons-elementor' ),
1131
+ 'type' => Controls_Manager::SLIDER,
1132
+ 'size_units' => [ 'px' ],
1133
+ 'default' => [
1134
+ 'px' => 350
1135
+ ],
1136
+ 'range' => [
1137
+ 'px' => [
1138
+ 'max' => 4000,
1139
+ ]
1140
+ ],
1141
+ 'selectors' => [
1142
+ '{{WRAPPER}} .video-popup > img' => 'transition: {{SIZE}}ms;',
1143
+ ]
1144
+ ]
1145
+ );
1146
+
1147
+
1148
+ $this->end_controls_section();
1149
+
1150
+ /**
1151
+ * -------------------------------------------
1152
+ * Tab Style (Card Style)
1153
+ * -------------------------------------------
1154
+ */
1155
+ $this->start_controls_section(
1156
+ 'eael_section_fg_item_content_style_settings',
1157
+ [
1158
+ 'label' => esc_html__( 'Item Card Style', 'essential-addons-elementor' ),
1159
+ 'tab' => Controls_Manager::TAB_STYLE,
1160
+ 'condition' => [
1161
+ 'eael_fg_caption_style' => 'card'
1162
+ ]
1163
+ ]
1164
+ );
1165
+
1166
+ $this->add_control(
1167
+ 'eael_fg_item_content_bg_color',
1168
+ [
1169
+ 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ),
1170
+ 'type' => Controls_Manager::COLOR,
1171
+ 'default' => '#f1f2f9',
1172
+ 'selectors' => [
1173
+ '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap.caption-style-card' => 'background-color: {{VALUE}};',
1174
+ ],
1175
+ ]
1176
+ );
1177
+
1178
+ $this->add_responsive_control(
1179
+ 'eael_fg_item_content_container_padding',
1180
+ [
1181
+ 'label' => esc_html__( 'Padding', 'essential-addons-elementor' ),
1182
+ 'type' => Controls_Manager::DIMENSIONS,
1183
+ 'size_units' => [ 'px', 'em', '%' ],
1184
+ 'selectors' => [
1185
+ '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap.caption-style-card' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1186
+ ],
1187
+ ]
1188
+ );
1189
+
1190
+ $this->add_group_control(
1191
+ Group_Control_Border::get_type(),
1192
+ [
1193
+ 'name' => 'eael_fg_item_content_border',
1194
+ 'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
1195
+ 'selector' => '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap.caption-style-card',
1196
+ ]
1197
+ );
1198
+
1199
+ $this->add_group_control(
1200
+ Group_Control_Box_Shadow::get_type(),
1201
+ [
1202
+ 'name' => 'eael_fg_item_content_shadow',
1203
+ 'selector' => '{{WRAPPER}} .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap.caption-style-card',
1204
+ ]
1205
+ );
1206
+
1207
+ $this->add_control(
1208
+ 'eael_fg_item_content_title_typography_settings',
1209
+ [
1210
+ 'label' => esc_html__( 'Title Typography', 'essential-addons-elementor' ),
1211
+ 'type' => Controls_Manager::HEADING,
1212
+ 'separator' => 'before'
1213
+ ]
1214
+ );
1215
+
1216
+ $this->add_control(
1217
+ 'eael_fg_item_content_title_color',
1218
  [
1219
  'label' => esc_html__( 'Color', 'essential-addons-elementor' ),
1220
  'type' => Controls_Manager::COLOR,
1221
+ 'default' => '#F56A6A',
1222
  'selectors' => [
1223
+ '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-card .fg-item-title' => 'color: {{VALUE}};',
1224
  ],
1225
  ]
1226
  );
1230
  [
1231
  'label' => esc_html__( 'Hover Color', 'essential-addons-elementor' ),
1232
  'type' => Controls_Manager::COLOR,
1233
+ 'default' => '',
1234
  'selectors' => [
1235
+ '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-card .fg-item-title:hover' => 'color: {{VALUE}};',
1236
  ],
1237
  ]
1238
  );
1241
  Group_Control_Typography::get_type(),
1242
  [
1243
  'name' => 'eael_fg_item_content_title_typography',
1244
+ 'selector' => '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-card .fg-item-title',
1245
  ]
1246
  );
1247
 
1261
  'type' => Controls_Manager::COLOR,
1262
  'default' => '#444',
1263
  'selectors' => [
1264
+ '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-card .fg-item-content' => 'color: {{VALUE}};',
1265
  ],
1266
  ]
1267
  );
1270
  Group_Control_Typography::get_type(),
1271
  [
1272
  'name' => 'eael_fg_item_content_text_typography',
1273
+ 'selector' => '{{WRAPPER}} .gallery-item-caption-wrap.caption-style-card .fg-item-content',
1274
  ]
1275
  );
1276
 
1296
  ],
1297
  ],
1298
  'default' => 'left',
1299
+ 'prefix_class' => 'eael-fg-card-content-align-',
1300
  ]
1301
  );
1302
 
1303
  $this->end_controls_section();
1304
+
1305
 
1306
+ /**
1307
+ * -------------------------------------------
1308
+ * Tab Style (Hoverer Icon Style)
1309
+ * -------------------------------------------
1310
+ */
1311
  $this->start_controls_section(
1312
+ 'eael_section_fg_item_hover_icons_style',
1313
  [
1314
+ 'label' => esc_html__( 'Icons Style', 'essential-addons-elementor' ),
1315
+ 'tab' => Controls_Manager::TAB_STYLE
1316
  ]
1317
  );
1318
 
1319
+ $this->add_control(
1320
+ 'eael_fg_item_icon_bg_color',
1321
+ [
1322
+ 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ),
1323
+ 'type' => Controls_Manager::COLOR,
1324
+ 'default' => '#ff622a',
1325
+ 'selectors' => [
1326
+ '{{WRAPPER}} .gallery-item-caption-wrap .gallery-item-buttons > a' => 'background: {{VALUE}};',
1327
+ ],
1328
+ ]
1329
+ );
1330
+
1331
+ $this->add_control(
1332
+ 'eael_fg_item_icon_color',
1333
+ [
1334
+ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ),
1335
+ 'type' => Controls_Manager::COLOR,
1336
+ 'default' => '#fff',
1337
+ 'selectors' => [
1338
+ '{{WRAPPER}} .gallery-item-caption-wrap .gallery-item-buttons > a' => 'color: {{VALUE}};',
1339
+ ],
1340
+ ]
1341
+ );
1342
+
1343
+ $this->add_responsive_control(
1344
+ 'eael_fg_item_icon_padding',
1345
+ [
1346
+ 'label' => esc_html__( 'Padding', 'essential-addons-elementor' ),
1347
+ 'type' => Controls_Manager::DIMENSIONS,
1348
+ 'size_units' => [ 'px', 'em', '%' ],
1349
+ 'selectors' => [
1350
+ '{{WRAPPER}} .gallery-item-caption-wrap .gallery-item-buttons > a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1351
+ ],
1352
+ ]
1353
+ );
1354
+
1355
+ $this->add_responsive_control(
1356
+ 'eael_fg_item_icon_margin',
1357
+ [
1358
+ 'label' => esc_html__( 'Margin', 'essential-addons-elementor' ),
1359
+ 'type' => Controls_Manager::DIMENSIONS,
1360
+ 'size_units' => [ 'px', 'em', '%' ],
1361
+ 'selectors' => [
1362
+ '{{WRAPPER}} .gallery-item-caption-wrap .gallery-item-buttons > a' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1363
+ ],
1364
+ ]
1365
+ );
1366
+
1367
+ $this->add_control(
1368
+ 'eael_fg_item_icon_size',
1369
+ [
1370
+ 'label' => esc_html__( 'Icon Size', 'essential-addons-elementor' ),
1371
+ 'type' => Controls_Manager::SLIDER,
1372
+ 'size_units' => [ 'px', 'em' ],
1373
+ 'range' => [
1374
+ 'px' => [
1375
+ 'max' => 50,
1376
  ],
1377
+ 'em' => [
1378
+ 'max' => 50,
1379
+ ]
1380
  ],
1381
+ 'selectors' => [
1382
+ '{{WRAPPER}} .gallery-item-caption-wrap .gallery-item-buttons > a' => 'font-size: {{SIZE}}{{UNIT}};',
1383
+ ],
1384
+ ]
1385
+ );
1386
+
1387
+ $this->add_group_control(
1388
+ Group_Control_Border::get_type(),
1389
+ [
1390
+ 'name' => 'eael_fg_item_icon_border',
1391
+ 'label' => esc_html__( 'Border', 'essential-addons-elementor' ),
1392
+ 'selector' => '{{WRAPPER}} .gallery-item-caption-wrap .gallery-item-buttons > a',
1393
+ ]
1394
+ );
1395
+
1396
+ $this->add_control(
1397
+ 'eael_fg_item_icon_border_radius',
1398
+ [
1399
+ 'label' => esc_html__( 'Border Radius', 'essential-addons-elementor' ),
1400
+ 'type' => Controls_Manager::SLIDER,
1401
+ 'default' => [
1402
+ 'size' => 100,
1403
+ ],
1404
+ 'range' => [
1405
+ 'px' => [
1406
+ 'max' => 500,
1407
+ ],
1408
+ ],
1409
+ 'selectors' => [
1410
+ '{{WRAPPER}} .gallery-item-caption-wrap .gallery-item-buttons > a' => 'border-radius: {{SIZE}}px;',
1411
+ ],
1412
+ ]
1413
+ );
1414
+
1415
+ $this->end_controls_section();
1416
+
1417
+
1418
+ /**
1419
+ * Style Tab: Load More Button
1420
+ * -------------------------------------------------
1421
+ */
1422
+ $this->start_controls_section(
1423
+ 'section_loadmore_button_style',
1424
+ [
1425
+ 'label' => __( 'Load More Button', 'essential-addons-elementor' ),
1426
+ 'tab' => Controls_Manager::TAB_STYLE,
1427
+ 'condition' => [
1428
+ 'pagination' => 'yes',
1429
+ 'load_more_text!' => '',
1430
+ ],
1431
+ ]
1432
+ );
1433
+
1434
+ $this->add_responsive_control(
1435
+ 'button_margin_top',
1436
+ [
1437
+ 'label' => __( 'Top Spacing', 'essential-addons-elementor' ),
1438
+ 'type' => Controls_Manager::SLIDER,
1439
+ 'range' => [
1440
+ 'px' => [
1441
+ 'min' => 0,
1442
+ 'max' => 80,
1443
+ 'step' => 1,
1444
+ ],
1445
+ ],
1446
+ 'size_units' => '',
1447
+ 'selectors' => [
1448
+ '{{WRAPPER}} .eael-gallery-load-more' => 'margin-top: {{SIZE}}{{UNIT}};',
1449
+ ],
1450
+ ]
1451
+ );
1452
+
1453
+ $this->start_controls_tabs( 'tabs_load_more_button_style' );
1454
+
1455
+ $this->start_controls_tab(
1456
+ 'tab_load_more_button_normal',
1457
+ [
1458
+ 'label' => __( 'Normal', 'essential-addons-elementor' ),
1459
+ 'condition' => [
1460
+ 'pagination' => 'yes',
1461
+ 'load_more_text!' => '',
1462
+ ],
1463
+ ]
1464
+ );
1465
+
1466
+ $this->add_control(
1467
+ 'load_more_button_bg_color_normal',
1468
+ [
1469
+ 'label' => __( 'Background Color', 'essential-addons-elementor' ),
1470
+ 'type' => Controls_Manager::COLOR,
1471
+ 'default' => '#333',
1472
+ 'selectors' => [
1473
+ '{{WRAPPER}} .eael-gallery-load-more' => 'background-color: {{VALUE}}',
1474
+ ],
1475
+ 'condition' => [
1476
+ 'pagination' => 'yes',
1477
+ 'load_more_text!' => '',
1478
+ ],
1479
+ ]
1480
+ );
1481
+
1482
+ $this->add_control(
1483
+ 'load_more_button_text_color_normal',
1484
+ [
1485
+ 'label' => __( 'Text Color', 'essential-addons-elementor' ),
1486
+ 'type' => Controls_Manager::COLOR,
1487
+ 'default' => '#fff',
1488
+ 'selectors' => [
1489
+ '{{WRAPPER}} .eael-gallery-load-more' => 'color: {{VALUE}}',
1490
+ ],
1491
+ 'condition' => [
1492
+ 'pagination' => 'yes',
1493
+ 'load_more_text!' => '',
1494
+ ],
1495
+ ]
1496
+ );
1497
+
1498
+ $this->add_group_control(
1499
+ Group_Control_Border::get_type(),
1500
+ [
1501
+ 'name' => 'load_more_button_border_normal',
1502
+ 'label' => __( 'Border', 'essential-addons-elementor' ),
1503
+ 'placeholder' => '1px',
1504
+ 'default' => '1px',
1505
+ 'selector' => '{{WRAPPER}} .eael-gallery-load-more',
1506
+ 'condition' => [
1507
+ 'pagination' => 'yes',
1508
+ 'load_more_text!' => '',
1509
+ ],
1510
+ ]
1511
+ );
1512
+
1513
+ $this->add_control(
1514
+ 'load_more_button_border_radius',
1515
+ [
1516
+ 'label' => __( 'Border Radius', 'essential-addons-elementor' ),
1517
+ 'type' => Controls_Manager::DIMENSIONS,
1518
+ 'size_units' => [ 'px', '%' ],
1519
+ 'selectors' => [
1520
+ '{{WRAPPER}} .eael-gallery-load-more' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1521
+ ],
1522
+ 'condition' => [
1523
+ 'pagination' => 'yes',
1524
+ 'load_more_text!' => '',
1525
+ ],
1526
+ ]
1527
+ );
1528
+
1529
+ $this->add_group_control(
1530
+ Group_Control_Typography::get_type(),
1531
+ [
1532
+ 'name' => 'load_more_button_typography',
1533
+ 'label' => __( 'Typography', 'essential-addons-elementor' ),
1534
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
1535
+ 'selector' => '{{WRAPPER}} .eael-gallery-load-more',
1536
+ 'condition' => [
1537
+ 'pagination' => 'yes',
1538
+ 'load_more_text!' => '',
1539
+ ],
1540
+ ]
1541
+ );
1542
+
1543
+ $this->add_responsive_control(
1544
+ 'load_more_button_padding',
1545
+ [
1546
+ 'label' => __( 'Padding', 'essential-addons-elementor' ),
1547
+ 'type' => Controls_Manager::DIMENSIONS,
1548
+ 'size_units' => [ 'px', 'em', '%' ],
1549
+ 'selectors' => [
1550
+ '{{WRAPPER}} .eael-gallery-load-more' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1551
+ ],
1552
+ 'condition' => [
1553
+ 'pagination' => 'yes',
1554
+ 'load_more_text!' => '',
1555
+ ],
1556
+ ]
1557
+ );
1558
+
1559
+ $this->add_group_control(
1560
+ Group_Control_Box_Shadow::get_type(),
1561
+ [
1562
+ 'name' => 'load_more_button_box_shadow',
1563
+ 'selector' => '{{WRAPPER}} .eael-gallery-load-more',
1564
+ 'condition' => [
1565
+ 'pagination' => 'yes',
1566
+ 'load_more_text!' => '',
1567
+ ],
1568
+ ]
1569
+ );
1570
+
1571
+ $this->add_control(
1572
+ 'load_more_button_icon_heading',
1573
+ [
1574
+ 'label' => __( 'Button Icon', 'essential-addons-elementor' ),
1575
+ 'type' => Controls_Manager::HEADING,
1576
+ 'separator' => 'before',
1577
+ 'condition' => [
1578
+ 'pagination' => 'yes',
1579
+ 'load_more_icon!' => '',
1580
+ ],
1581
+ ]
1582
+ );
1583
+
1584
+ $this->add_responsive_control(
1585
+ 'load_more_button_icon_margin',
1586
+ [
1587
+ 'label' => __( 'Margin', 'essential-addons-elementor' ),
1588
+ 'type' => Controls_Manager::DIMENSIONS,
1589
+ 'size_units' => [ 'px', '%' ],
1590
+ 'placeholder' => [
1591
+ 'top' => '',
1592
+ 'right' => '',
1593
+ 'bottom' => '',
1594
+ 'left' => '',
1595
+ ],
1596
+ 'selectors' => [
1597
+ '{{WRAPPER}} .eael-gallery-load-more .eael-filterable-gallery-load-more-icon' => 'margin-top: {{TOP}}{{UNIT}}; margin-left: {{LEFT}}{{UNIT}}; margin-right: {{RIGHT}}{{UNIT}}; margin-bottom: {{BOTTOM}}{{UNIT}};',
1598
+ ],
1599
+ 'condition' => [
1600
+ 'pagination' => 'yes',
1601
+ 'load_more_icon!' => '',
1602
+ ],
1603
+ ]
1604
+ );
1605
+
1606
+ $this->end_controls_tab();
1607
+
1608
+ $this->start_controls_tab(
1609
+ 'tab_button_hover',
1610
+ [
1611
+ 'label' => __( 'Hover', 'essential-addons-elementor' ),
1612
+ 'condition' => [
1613
+ 'pagination' => 'yes',
1614
+ 'load_more_text!' => '',
1615
+ ],
1616
+ ]
1617
+ );
1618
+
1619
+ $this->add_control(
1620
+ 'button_bg_color_hover',
1621
+ [
1622
+ 'label' => __( 'Background Color', 'essential-addons-elementor' ),
1623
+ 'type' => Controls_Manager::COLOR,
1624
+ 'default' => '',
1625
+ 'selectors' => [
1626
+ '{{WRAPPER}} .eael-gallery-load-more:hover' => 'background-color: {{VALUE}}',
1627
+ ],
1628
+ 'condition' => [
1629
+ 'pagination' => 'yes',
1630
+ 'load_more_text!' => '',
1631
+ ],
1632
+ ]
1633
+ );
1634
+
1635
+ $this->add_control(
1636
+ 'button_text_color_hover',
1637
+ [
1638
+ 'label' => __( 'Text Color', 'essential-addons-elementor' ),
1639
+ 'type' => Controls_Manager::COLOR,
1640
+ 'default' => '',
1641
+ 'selectors' => [
1642
+ '{{WRAPPER}} .eael-gallery-load-more:hover' => 'color: {{VALUE}}',
1643
+ ],
1644
+ 'condition' => [
1645
+ 'pagination' => 'yes',
1646
+ 'load_more_text!' => '',
1647
+ ],
1648
+ ]
1649
+ );
1650
+
1651
+ $this->add_control(
1652
+ 'button_border_color_hover',
1653
+ [
1654
+ 'label' => __( 'Border Color', 'essential-addons-elementor' ),
1655
+ 'type' => Controls_Manager::COLOR,
1656
+ 'default' => '',
1657
+ 'selectors' => [
1658
+ '{{WRAPPER}} .eael-gallery-load-more:hover' => 'border-color: {{VALUE}}',
1659
+ ],
1660
+ 'condition' => [
1661
+ 'pagination' => 'yes',
1662
+ 'load_more_text!' => '',
1663
+ ],
1664
+ ]
1665
+ );
1666
+
1667
+ $this->add_group_control(
1668
+ Group_Control_Box_Shadow::get_type(),
1669
+ [
1670
+ 'name' => 'button_box_shadow_hover',
1671
+ 'selector' => '{{WRAPPER}} .eael-gallery-load-more:hover',
1672
+ 'condition' => [
1673
+ 'pagination' => 'yes',
1674
+ 'load_more_text!' => '',
1675
+ ],
1676
+ ]
1677
+ );
1678
+
1679
+ $this->end_controls_tab();
1680
+ $this->end_controls_tabs();
1681
+
1682
+ $this->end_controls_section();
1683
 
 
1684
  }
1685
 
1686
  public function sorter_class( $string ) {
1687
  $sorter_class = strtolower( $string );
1688
+ $sorter_class = str_replace(' ', '-', $sorter_class);
1689
+ $sorter_class = str_replace(',-', ' ', $sorter_class);
1690
+ $sorter_class = str_replace(',', ' ', $sorter_class);
 
1691
  return $sorter_class;
1692
  }
1693
 
1694
+ protected function render_filters() {
1695
+ $settings = $this->get_settings_for_display();
1696
+ $all_text = ($settings['eael_fg_all_label_text'] != '') ? $settings['eael_fg_all_label_text'] : esc_html__( 'All', 'essential-addons-elementor');
1697
 
1698
+ if( $settings['filter_enable'] == 'yes' ) {
1699
+ ?>
1700
+ <div class="eael-filter-gallery-control">
1701
+ <ul>
1702
+ <li class="control active" data-filter="*"><?php echo $all_text; ?></li>
1703
+ <?php foreach( $settings['eael_fg_controls'] as $control ) :
1704
+ $sorter_filter = $this->sorter_class( $control['eael_fg_control'] ); ?>
1705
+ <li class="control" data-filter=".eael-cf-<?php echo esc_attr( $sorter_filter ); ?>"><?php echo esc_html__($control['eael_fg_control']); ?></li>
1706
+ <?php endforeach; ?>
1707
+ </ul>
1708
+ </div>
1709
+ <?php
1710
+ }
1711
+ }
1712
 
1713
+ protected function render_loadmore_button() {
1714
+ $settings = $this->get_settings_for_display();
 
 
 
 
 
1715
 
1716
+ $this->add_render_attribute( 'load-more-button', 'class', [
1717
+ 'eael-gallery-load-more',
1718
+ 'elementor-button',
1719
+ 'elementor-size-' . $settings['button_size'],
1720
+ ]
1721
+ );
1722
+
1723
+ if ( $settings['pagination'] == 'yes' ) { ?>
1724
+ <div class="eael-filterable-gallery-loadmore">
1725
+ <a href="#" <?php echo $this->get_render_attribute_string( 'load-more-button' ); ?>>
1726
+ <span class="eael-button-loader"></span>
1727
+ <?php if ( ! empty( $settings['load_more_icon'] ) && $settings['button_icon_position'] == 'before' ) { ?>
1728
+ <span class="eael-filterable-gallery-load-more-icon <?php echo esc_attr( $settings['load_more_icon'] ); ?>" aria-hidden="true"></span>
1729
+ <?php } ?>
1730
+ <span class="eael-filterable-gallery-load-more-text">
1731
+ <?php echo $settings['load_more_text']; ?>
1732
+ </span>
1733
+ <?php if ( ! empty( $settings['load_more_icon'] ) && $settings['button_icon_position'] == 'after' ) { ?>
1734
+ <span class="eael-filterable-gallery-load-more-icon <?php echo esc_attr( $settings['load_more_icon'] ); ?>" aria-hidden="true"></span>
1735
+ <?php } ?>
1736
+ </a>
1737
+ </div>
1738
+ <?php }
1739
+
1740
+ }
1741
+
1742
+ protected function gallery_item_store() {
1743
+ $settings = $this->get_settings_for_display();
1744
+ $gallery_items = $settings['eael_fg_gallery_items'];
1745
+ $gallery_store = [];
1746
+ $counter = 0;
1747
+
1748
+ foreach( $gallery_items as $gallery ) {
1749
+ $gallery_store[$counter]['title'] = $gallery['eael_fg_gallery_item_name'];
1750
+ $gallery_store[$counter]['content'] = $gallery['eael_fg_gallery_item_content'];
1751
+ $gallery_store[$counter]['id'] = $gallery['_id'];
1752
+ $gallery_store[$counter]['image'] = $gallery['eael_fg_gallery_img'];
1753
+ $gallery_store[$counter]['image'] = $gallery['eael_fg_gallery_img']['url'];
1754
+ $gallery_store[$counter]['maybe_link'] = $gallery['eael_fg_gallery_link'];
1755
+ $gallery_store[$counter]['link'] = $gallery['eael_fg_gallery_img_link'];
1756
+ $gallery_store[$counter]['video_gallery_switch'] = $gallery['fg_video_gallery_switch'];
1757
+ $gallery_store[$counter]['video_link'] = $gallery['eael_fg_gallery_item_video_link'];
1758
+ $gallery_store[$counter]['show_lightbox'] = $gallery['eael_fg_gallery_lightbox'];
1759
+ $gallery_store[$counter]['play_icon'] = $gallery['fg_video_gallery_play_icon'];
1760
+ $gallery_store[$counter]['controls'] = $this->sorter_class($gallery['eael_fg_gallery_control_name']);
1761
+ $counter++;
1762
+ }
1763
+
1764
+ return $gallery_store;
1765
+ }
1766
+
1767
+ protected function render_gallery_items( $init_show = 0 ) {
1768
+ $settings = $this->get_settings_for_display();
1769
+ $gallery = $this->gallery_item_store();
1770
+ $gallery_markup = [];
1771
+
1772
+ $caption_style = $settings['eael_fg_caption_style'] == 'card' ? 'caption-style-card' : 'caption-style-hoverer';
1773
+
1774
+ foreach( $gallery as $item ) {
1775
+ if($item['controls'] != '') {
1776
+ $html = '<div class="eael-filterable-gallery-item-wrap eael-cf-'.$item['controls'].'">
1777
+ <div class="gallery-grid-item">';
1778
+ }else {
1779
+ $html = '<div class="eael-filterable-gallery-item-wrap">
1780
+ <div class="gallery-grid-item">';
1781
+ }
1782
+ if($settings['eael_fg_caption_style'] === 'card' && $item['video_gallery_switch'] === 'false' && $settings['eael_fg_show_popup'] === 'media') {
1783
+ $html .= '<a href="'.esc_url($item['image']).'" class="eael-magnific-link media-content-wrap">';
1784
+ }
1785
+ $html .= '<div class="gallery-item-thumbnail-wrap">
1786
+ <img src="'.$item['image'].'" alt="'.$item['title'].'">';
1787
+
1788
+ if( isset($item['video_gallery_switch']) && ($item['video_gallery_switch'] === 'true') ) {
1789
+ $icon_url = isset($item['play_icon']['url']) ? $item['play_icon']['url'] : '';
1790
+ $video_url = isset($item['video_link']) ? $item['video_link'] : '#';
1791
+
1792
+ $html .= '<a href="'.esc_url($video_url).'" class="video-popup eael-magnific-video-link">
1793
+ <div class="video-popup-bg"></div>';
1794
+
1795
+ if( ! empty($icon_url) ) {
1796
+ $html .= '<img src="'.esc_url($icon_url).'">';
1797
+ }
1798
+
1799
+ $html .='</a>';
1800
+ }
1801
+
1802
+ $html .= '</div>';
1803
+
1804
+ if( $settings['eael_fg_caption_style'] == 'card' ) {
1805
+ $html .='</a>';
1806
+ }
1807
+
1808
+
1809
+ if( $settings['eael_fg_show_popup'] == 'media' && $settings['eael_fg_caption_style'] !== 'card' ) {
1810
+ $html .= '<a href="'.esc_url($item['image']).'" class="eael-magnific-link media-content-wrap">';
1811
+ }
1812
+
1813
+
1814
+ if( $item['video_gallery_switch'] === 'false' || $settings['eael_fg_caption_style'] === 'card' ) {
1815
+
1816
+ if($settings['eael_fg_grid_hover_style'] !== 'eael-none') {
1817
+
1818
+ $html .= '<div class="gallery-item-caption-wrap '.$caption_style.' '.$settings['eael_fg_grid_hover_style'].'">';
1819
+
1820
+ if( 'hoverer' == $settings['eael_fg_caption_style'] ) {
1821
+ $html .= '<div class="gallery-item-hoverer-bg"></div>';
1822
+ }
1823
+ $html .= '<div class="gallery-item-caption-over">';
1824
+ $html .= '
1825
+ <h5 class="fg-item-title">'.$item['title'].'</h5>
1826
+ <p class="fg-item-content">'.$item['content'].'</p>
1827
+ ';
1828
+ if( $settings['eael_fg_show_popup'] == 'buttons') {
1829
+
1830
+ $html .= '<div class="gallery-item-buttons">';
1831
+
1832
+ if( ! empty($settings['eael_section_fg_zoom_icon']) && ($item['show_lightbox'] == true) ) {
1833
+ $html .='<a href="'.esc_url($item['image']).'" class="eael-magnific-link"><i class="'.$settings['eael_section_fg_zoom_icon'].'" aria-hidden="true"></i></a>';
1834
+ }
1835
+
1836
+ if( $item['maybe_link'] == 'true' ) {
1837
+ $a_string = 'href="'.esc_url($item['link']['url']).'"';
1838
+
1839
+ if($item['link']['nofollow']) {
1840
+ $a_string .= 'rel="nofollow"';
1841
+ }
1842
+
1843
+ if($item['link']['is_external']) {
1844
+ $a_string .= 'target="_blank"';
1845
+ }
1846
+
1847
+ if( ! empty($settings['eael_section_fg_link_icon']) ) {
1848
+ $html .= '<a '.$a_string.'><i class="'.$settings['eael_section_fg_link_icon'].'" aria-hidden="true"></i></a>';
1849
+ }
1850
+ }
1851
+
1852
+ $html .= '</div>';
1853
+ }
1854
+ $html .= '</div></div>';
1855
+ }
1856
+
1857
+ }
1858
+
1859
+ if( $settings['eael_fg_show_popup'] == 'media') {
1860
+ $html .='</a>';
1861
+ }
1862
+
1863
+
1864
+ $html .='
1865
  </div>
1866
+ </div>';
1867
+
1868
+ $gallery_markup[] = $html;
1869
+ }
1870
+ return $gallery_markup;
1871
  }
1872
 
1873
+ protected function render() {
1874
+ $settings = $this->get_settings();
1875
 
1876
+ if( !empty( $settings['eael_fg_filter_duration'] ) ) {
1877
+ $filter_duration = $settings['eael_fg_filter_duration'];
1878
+ }else {
1879
+ $filter_duration = 500;
1880
+ }
1881
 
1882
+ $popup_show = false;
1883
+
1884
+ $this->add_render_attribute(
1885
+ 'gallery',
1886
+ [
1887
+ 'id' => 'eael-filter-gallery-wrapper-'.esc_attr($this->get_id()),
1888
+ 'class' => 'eael-filter-gallery-wrapper'
1889
+ ]
1890
+ );
1891
 
1892
+ $gallery_settings = [
1893
+ 'grid_style' => $settings['eael_fg_grid_style'],
1894
+ 'popup' => $settings['eael_fg_show_popup'],
1895
+ 'duration' => $filter_duration,
1896
+ 'gallery_enabled' => $popup_show
1897
+ ];
1898
+
1899
+ if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
1900
+ $gallery_settings['post_id'] = \Elementor\Plugin::$instance->editor->get_post_id();
1901
+ } else {
1902
+ $gallery_settings['post_id'] = get_the_ID();
1903
+ }
1904
+
1905
+ $gallery_settings['widget_id'] = $this->get_id();
1906
+
1907
+ $no_more_items_text = esc_html__( $settings['nomore_items_text'], 'essential-addons-elementor' );
1908
+
1909
+ $this->add_render_attribute('gallery-items-wrap', [
1910
+ 'class' => [
1911
+ 'eael-filter-gallery-container',
1912
+ esc_attr($settings['eael_fg_grid_style'])
1913
+ ],
1914
+ 'data-images-per-page' => $settings['images_per_page'],
1915
+ 'data-total-gallery-items' => count($settings['eael_fg_gallery_items']),
1916
+ 'data-nomore-item-text' => $no_more_items_text
1917
+ ]);
1918
+
1919
+ $this->add_render_attribute('gallery-items-wrap', 'data-settings', wp_json_encode($gallery_settings));
1920
+ $this->add_render_attribute('gallery-items-wrap', 'data-gallery-items', wp_json_encode($this->render_gallery_items()));
1921
+ $this->add_render_attribute('gallery-items-wrap', 'data-init-show', esc_attr($settings['eael_fg_items_to_show']));
1922
+ ?>
1923
+ <div <?php echo $this->get_render_attribute_string('gallery'); ?>>
1924
+ <?php $this->render_filters(); ?>
1925
+ <div <?php echo $this->get_render_attribute_string('gallery-items-wrap'); ?>>
1926
+ <?php
1927
+ $init_show = $settings['eael_fg_items_to_show'];
1928
+
1929
+ for( $i = 0; $i < $init_show; $i++ ) {
1930
+ if( array_key_exists($i, $this->render_gallery_items() ) ) {
1931
+ echo $this->render_gallery_items()[$i];
1932
+ }
1933
+ }
1934
+ ?>
1935
+ </div>
1936
+ <?php
1937
+ if ( \Elementor\Plugin::instance()->editor->is_edit_mode() ) {
1938
+ $this->render_editor_script();
1939
+ }
1940
+ $this->render_loadmore_button();
1941
+ ?>
1942
+ </div>
1943
+ <?php
1944
  }
1945
+
1946
+ /**
1947
+ * Render masonry script
1948
+ *
1949
+ * @access protected
1950
+ */
1951
+ protected function render_editor_script() { ?>
1952
+ <script type="text/javascript">
1953
+ jQuery( document ).ready(function( $ ) {
1954
+ $('.eael-filter-gallery-container').each(function() {
1955
+ var $node_id = '<?php echo $this->get_id(); ?>',
1956
+ $scope = $( '[data-id="' + $node_id + '"]' ),
1957
+ $gallery = $(this),
1958
+ $settings = $gallery.data('settings');
1959
+
1960
+ if ( $gallery.closest( $scope ).length < 1 ) {
1961
+ return;
1962
+ }
1963
+
1964
+ var $layout_mode = 'fitRows';
1965
+
1966
+ if( $settings.grid_style == 'masonry' ) {
1967
+ $layout_mode = 'masonry';
1968
+ }
1969
+
1970
+ var $isotope_args = {
1971
+ itemSelector: '.eael-filterable-gallery-item-wrap',
1972
+ layoutMode : $layout_mode,
1973
+ percentPosition : true,
1974
+ };
1975
+
1976
+ var $isotope_gallery = {};
1977
+
1978
+ $gallery.imagesLoaded( function(e) {
1979
+ $isotope_gallery = $gallery.isotope( $isotope_args );
1980
+ $gallery.find('.eael-filterable-gallery-item-wrap').resize( function() {
1981
+ $gallery.isotope( 'layout' );
1982
+ });
1983
+ });
1984
+
1985
+ $scope.on('click', '.control', function() {
1986
+ var $this = $(this),
1987
+ filterValue = $this.attr('data-filter');
1988
+
1989
+ $this.siblings().removeClass('active');
1990
+ $this.addClass('active');
1991
+ $isotope_gallery.isotope({ filter: filterValue });
1992
+ });
1993
+
1994
+ });
1995
+ });
1996
+ </script>
1997
+ <?php
1998
+ }
1999
+
2000
+ protected function content_template() {}
2001
  }
2002
 
2003
 
elements/post-grid/post-grid.php CHANGED
@@ -24,15 +24,17 @@ class Widget_Eael_Post_Grid extends Widget_Base {
24
  }
25
 
26
  protected function _register_controls() {
 
27
  /**
28
  * Query And Layout Controls!
29
  * @source includes/elementor-helper.php
30
  */
31
  $this->query_controls();
32
  $this->layout_controls();
33
- $this->eae_go_premium();
34
-
35
 
 
 
 
36
  $this->start_controls_section(
37
  'eael_section_post_grid_style',
38
  [
@@ -54,19 +56,6 @@ class Widget_Eael_Post_Grid extends Widget_Base {
54
  ]
55
  );
56
 
57
- $this->add_control(
58
- 'eael_thumbnail_overlay_color',
59
- [
60
- 'label' => __( 'Thumbnail Overlay Color', 'essential-addons-elementor' ),
61
- 'type' => Controls_Manager::COLOR,
62
- 'default' => 'rgba(0,0,0, .75)',
63
- 'selectors' => [
64
- '{{WRAPPER}} .eael-entry-overlay' => 'background-color: {{VALUE}}',
65
- ]
66
-
67
- ]
68
- );
69
-
70
  $this->add_responsive_control(
71
  'eael_post_grid_spacing',
72
  [
@@ -134,7 +123,7 @@ class Widget_Eael_Post_Grid extends Widget_Base {
134
  'type' => Controls_Manager::COLOR,
135
  'default'=> '#303133',
136
  'selectors' => [
137
- '{{WRAPPER}} .eael-entry-title, {{WRAPPER}} .eael-entry-title a' => 'color: {{VALUE}};',
138
  ]
139
 
140
  ]
@@ -242,7 +231,7 @@ class Widget_Eael_Post_Grid extends Widget_Base {
242
  Group_Control_Typography::get_type(),
243
  [
244
  'name' => 'eael_post_grid_excerpt_typography',
245
- 'label' => __( 'excerpt Typography', 'essential-addons-elementor' ),
246
  'scheme' => Scheme_Typography::TYPOGRAPHY_3,
247
  'selector' => '{{WRAPPER}} .eael-grid-post-excerpt p',
248
  ]
@@ -295,6 +284,7 @@ class Widget_Eael_Post_Grid extends Widget_Base {
295
  ],
296
  'selectors' => [
297
  '{{WRAPPER}} .eael-entry-footer' => 'justify-content: {{VALUE}};',
 
298
  ],
299
  ]
300
  );
@@ -302,22 +292,126 @@ class Widget_Eael_Post_Grid extends Widget_Base {
302
  $this->add_group_control(
303
  Group_Control_Typography::get_type(),
304
  [
305
- 'name' => 'eael_post_grid_meta_typography',
306
- 'label' => __( 'Excerpt Typography', 'essential-addons-elementor' ),
307
- 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
308
- 'selector' => '{{WRAPPER}} .eael-entry-meta > div',
309
  ]
310
  );
311
 
312
 
313
  $this->end_controls_section();
314
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
  $this->load_more_button_style();
316
 
317
  }
318
 
319
 
320
- protected function render( ) {
 
 
 
 
 
 
 
 
 
 
321
  $settings = $this->get_settings();
322
  /**
323
  * Setup the post arguments.
@@ -338,14 +432,14 @@ class Widget_Eael_Post_Grid extends Widget_Base {
338
  * Set total posts.
339
  */
340
  $total_post = $posts['count'];
341
- ?>
342
  <div id="eael-post-grid-<?php echo esc_attr($this->get_id()); ?>" class="eael-post-grid-container <?php echo esc_attr($settings['eael_post_grid_columns'] ); ?>">
343
  <div class="eael-post-grid eael-post-appender-<?php echo esc_attr( $this->get_id() ); ?>">
344
  <?php
345
  if( ! empty( $posts['content'] ) ){
346
  echo $posts['content'];
347
  } else {
348
- echo '<p>Something went wrong.</p>';
349
  }
350
  ?>
351
  </div>
@@ -354,7 +448,7 @@ class Widget_Eael_Post_Grid extends Widget_Base {
354
  <?php
355
  if( 1 == $settings['show_load_more'] ) :
356
  if(
357
- $settings['posts_per_page'] != '-1'
358
  && $total_post != $settings['posts_per_page']
359
  && $total_post > intval( $settings['offset'] ) + intval( ! empty( $settings['posts_per_page'] ) ? $settings['posts_per_page'] : 4 )
360
  ) :
@@ -366,59 +460,58 @@ class Widget_Eael_Post_Grid extends Widget_Base {
366
  <span><?php echo esc_html__( $settings['show_load_more_text'], 'essential-addons-elementor' ); ?></span>
367
  </button>
368
  </div>
369
- <?php endif; endif; ?>
370
  <!-- Loading Lode More Js -->
371
  <script>
372
- jQuery(document).ready(function($) {
373
-
374
- 'use strict';
375
- var options = {
376
- totalPosts: <?php echo $total_post; ?>,
377
- loadMoreBtn: $( '#eael-load-more-btn-<?php echo $this->get_id(); ?>' ),
378
- postContainer: $( '.eael-post-appender-<?php echo esc_attr( $this->get_id() ); ?>' ),
379
- postStyle: 'grid',
380
- }
381
-
382
- var settings = {
383
- postType: '<?php echo $settings['post_type']; ?>',
384
- perPage: <?php echo $settings['posts_per_page'] != '' ? $settings['posts_per_page'] : '4'; ?>,
385
- postOrder: '<?php echo $settings['order']; ?>',
386
- orderBy: '<?php echo $settings['orderby']; ?>',
387
- showImage: <?php echo $settings['eael_show_image']; ?>,
388
- imageSize: '<?php echo $settings['image_size']; ?>',
389
- showTitle: <?php echo $settings['eael_show_title']; ?>,
390
- showExcerpt: <?php echo $settings['eael_show_excerpt']; ?>,
391
- showMeta: <?php echo $settings['eael_show_meta']; ?>,
392
-
393
- offset: <?php echo intval( $settings['offset'] ); ?>,
394
-
395
- metaPosition: '<?php echo $settings['meta_position']; ?>',
396
- excerptLength: parseInt( <?php echo $settings['eael_excerpt_length']; ?>, 10 ),
397
- btnText: '<?php echo $settings['show_load_more_text']; ?>',
398
-
399
- tax_query: <?php echo json_encode( ! empty( $tax_query ) ? $tax_query : [] ); ?>,
400
-
401
- exclude_posts: <?php echo json_encode( ! empty( $settings['post__not_in'] ) ? $settings['post__not_in'] : [] ); ?>,
402
- post__in: <?php echo json_encode( ! empty( $settings['post__in'] ) ? $settings['post__in'] : [] ); ?>,
403
- }
404
-
405
- loadMore( options, settings );
406
-
407
- // Load Masonry Js
408
- $(window).load(function(){
409
- $('.eael-post-grid').masonry({
410
- itemSelector: '.eael-grid-post',
411
- percentPosition: true,
412
- columnWidth: '.eael-post-grid-column'
 
 
413
  });
 
414
  });
415
- });
416
  </script>
417
-
418
- <?php
419
  }
420
 
421
  protected function content_template() {}
422
-
423
  }
424
  Plugin::instance()->widgets_manager->register_widget_type( new Widget_Eael_Post_Grid() );
24
  }
25
 
26
  protected function _register_controls() {
27
+
28
  /**
29
  * Query And Layout Controls!
30
  * @source includes/elementor-helper.php
31
  */
32
  $this->query_controls();
33
  $this->layout_controls();
 
 
34
 
35
+ /**
36
+ * Grid Style Controls!
37
+ */
38
  $this->start_controls_section(
39
  'eael_section_post_grid_style',
40
  [
56
  ]
57
  );
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  $this->add_responsive_control(
60
  'eael_post_grid_spacing',
61
  [
123
  'type' => Controls_Manager::COLOR,
124
  'default'=> '#303133',
125
  'selectors' => [
126
+ '{{WRAPPER}} .eael-entry-title a' => 'color: {{VALUE}};',
127
  ]
128
 
129
  ]
231
  Group_Control_Typography::get_type(),
232
  [
233
  'name' => 'eael_post_grid_excerpt_typography',
234
+ 'label' => __( 'Excerpt Typography', 'essential-addons-elementor' ),
235
  'scheme' => Scheme_Typography::TYPOGRAPHY_3,
236
  'selector' => '{{WRAPPER}} .eael-grid-post-excerpt p',
237
  ]
284
  ],
285
  'selectors' => [
286
  '{{WRAPPER}} .eael-entry-footer' => 'justify-content: {{VALUE}};',
287
+ '{{WRAPPER}} .eael-entry-meta' => 'justify-content: {{VALUE}};'
288
  ],
289
  ]
290
  );
292
  $this->add_group_control(
293
  Group_Control_Typography::get_type(),
294
  [
295
+ 'name' => 'eael_post_grid_meta_typography',
296
+ 'label' => __( 'Meta Typography', 'essential-addons-elementor' ),
297
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
298
+ 'selector' => '{{WRAPPER}} .eael-entry-meta > div, {{WRAPPER}} .eael-entry-meta > span',
299
  ]
300
  );
301
 
302
 
303
  $this->end_controls_section();
304
 
305
+ $this->start_controls_section(
306
+ 'eael_section_hover_card_styles',
307
+ [
308
+ 'label' => __( 'Hover Card Style', 'essential-addons-elementor' ),
309
+ 'tab' => Controls_Manager::TAB_STYLE
310
+ ]
311
+ );
312
+
313
+ $this->add_control(
314
+ 'eael_post_grid_hover_animation',
315
+ [
316
+ 'label' => esc_html__( 'Animation', 'essential-addons-elementor' ),
317
+ 'type' => Controls_Manager::SELECT,
318
+ 'default' => 'fade-in',
319
+ 'options' => [
320
+ 'none' => esc_html__( 'None', 'essential-addons-elementor' ),
321
+ 'fade-in' => esc_html__( 'FadeIn', 'essential-addons-elementor' ),
322
+ 'zoom-in' => esc_html__( 'ZoomIn', 'essential-addons-elementor' ),
323
+ 'slide-up' => esc_html__( 'SlideUp', 'essential-addons-elementor' ),
324
+ ],
325
+ ]
326
+ );
327
+
328
+ $this->add_control(
329
+ 'eael_post_grid_bg_hover_icon',
330
+ [
331
+ 'label' => __( 'Post Hover Icon', 'essential-addons-elementor' ),
332
+ 'type' => Controls_Manager::ICON,
333
+ 'default' => 'fa fa-long-arrow-right',
334
+ 'condition' => [
335
+ 'eael_post_grid_hover_animation!' => 'none'
336
+ ]
337
+ ]
338
+ );
339
+
340
+ $this->add_control(
341
+ 'eael_post_grid_hover_bg_color',
342
+ [
343
+ 'label' => __( 'Background Color', 'essential-addons-elementor' ),
344
+ 'type' => Controls_Manager::COLOR,
345
+ 'default' => 'rgba(0,0,0, .75)',
346
+ 'selectors' => [
347
+ '{{WRAPPER}} .eael-grid-post .eael-entry-overlay' => 'background-color: {{VALUE}}',
348
+ ]
349
+
350
+ ]
351
+ );
352
+
353
+ $this->add_control(
354
+ 'eael_post_grid_hover_icon_color',
355
+ [
356
+ 'label' => __( 'Icon Color', 'essential-addons-elementor' ),
357
+ 'type' => Controls_Manager::COLOR,
358
+ 'default' => '#ffffff',
359
+ 'selectors' => [
360
+ '{{WRAPPER}} .eael-grid-post .eael-entry-overlay > i' => 'color: {{VALUE}}',
361
+ ]
362
+
363
+ ]
364
+ );
365
+
366
+ $this->add_responsive_control(
367
+ 'eael_post_grid_hover_icon_fontsize',
368
+ [
369
+ 'label' => __( 'Icon font size', 'plugin-domain' ),
370
+ 'type' => Controls_Manager::SLIDER,
371
+ 'default' => [
372
+ 'unit' => 'px',
373
+ 'size' => 18,
374
+ ],
375
+ 'size_units' => [ 'px', 'em' ],
376
+ 'range' => [
377
+ 'px' => [
378
+ 'min' => 0,
379
+ 'max' => 100,
380
+ 'step' => 1,
381
+ ],
382
+ 'em' => [
383
+ 'min' => 0,
384
+ 'max' => 100,
385
+ 'step' => 1,
386
+ ]
387
+ ],
388
+ 'selectors' => [
389
+ '{{WRAPPER}} .eael-grid-post .eael-entry-overlay > i' => 'font-size: {{SIZE}}{{UNIT}};',
390
+ ],
391
+ ]
392
+ );
393
+
394
+ $this->end_controls_section();
395
+
396
+ /**
397
+ * Load More Button Style Controls!
398
+ */
399
  $this->load_more_button_style();
400
 
401
  }
402
 
403
 
404
+ protected function render() {
405
+
406
+ /**
407
+ * Query And Layout Controls!
408
+ * @source includes/elementor-helper.php
409
+ */
410
+ $this->query_controls();
411
+ $this->layout_controls();
412
+ $this->eae_go_premium();
413
+
414
+
415
  $settings = $this->get_settings();
416
  /**
417
  * Setup the post arguments.
432
  * Set total posts.
433
  */
434
  $total_post = $posts['count'];
435
+ ?>
436
  <div id="eael-post-grid-<?php echo esc_attr($this->get_id()); ?>" class="eael-post-grid-container <?php echo esc_attr($settings['eael_post_grid_columns'] ); ?>">
437
  <div class="eael-post-grid eael-post-appender-<?php echo esc_attr( $this->get_id() ); ?>">
438
  <?php
439
  if( ! empty( $posts['content'] ) ){
440
  echo $posts['content'];
441
  } else {
442
+ echo '<p class="text-danger">Something went wrong.</p>';
443
  }
444
  ?>
445
  </div>
448
  <?php
449
  if( 1 == $settings['show_load_more'] ) :
450
  if(
451
+ $settings['posts_per_page'] != '-1'
452
  && $total_post != $settings['posts_per_page']
453
  && $total_post > intval( $settings['offset'] ) + intval( ! empty( $settings['posts_per_page'] ) ? $settings['posts_per_page'] : 4 )
454
  ) :
460
  <span><?php echo esc_html__( $settings['show_load_more_text'], 'essential-addons-elementor' ); ?></span>
461
  </button>
462
  </div>
 
463
  <!-- Loading Lode More Js -->
464
  <script>
465
+ jQuery(document).ready(function($) {
466
+ 'use strict';
467
+ var options = {
468
+ totalPosts: <?php echo $total_post; ?>,
469
+ loadMoreBtn: $( '#eael-load-more-btn-<?php echo $this->get_id(); ?>' ),
470
+ postContainer: $( '.eael-post-appender-<?php echo esc_attr( $this->get_id() ); ?>' ),
471
+ postStyle: 'grid',
472
+ }
473
+
474
+ var settings = {
475
+ postType: '<?php echo $settings['post_type']; ?>',
476
+ perPage: <?php echo $settings['posts_per_page'] != '' ? $settings['posts_per_page'] : '4'; ?>,
477
+ postOrder: '<?php echo $settings['order']; ?>',
478
+ orderBy: '<?php echo $settings['orderby']; ?>',
479
+ showImage: <?php echo $settings['eael_show_image']; ?>,
480
+ imageSize: '<?php echo $settings['image_size']; ?>',
481
+ showTitle: <?php echo $settings['eael_show_title']; ?>,
482
+ showExcerpt: <?php echo $settings['eael_show_excerpt']; ?>,
483
+ showMeta: <?php echo $settings['eael_show_meta']; ?>,
484
+
485
+ offset: <?php echo intval( $settings['offset'] ); ?>,
486
+
487
+ metaPosition: '<?php echo $settings['meta_position']; ?>',
488
+ excerptLength: parseInt( <?php echo $settings['eael_excerpt_length']; ?>, 10 ),
489
+ btnText: '<?php echo $settings['show_load_more_text']; ?>',
490
+
491
+ tax_query: <?php echo json_encode( ! empty( $tax_query ) ? $tax_query : [] ); ?>,
492
+
493
+ exclude_posts: <?php echo json_encode( ! empty( $settings['post__not_in'] ) ? $settings['post__not_in'] : [] ); ?>,
494
+ post__in: <?php echo json_encode( ! empty( $settings['post__in'] ) ? $settings['post__in'] : [] ); ?>,
495
+ hover_animation: '<?php echo $settings['eael_post_grid_hover_animation']; ?>',
496
+ hover_icon: '<?php echo $settings['eael_post_grid_bg_hover_icon']; ?>'
497
+ }
498
+
499
+ eaelLoadMore( options, settings );
500
+
501
+ // Load Masonry Js
502
+ $(window).load(function(){
503
+ $('.eael-post-grid:not(.eael-post-carousel)').masonry({
504
+ itemSelector: '.eael-grid-post',
505
+ percentPosition: true,
506
+ columnWidth: '.eael-post-grid-column'
507
+ });
508
  });
509
+
510
  });
 
511
  </script>
512
+ <?php endif; endif;
 
513
  }
514
 
515
  protected function content_template() {}
 
516
  }
517
  Plugin::instance()->widgets_manager->register_widget_type( new Widget_Eael_Post_Grid() );
elements/progress-bar/progress-bar.php ADDED
@@ -0,0 +1,1098 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Elementor;
3
+
4
+ if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
5
+
6
+
7
+ class Widget_Eael_Progress_Bar extends Widget_Base {
8
+
9
+ public function get_name() {
10
+ return 'eael-progress-bar';
11
+ }
12
+
13
+ public function get_title() {
14
+ return esc_html__( 'EA Progress Bar', 'essential-addons-elementor' );
15
+ }
16
+
17
+ public function get_icon() {
18
+ return 'fa fa-tasks';
19
+ }
20
+
21
+ public function get_categories() {
22
+ return [ 'essential-addons-elementor' ];
23
+ }
24
+
25
+ protected function _register_controls() {
26
+
27
+ /*-----------------------------------------------------------------------------------*/
28
+ /* CONTENT TAB
29
+ /*-----------------------------------------------------------------------------------*/
30
+
31
+ /**
32
+ * Content Tab: Progress
33
+ */
34
+ $this->start_controls_section(
35
+ 'eael_section_progress_bar',
36
+ [
37
+ 'label' => __( 'Progress', 'essential-addons-elementor' ),
38
+ ]
39
+ );
40
+
41
+ $this->add_control(
42
+ 'progress_bar_show_title',
43
+ [
44
+ 'label' => esc_html__( 'Display Title', 'essential-addons-elementor' ),
45
+ 'type' => Controls_Manager::SWITCHER,
46
+ 'return_value' => 'yes',
47
+ 'default' => 'yes',
48
+ ]
49
+ );
50
+
51
+ $this->add_control(
52
+ 'progress_bar_title',
53
+ [
54
+ 'label' => __( 'Title', 'essential-addons-elementor' ),
55
+ 'type' => Controls_Manager::TEXT,
56
+ 'dynamic' => [
57
+ 'active' => true,
58
+ ],
59
+ 'default' => __( 'Progress Bar Title', 'essential-addons-elementor' ),
60
+ 'separator' => 'before',
61
+ ]
62
+ );
63
+
64
+ $this->add_control(
65
+ 'title_html_tag',
66
+ [
67
+ 'label' => __( 'Title HTML Tag', 'essential-addons-elementor' ),
68
+ 'type' => Controls_Manager::SELECT,
69
+ 'default' => 'div',
70
+ 'options' => [
71
+ 'h1' => __( 'H1', 'essential-addons-elementor' ),
72
+ 'h2' => __( 'H2', 'essential-addons-elementor' ),
73
+ 'h3' => __( 'H3', 'essential-addons-elementor' ),
74
+ 'h4' => __( 'H4', 'essential-addons-elementor' ),
75
+ 'h5' => __( 'H5', 'essential-addons-elementor' ),
76
+ 'h6' => __( 'H6', 'essential-addons-elementor' ),
77
+ 'div' => __( 'div', 'essential-addons-elementor' ),
78
+ 'span' => __( 'span', 'essential-addons-elementor' ),
79
+ 'p' => __( 'p', 'essential-addons-elementor' ),
80
+ ],
81
+ ]
82
+ );
83
+
84
+ $this->add_control(
85
+ 'progress_bar_layout',
86
+ [
87
+ 'label' => __( 'Layout', 'essential-addons-elementor' ),
88
+ 'type' => Controls_Manager::SELECT,
89
+ 'default' => 'line',
90
+ 'options' => [
91
+ 'line' => __( 'Line', 'essential-addons-elementor' ),
92
+ 'fan' => __( 'Fan', 'essential-addons-elementor' ),
93
+ 'circle' => __( 'Circle', 'essential-addons-elementor' ),
94
+ 'bubble' => __( 'Bubble', 'essential-addons-elementor' ),
95
+ 'rainbow' => __( 'Rainbow', 'essential-addons-elementor' )
96
+ ],
97
+ 'separator' => 'before',
98
+ ]
99
+ );
100
+
101
+ $this->add_control(
102
+ 'progress_bar_show_number',
103
+ [
104
+ 'label' => esc_html__( 'Display Number', 'essential-addons-elementor' ),
105
+ 'type' => Controls_Manager::SWITCHER,
106
+ 'return_value' => 'yes',
107
+ 'default' => 'yes',
108
+ ]
109
+ );
110
+
111
+ $this->add_control(
112
+ 'progress_number',
113
+ [
114
+ 'label' => __( 'Number', 'essential-addons-elementor' ),
115
+ 'type' => Controls_Manager::NUMBER,
116
+ 'dynamic' => [
117
+ 'active' => true,
118
+ ],
119
+ 'default' => __( '60', 'essential-addons-elementor' ),
120
+ 'separator' => 'before',
121
+ ]
122
+ );
123
+
124
+ $this->end_controls_section();
125
+
126
+ /**
127
+ * Content Tab: Settings for line progress bar
128
+ */
129
+
130
+ $this->start_controls_section(
131
+ 'section_progress_bar_line_settings',
132
+ [
133
+ 'label' => __( 'Line Progress Bar Settings ', 'essential-addons-elementor' ),
134
+ 'condition' => [
135
+ 'progress_bar_layout' => 'line',
136
+ ],
137
+ ]
138
+ );
139
+
140
+ $this->add_control(
141
+ 'progress_bar_line_direction',
142
+ [
143
+ 'label' => __( 'Direction', 'essential-addons-elementor' ),
144
+ 'type' => Controls_Manager::CHOOSE,
145
+ 'options' => [
146
+ 'normal' => [
147
+ 'title' => __( 'Left To Right', 'essential-addons-elementor' ),
148
+ 'icon' => 'fa fa-align-left',
149
+ ],
150
+ 'reverse' => [
151
+ 'title' => __( 'Right To Left', 'essential-addons-elementor' ),
152
+ 'icon' => 'fa fa-align-right',
153
+ ],
154
+ ],
155
+ 'default' => 'normal',
156
+ ]
157
+ );
158
+
159
+ $this->add_control(
160
+ 'progress_bar_line_stroke_color',
161
+ [
162
+ 'label' => __( 'Stroke Color', 'essential-addons-elementor' ),
163
+ 'type' => Controls_Manager::COLOR,
164
+ 'default' => '#25b',
165
+ ]
166
+ );
167
+
168
+ $this->add_control(
169
+ 'progress_bar_line_stroke_width',
170
+ [
171
+ 'label' => __( 'Stroke Width', 'essential-addons-elementor' ),
172
+ 'type' => Controls_Manager::NUMBER,
173
+ 'min' => 1,
174
+ 'max' => 100,
175
+ 'step' => 1,
176
+ 'default' => 3,
177
+ ]
178
+ );
179
+
180
+ $this->add_control(
181
+ 'progress_bar_line_stroke_trail_color',
182
+ [
183
+ 'label' => __( 'Stroke Trail Color', 'essential-addons-elementor' ),
184
+ 'type' => Controls_Manager::COLOR,
185
+ 'default' => '#ddd',
186
+ ]
187
+ );
188
+
189
+ $this->add_control(
190
+ 'progress_bar_line_stroke_trail_width',
191
+ [
192
+ 'label' => __( 'Stroke Trail Width', 'essential-addons-elementor' ),
193
+ 'type' => Controls_Manager::NUMBER,
194
+ 'min' => 1,
195
+ 'max' => 100,
196
+ 'step' => .5,
197
+ 'default' => .5,
198
+ ]
199
+ );
200
+
201
+ $this->end_controls_section();
202
+
203
+ /**
204
+ * Content Tab: Settings for fan progress bar
205
+ */
206
+
207
+ $this->start_controls_section(
208
+ 'section_progress_bar_fan_settings',
209
+ [
210
+ 'label' => __( 'Fan Progress Bar Settings ', 'essential-addons-elementor' ),
211
+ 'condition' => [
212
+ 'progress_bar_layout' => 'fan',
213
+ ],
214
+ ]
215
+ );
216
+
217
+ $this->add_control(
218
+ 'progress_bar_fan_direction',
219
+ [
220
+ 'label' => __( 'Direction', 'essential-addons-elementor' ),
221
+ 'type' => Controls_Manager::CHOOSE,
222
+ 'options' => [
223
+ 'ltr' => [
224
+ 'title' => __( 'Left To Right', 'essential-addons-elementor' ),
225
+ 'icon' => 'fa fa-align-left',
226
+ ],
227
+ 'rtl' => [
228
+ 'title' => __( 'Right To Left', 'essential-addons-elementor' ),
229
+ 'icon' => 'fa fa-align-right',
230
+ ],
231
+ 'btt' => [
232
+ 'title' => __( 'Bottom To Top', 'essential-addons-elementor' ),
233
+ 'icon' => 'fa fa-arrow-up',
234
+ ],
235
+ 'ttb' => [
236
+ 'title' => __( 'Top To Bottom', 'essential-addons-elementor' ),
237
+ 'icon' => 'fa fa-arrow-down',
238
+ ],
239
+ ],
240
+ 'default' => 'btt',
241
+ ]
242
+ );
243
+
244
+ $this->add_control(
245
+ 'progress_bar_fan_stroke_color',
246
+ [
247
+ 'label' => __( 'Stroke Color', 'essential-addons-elementor' ),
248
+ 'type' => Controls_Manager::COLOR,
249
+ 'default' => '#25b',
250
+ ]
251
+ );
252
+
253
+ $this->add_control(
254
+ 'progress_bar_fan_stroke_width',
255
+ [
256
+ 'label' => __( 'Stroke Width', 'essential-addons-elementor' ),
257
+ 'type' => Controls_Manager::NUMBER,
258
+ 'min' => 1,
259
+ 'max' => 100,
260
+ 'step' => 1,
261
+ 'default' => 3,
262
+ ]
263
+ );
264
+
265
+ $this->add_control(
266
+ 'progress_bar_fan_stroke_trail_color',
267
+ [
268
+ 'label' => __( 'Stroke Trail Color', 'essential-addons-elementor' ),
269
+ 'type' => Controls_Manager::COLOR,
270
+ 'default' => '#ddd',
271
+ ]
272
+ );
273
+
274
+ $this->add_control(
275
+ 'progress_bar_fan_stroke_trail_width',
276
+ [
277
+ 'label' => __( 'Stroke Trail Width', 'essential-addons-elementor' ),
278
+ 'type' => Controls_Manager::NUMBER,
279
+ 'min' => 1,
280
+ 'max' => 100,
281
+ 'step' => 1,
282
+ 'default' => 1,
283
+ ]
284
+ );
285
+
286
+ $this->end_controls_section();
287
+
288
+ /**
289
+ * Content Tab: Settings for circle progress bar
290
+ */
291
+
292
+ $this->start_controls_section(
293
+ 'section_progress_bar_circle_settings',
294
+ [
295
+ 'label' => __( 'Circle Progress Bar Settings ', 'essential-addons-elementor' ),
296
+ 'condition' => [
297
+ 'progress_bar_layout' => 'circle',
298
+ ],
299
+ ]
300
+ );
301
+
302
+ $this->add_control(
303
+ 'progress_bar_circle_direction',
304
+ [
305
+ 'label' => __( 'Direction', 'essential-addons-elementor' ),
306
+ 'type' => Controls_Manager::CHOOSE,
307
+ 'options' => [
308
+ 'ltr' => [
309
+ 'title' => __( 'Left To Right', 'essential-addons-elementor' ),
310
+ 'icon' => 'fa fa-align-left',
311
+ ],
312
+ 'rtl' => [
313
+ 'title' => __( 'Right To Left', 'essential-addons-elementor' ),
314
+ 'icon' => 'fa fa-align-right',
315
+ ],
316
+ 'btt' => [
317
+ 'title' => __( 'Bottom To Top', 'essential-addons-elementor' ),
318
+ 'icon' => 'fa fa-arrow-up',
319
+ ],
320
+ 'ttb' => [
321
+ 'title' => __( 'Top To Bottom', 'essential-addons-elementor' ),
322
+ 'icon' => 'fa fa-arrow-down',
323
+ ],
324
+ ],
325
+ 'default' => 'btt',
326
+ ]
327
+ );
328
+
329
+ $this->add_control(
330
+ 'progress_bar_circle_stroke_color',
331
+ [
332
+ 'label' => __( 'Stroke Color', 'essential-addons-elementor' ),
333
+ 'type' => Controls_Manager::COLOR,
334
+ 'default' => '#25b',
335
+ ]
336
+ );
337
+
338
+ $this->add_control(
339
+ 'progress_bar_circle_stroke_width',
340
+ [
341
+ 'label' => __( 'Stroke Width', 'essential-addons-elementor' ),
342
+ 'type' => Controls_Manager::NUMBER,
343
+ 'min' => 1,
344
+ 'max' => 100,
345
+ 'step' => 1,
346
+ 'default' => 3,
347
+ ]
348
+ );
349
+
350
+ $this->add_control(
351
+ 'progress_bar_circle_stroke_trail_color',
352
+ [
353
+ 'label' => __( 'Stroke Trail Color', 'essential-addons-elementor' ),
354
+ 'type' => Controls_Manager::COLOR,
355
+ 'default' => '#ddd',
356
+ ]
357
+ );
358
+
359
+ $this->add_control(
360
+ 'progress_bar_circle_stroke_trail_width',
361
+ [
362
+ 'label' => __( 'Stroke Trail Width', 'essential-addons-elementor' ),
363
+ 'type' => Controls_Manager::NUMBER,
364
+ 'min' => 1,
365
+ 'max' => 100,
366
+ 'step' => 1,
367
+ 'default' => 1,
368
+ ]
369
+ );
370
+
371
+ $this->end_controls_section();
372
+
373
+ /**
374
+ * Content Tab: Settings for bubble progress bar
375
+ */
376
+
377
+ $this->start_controls_section(
378
+ 'section_progress_bar_bubble_settings',
379
+ [
380
+ 'label' => __( 'Bubble Progress Bar Settings ', 'essential-addons-elementor' ),
381
+ 'condition' => [
382
+ 'progress_bar_layout' => 'bubble',
383
+ ],
384
+ ]
385
+ );
386
+
387
+ $this->add_control(
388
+ 'progress_bar_bubble_direction',
389
+ [
390
+ 'label' => __( 'Direction', 'essential-addons-elementor' ),
391
+ 'type' => Controls_Manager::CHOOSE,
392
+ 'options' => [
393
+ 'ltr' => [
394
+ 'title' => __( 'Left To Right', 'essential-addons-elementor' ),
395
+ 'icon' => 'fa fa-align-left',
396
+ ],
397
+ 'rtl' => [
398
+ 'title' => __( 'Right To Left', 'essential-addons-elementor' ),
399
+ 'icon' => 'fa fa-align-right',
400
+ ],
401
+ 'btt' => [
402
+ 'title' => __( 'Bottom To Top', 'essential-addons-elementor' ),
403
+ 'icon' => 'fa fa-arrow-up',
404
+ ],
405
+ 'ttb' => [
406
+ 'title' => __( 'Top To Bottom', 'essential-addons-elementor' ),
407
+ 'icon' => 'fa fa-arrow-down',
408
+ ],
409
+ ],
410
+ 'default' => 'btt',
411
+ ]
412
+ );
413
+
414
+ $this->add_control(
415
+ 'progress_bar_bubble_circle_color',
416
+ [
417
+ 'label' => __( 'Bubble Color', 'essential-addons-elementor' ),
418
+ 'type' => Controls_Manager::COLOR,
419
+ 'default' => '#cef',
420
+ ]
421
+ );
422
+
423
+ $this->add_control(
424
+ 'progress_bar_bubble_bg_color',
425
+ [
426
+ 'label' => __( 'Background Color', 'essential-addons-elementor' ),
427
+ 'type' => Controls_Manager::COLOR,
428
+ 'default' => '#39d',
429
+ ]
430
+ );
431
+
432
+ $this->add_control(
433
+ 'progress_bar_bubble_circle_width',
434
+ [
435
+ 'label' => __( 'Bubble Width', 'essential-addons-elementor' ),
436
+ 'type' => Controls_Manager::NUMBER,
437
+ 'min' => 5,
438
+ 'max' => 150,
439
+ 'step' => 1,
440
+ 'default' => 50,
441
+ ]
442
+ );
443
+
444
+ $this->end_controls_section();
445
+
446
+ /**
447
+ * Content Tab: Settings for rainbow progress bar
448
+ */
449
+
450
+ $this->start_controls_section(
451
+ 'section_progress_bar_rainbow_settings',
452
+ [
453
+ 'label' => __( 'Rainbow Progress Bar Settings ', 'essential-addons-elementor' ),
454
+ 'condition' => [
455
+ 'progress_bar_layout' => 'rainbow',
456
+ ],
457
+ ]
458
+ );
459
+
460
+ $this->add_control(
461
+ 'progress_bar_rainbow_direction',
462
+ [
463
+ 'label' => __( 'Direction', 'essential-addons-elementor' ),
464
+ 'type' => Controls_Manager::CHOOSE,
465
+ 'options' => [
466
+ 'normal' => [
467
+ 'title' => __( 'Left To Right', 'essential-addons-elementor' ),
468
+ 'icon' => 'fa fa-align-left',
469
+ ],
470
+ 'reverse' => [
471
+ 'title' => __( 'Right To Left', 'essential-addons-elementor' ),
472
+ 'icon' => 'fa fa-align-right',
473
+ ],
474
+ ],
475
+ 'default' => 'normal',
476
+ ]
477
+ );
478
+
479
+ $this->add_control(
480
+ 'progress_bar_rainbow_stroke_width',
481
+ [
482
+ 'label' => __( 'Stroke Width', 'essential-addons-elementor' ),
483
+ 'type' => Controls_Manager::NUMBER,
484
+ 'min' => 1,
485
+ 'max' => 100,
486
+ 'step' => 1,
487
+ 'default' => 3,
488
+ ]
489
+ );
490
+
491
+ $this->add_control(
492
+ 'progress_bar_rainbow_stroke_trail_width',
493
+ [
494
+ 'label' => __( 'Stroke Trail Width', 'essential-addons-elementor' ),
495
+ 'type' => Controls_Manager::NUMBER,
496
+ 'min' => 1,
497
+ 'max' => 100,
498
+ 'step' => .5,
499
+ 'default' => .5,
500
+ ]
501
+ );
502
+
503
+ $this->add_control(
504
+ 'progress_bar_rainbow_color_one',
505
+ [
506
+ 'label' => __( 'Gradient Color One', 'essential-addons-elementor' ),
507
+ 'type' => Controls_Manager::COLOR,
508
+ 'default' => '#a551df',
509
+ ]
510
+ );
511
+
512
+ $this->add_control(
513
+ 'progress_bar_rainbow_color_two',
514
+ [
515
+ 'label' => __( 'Gradient Color Two', 'essential-addons-elementor' ),
516
+ 'type' => Controls_Manager::COLOR,
517
+ 'default' => '#fd51ad',
518
+ ]
519
+ );
520
+
521
+ $this->add_control(
522
+ 'progress_bar_rainbow_color_three',
523
+ [
524
+ 'label' => __( 'Gradient Color Three', 'essential-addons-elementor' ),
525
+ 'type' => Controls_Manager::COLOR,
526
+ 'default' => '#ff7f82',
527
+ ]
528
+ );
529
+
530
+ $this->add_control(
531
+ 'progress_bar_rainbow_color_four',
532
+ [
533
+ 'label' => __( 'Gradient Color Four', 'essential-addons-elementor' ),
534
+ 'type' => Controls_Manager::COLOR,
535
+ 'default' => '#ffb874',
536
+ ]
537
+ );
538
+
539
+ $this->add_control(
540
+ 'progress_bar_rainbow_color_five',
541
+ [
542
+ 'label' => __( 'Gradient Color Five', 'essential-addons-elementor' ),
543
+ 'type' => Controls_Manager::COLOR,
544
+ 'default' => '#ffeb90',
545
+ ]
546
+ );
547
+
548
+
549
+
550
+ $this->end_controls_section();
551
+
552
+ /**
553
+ * Content Tab: Settings for energy progress bar
554
+ */
555
+
556
+ $this->start_controls_section(
557
+ 'section_progress_bar_energy_settings',
558
+ [
559
+ 'label' => __( 'Energy Progress Bar Settings ', 'essential-addons-elementor' ),
560
+ 'condition' => [
561
+ 'progress_bar_layout' => 'energy',
562
+ ],
563
+ ]
564
+ );
565
+
566
+ $this->add_control(
567
+ 'progress_bar_energy_direction',
568
+ [
569
+ 'label' => __( 'Direction', 'essential-addons-elementor' ),
570
+ 'type' => Controls_Manager::CHOOSE,
571
+ 'options' => [
572
+ 'ltr' => [
573
+ 'title' => __( 'Left To Right', 'essential-addons-elementor' ),
574
+ 'icon' => 'fa fa-align-left',
575
+ ],
576
+ 'rtl' => [
577
+ 'title' => __( 'Right To Left', 'essential-addons-elementor' ),
578
+ 'icon' => 'fa fa-align-right',
579
+ ],
580
+ 'btt' => [
581
+ 'title' => __( 'Bottom To Top', 'essential-addons-elementor' ),
582
+ 'icon' => 'fa fa-arrow-up',
583
+ ],
584
+ 'ttb' => [
585
+ 'title' => __( 'Top To Bottom', 'essential-addons-elementor' ),
586
+ 'icon' => 'fa fa-arrow-down',
587
+ ],
588
+ ],
589
+ 'default' => 'ltr',
590
+ ]
591
+ );
592
+
593
+ $this->add_control(
594
+ 'progress_bar_energy_start_color',
595
+ [
596
+ 'label' => __( 'Start Color', 'essential-addons-elementor' ),
597
+ 'type' => Controls_Manager::COLOR,
598
+ 'default' => '#f00',
599
+ ]
600
+ );
601
+
602
+ $this->add_control(
603
+ 'progress_bar_energy_end_color',
604
+ [
605
+ 'label' => __( 'End Color', 'essential-addons-elementor' ),
606
+ 'type' => Controls_Manager::COLOR,
607
+ 'default' => '#ff0',
608
+ ]
609
+ );
610
+
611
+ $this->add_control(
612
+ 'progress_bar_energy_bg_color',
613
+ [
614
+ 'label' => __( 'Background Color', 'essential-addons-elementor' ),
615
+ 'type' => Controls_Manager::COLOR,
616
+ 'default' => '#444',
617
+ ]
618
+ );
619
+
620
+ $this->end_controls_section();
621
+
622
+ /**
623
+ * Content Tab: Settings for stripe progress bar
624
+ */
625
+
626
+ $this->start_controls_section(
627
+ 'section_progress_bar_stripe_settings',
628
+ [
629
+ 'label' => __( 'Stripe Bar Settings ', 'essential-addons-elementor' ),
630
+ 'condition' => [
631
+ 'progress_bar_layout' => 'stripe',
632
+ ],
633
+ ]
634
+ );
635
+
636
+ $this->add_control(
637
+ 'progress_bar_stripe_direction',
638
+ [
639
+ 'label' => __( 'Direction', 'essential-addons-elementor' ),
640
+ 'type' => Controls_Manager::CHOOSE,
641
+ 'options' => [
642
+ 'ltr' => [
643
+ 'title' => __( 'Left To Right', 'essential-addons-elementor' ),
644
+ 'icon' => 'fa fa-align-left',
645
+ ],
646
+ 'rtl' => [
647
+ 'title' => __( 'Right To Left', 'essential-addons-elementor' ),
648
+ 'icon' => 'fa fa-align-right',
649
+ ],
650
+ 'btt' => [
651
+ 'title' => __( 'Bottom To Top', 'essential-addons-elementor' ),
652
+ 'icon' => 'fa fa-arrow-up',
653
+ ],
654
+ 'ttb' => [
655
+ 'title' => __( 'Top To Bottom', 'essential-addons-elementor' ),
656
+ 'icon' => 'fa fa-arrow-down',
657
+ ],
658
+ ],
659
+ 'default' => 'rtl',
660
+ ]
661
+ );
662
+
663
+ $this->add_control(
664
+ 'progress_bar_stripe_start_color',
665
+ [
666
+ 'label' => __( 'Start Color', 'essential-addons-elementor' ),
667
+ 'type' => Controls_Manager::COLOR,
668
+ 'default' => '#f00',
669
+ ]
670
+ );
671
+
672
+ $this->add_control(
673
+ 'progress_bar_stripe_end_color',
674
+ [
675
+ 'label' => __( 'End Color', 'essential-addons-elementor' ),
676
+ 'type' => Controls_Manager::COLOR,
677
+ 'default' => '#ff0',
678
+ ]
679
+ );
680
+
681
+ $this->add_control(
682
+ 'progress_bar_stripe_bg_color',
683
+ [
684
+ 'label' => __( 'Background Color', 'essential-addons-elementor' ),
685
+ 'type' => Controls_Manager::COLOR,
686
+ 'default' => '#ddd',
687
+ ]
688
+ );
689
+
690
+ $this->end_controls_section();
691
+
692
+ /**
693
+ * Content Tab: Settings for text progress bar
694
+ */
695
+
696
+ $this->start_controls_section(
697
+ 'section_progress_bar_text_settings',
698
+ [
699
+ 'label' => __( 'Text Progress Bar Settings ', 'essential-addons-elementor' ),
700
+ 'condition' => [
701
+ 'progress_bar_layout' => 'text',
702
+ ],
703
+ ]
704
+ );
705
+
706
+ $this->add_control(
707
+ 'progress_bar_text_title',
708
+ [
709
+ 'label' => __( 'Title for Text Progress Bar', 'essential-addons-elementor' ),
710
+ 'type' => Controls_Manager::TEXT,
711
+ 'default' => __( 'LOADING', 'essential-addons-elementor' ),
712
+ 'dynamic' => [
713
+ 'active' => true,
714
+ ],
715
+ ]
716
+ );
717
+
718
+ $this->add_control(
719
+ 'progress_bar_text_direction',
720
+ [
721
+ 'label' => __( 'Direction', 'essential-addons-elementor' ),
722
+ 'type' => Controls_Manager::CHOOSE,
723
+ 'options' => [
724
+ 'ltr' => [
725
+ 'title' => __( 'Left To Right', 'essential-addons-elementor' ),
726
+ 'icon' => 'fa fa-align-left',
727
+ ],
728
+ 'rtl' => [
729
+ 'title' => __( 'Right To Left', 'essential-addons-elementor' ),
730
+ 'icon' => 'fa fa-align-right',
731
+ ],
732
+ 'btt' => [
733
+ 'title' => __( 'Bottom To Top', 'essential-addons-elementor' ),
734
+ 'icon' => 'fa fa-arrow-up',
735
+ ],
736
+ 'ttb' => [
737
+ 'title' => __( 'Top To Bottom', 'essential-addons-elementor' ),
738
+ 'icon' => 'fa fa-arrow-down',
739
+ ],
740
+ ],
741
+ 'default' => 'ltr',
742
+ ]
743
+ );
744
+
745
+ $this->add_control(
746
+ 'progress_bar_text_bg_color',
747
+ [
748
+ 'label' => __( 'Background Color', 'essential-addons-elementor' ),
749
+ 'type' => Controls_Manager::COLOR,
750
+ 'default' => '#ddd',
751
+ ]
752
+ );
753
+
754
+ $this->end_controls_section();
755
+
756
+ $this->start_controls_section(
757
+ 'eael_section_pro',
758
+ [
759
+ 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' )
760
+ ]
761
+ );
762
+
763
+ $this->add_control(
764
+ 'eael_control_get_pro',
765
+ [
766
+ 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ),
767
+ 'type' => Controls_Manager::CHOOSE,
768
+ 'options' => [
769
+ '1' => [
770
+ 'title' => __( '', 'essential-addons-elementor' ),
771
+ 'icon' => 'fa fa-unlock-alt',
772
+ ],
773
+ ],
774
+ 'default' => '1',
775
+ 'description' => '<span class="pro-feature"> Get the <a href="https://essential-addons.com/elementor/buy.php" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
776
+ ]
777
+ );
778
+
779
+ $this->end_controls_section();
780
+
781
+ /*-----------------------------------------------------------------------------------*/
782
+ /* STYLE TAB
783
+ /*-----------------------------------------------------------------------------------*/
784
+
785
+ /**
786
+ * Style Tab: Progress Bar
787
+ */
788
+ $this->start_controls_section(
789
+ 'progress_bar_section_style',
790
+ [
791
+ 'label' => __( 'Style', 'essential-addons-elementor' ),
792
+ 'tab' => Controls_Manager::TAB_STYLE,
793
+ ]
794
+ );
795
+
796
+ $this->add_control(
797
+ 'progress_bar_width',
798
+ [
799
+ 'label' => __( 'Width', 'essential-addons-elementor' ),
800
+ 'type' => Controls_Manager::SLIDER,
801
+ 'size_units' => [ 'px', '%' ],
802
+ 'range' => [
803
+ 'px' => [
804
+ 'min' => 0,
805
+ 'max' => 1000,
806
+ 'step' => 1,
807
+ ],
808
+ '%' => [
809
+ 'min' => 0,
810
+ 'max' => 100,
811
+ ],
812
+ ],
813
+ 'default' => [
814
+ 'unit' => '%',
815
+ 'size' => 100,
816
+ ],
817
+ 'selectors' => [
818
+ '{{WRAPPER}} .ldBar' => 'width: {{SIZE}}{{UNIT}} !important;',
819
+ ],
820
+ ]
821
+ );
822
+
823
+ $this->add_control(
824
+ 'progress_bar_height',
825
+ [
826
+ 'label' => __( 'Height', 'plugin-domain' ),
827
+ 'type' => Controls_Manager::SLIDER,
828
+ 'size_units' => [ 'px', '%' ],
829
+ 'range' => [
830
+ 'px' => [
831
+ 'min' => 0,
832
+ 'max' => 1000,
833
+ 'step' => 5,
834
+ ],
835
+ '%' => [
836
+ 'min' => 0,
837
+ 'max' => 100,
838
+ ],
839
+ ],
840
+ 'selectors' => [
841
+ '{{WRAPPER}} .ldBar' => 'height: {{SIZE}}{{UNIT}} !important;',
842
+ ],
843
+ ]
844
+ );
845
+
846
+ $this->add_control(
847
+ 'progress_bar_title_style',
848
+ [
849
+ 'label' => __( 'Title Style', 'essential-addons-elementor' ),
850
+ 'type' => Controls_Manager::HEADING,
851
+ 'separator' => 'before',
852
+ ]
853
+ );
854
+
855
+ $this->add_control(
856
+ 'progress_bar_title_color',
857
+ [
858
+ 'label' => __( 'Title Color', 'essential-addons-elementor' ),
859
+ 'type' => Controls_Manager::COLOR,
860
+ 'default'=> '#303133',
861
+ 'selectors' => [
862
+ '{{WRAPPER}} .progress-title' => 'color: {{VALUE}};',
863
+ ]
864
+
865
+ ]
866
+ );
867
+
868
+ $this->add_control(
869
+ 'progress_bar_title_hover_color',
870
+ [
871
+ 'label' => __( 'Title Hover Color', 'essential-addons-elementor' ),
872
+ 'type' => Controls_Manager::COLOR,
873
+ 'default'=> '#23527c',
874
+ 'selectors' => [
875
+ '{{WRAPPER}} .progress-title:hover' => 'color: {{VALUE}};',
876
+ ]
877
+
878
+ ]
879
+ );
880
+
881
+ $this->add_responsive_control(
882
+ 'progress_bar_title_alignment',
883
+ [
884
+ 'label' => __( 'Title Alignment', 'essential-addons-elementor' ),
885
+ 'type' => Controls_Manager::CHOOSE,
886
+ 'options' => [
887
+ 'left' => [
888
+ 'title' => __( 'Left', 'essential-addons-elementor' ),
889
+ 'icon' => 'fa fa-align-left',
890
+ ],
891
+ 'center' => [
892
+ 'title' => __( 'Center', 'essential-addons-elementor' ),
893
+ 'icon' => 'fa fa-align-center',
894
+ ],
895
+ 'right' => [
896
+ 'title' => __( 'Right', 'essential-addons-elementor' ),
897
+ 'icon' => 'fa fa-align-right',
898
+ ]
899
+ ],
900
+ 'selectors' => [
901
+ '{{WRAPPER}} .progress-title' => 'text-align: {{VALUE}};',
902
+ ]
903
+ ]
904
+ );
905
+
906
+ $this->add_group_control(
907
+ Group_Control_Typography::get_type(),
908
+ [
909
+ 'name' => 'progress_bar_title_typography',
910
+ 'label' => __( 'Typography', 'essential-addons-elementor' ),
911
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
912
+ 'selector' => '{{WRAPPER}} .progress-title',
913
+ ]
914
+ );
915
+
916
+ $this->add_control(
917
+ 'progress_bar_number_style',
918
+ [
919
+ 'label' => __( 'Number Style', 'essential-addons-elementor' ),
920
+ 'type' => Controls_Manager::HEADING,
921
+ 'separator' => 'before',
922
+ ]
923
+ );
924
+
925
+ $this->add_control(
926
+ 'progress_bar_number_color',
927
+ [
928
+ 'label' => __( 'Number Color', 'essential-addons-elementor' ),
929
+ 'type' => Controls_Manager::COLOR,
930
+ 'default'=> '#303133',
931
+ 'selectors' => [
932
+ '{{WRAPPER}} .ldBar-label' => 'color: {{VALUE}};',
933
+ ]
934
+
935
+ ]
936
+ );
937
+
938
+ $this->add_control(
939
+ 'progress_bar_number_hover_color',
940
+ [
941
+ 'label' => __( 'Number Hover Color', 'essential-addons-elementor' ),
942
+ 'type' => Controls_Manager::COLOR,
943
+ 'default'=> '#23527c',
944
+ 'selectors' => [
945
+ '{{WRAPPER}} .ldBar-label:hover' => 'color: {{VALUE}};',
946
+ ]
947
+
948
+ ]
949
+ );
950
+
951
+ $this->add_group_control(
952
+ Group_Control_Typography::get_type(),
953
+ [
954
+ 'name' => 'progress_bar_number_typography',
955
+ 'label' => __( 'Typography', 'essential-addons-elementor' ),
956
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
957
+ 'selector' => '{{WRAPPER}} .ldBar-label',
958
+ ]
959
+ );
960
+
961
+ $this->end_controls_section();
962
+
963
+ }
964
+
965
+ protected function render() {
966
+ $settings = $this->get_settings_for_display();
967
+
968
+ $this->add_render_attribute('eael-progress-bar-container', [
969
+ 'class' => [ 'eael-progress-bar-container' ],
970
+ 'data-layout' => $settings['progress_bar_layout'],
971
+ 'data-id' => esc_attr($this->get_id()),
972
+ 'data-number' => $settings['progress_number']
973
+ ]);
974
+
975
+ if('line' == $settings['progress_bar_layout']){
976
+ $this->add_render_attribute('eael-progress-bar-container', [
977
+ 'data-line-stroke-color' => $settings['progress_bar_line_stroke_color'],
978
+ 'data-line-stroke-width' => $settings['progress_bar_line_stroke_width'],
979
+ 'data-line-stroke-trail-color' => $settings['progress_bar_line_stroke_trail_color'],
980
+ 'data-line-stroke-trail-width' => $settings['progress_bar_line_stroke_trail_width'],
981
+ 'data-line-direction' => $settings['progress_bar_line_direction']
982
+ ]);
983
+ }
984
+
985
+ if('fan' == $settings['progress_bar_layout']){
986
+ $this->add_render_attribute('eael-progress-bar-container', [
987
+ 'data-fan-stroke-color' => $settings['progress_bar_fan_stroke_color'],
988
+ 'data-fan-stroke-width' => $settings['progress_bar_fan_stroke_width'],
989
+ 'data-fan-stroke-trail-color' => $settings['progress_bar_fan_stroke_trail_color'],
990
+ 'data-fan-stroke-trail-width' => $settings['progress_bar_fan_stroke_trail_width'],
991
+ 'data-fan-direction' => $settings['progress_bar_fan_direction']
992
+ ]);
993
+ }
994
+
995
+ if('circle' == $settings['progress_bar_layout']){
996
+ $this->add_render_attribute('eael-progress-bar-container', [
997
+ 'data-circle-stroke-color' => $settings['progress_bar_circle_stroke_color'],
998
+ 'data-circle-stroke-width' => $settings['progress_bar_circle_stroke_width'],
999
+ 'data-circle-stroke-trail-color' => $settings['progress_bar_circle_stroke_trail_color'],
1000
+ 'data-circle-stroke-trail-width' => $settings['progress_bar_circle_stroke_trail_width'],
1001
+ 'data-circle-direction' => $settings['progress_bar_circle_direction']
1002
+ ]);
1003
+ }
1004
+
1005
+ if('bubble' == $settings['progress_bar_layout']){
1006
+ $this->add_render_attribute('eael-progress-bar-container', [
1007
+ 'data-bubble-circle-color' => $settings['progress_bar_bubble_circle_color'],
1008
+ 'data-bubble-bg-color' => $settings['progress_bar_bubble_bg_color'],
1009
+ 'data-bubble-circle-width' => $settings['progress_bar_bubble_circle_width'],
1010
+ 'data-bubble-direction' => $settings['progress_bar_bubble_direction']
1011
+ ]);
1012
+ }
1013
+
1014
+ if('rainbow' == $settings['progress_bar_layout']){
1015
+ $this->add_render_attribute('eael-progress-bar-container', [
1016
+ 'data-rainbow-stroke-width' => $settings['progress_bar_rainbow_stroke_width'],
1017
+ 'data-rainbow-stroke-trail-width' => $settings['progress_bar_rainbow_stroke_trail_width'],
1018
+ 'data-rainbow-color-one' => $settings['progress_bar_rainbow_color_one'],
1019
+ 'data-rainbow-color-two' => $settings['progress_bar_rainbow_color_two'],
1020
+ 'data-rainbow-color-three' => $settings['progress_bar_rainbow_color_three'],
1021
+ 'data-rainbow-color-four' => $settings['progress_bar_rainbow_color_four'],
1022
+ 'data-rainbow-color-five' => $settings['progress_bar_rainbow_color_five'],
1023
+ 'data-rainbow-direction' => $settings['progress_bar_rainbow_direction']
1024
+ ]);
1025
+ }
1026
+
1027
+ if('energy' == $settings['progress_bar_layout']){
1028
+ $this->add_render_attribute('eael-progress-bar-container', [
1029
+ 'data-energy-start-color' => $settings['progress_bar_energy_start_color'],
1030
+ 'data-energy-end-color' => $settings['progress_bar_energy_end_color'],
1031
+ 'data-energy-bg-color' => $settings['progress_bar_energy_bg_color'],
1032
+ 'data-energy-direction' => $settings['progress_bar_energy_direction']
1033
+ ]);
1034
+ }
1035
+
1036
+ if('stripe' == $settings['progress_bar_layout']){
1037
+ $this->add_render_attribute('eael-progress-bar-container', [
1038
+ 'data-stripe-start-color' => $settings['progress_bar_stripe_start_color'],
1039
+ 'data-stripe-end-color' => $settings['progress_bar_stripe_end_color'],
1040
+ 'data-stripe-bg-color' => $settings['progress_bar_stripe_bg_color'],
1041
+ 'data-stripe-direction' => $settings['progress_bar_stripe_direction']
1042
+ ]);
1043
+ }
1044
+
1045
+ if('text' == $settings['progress_bar_layout']){
1046
+ $this->add_render_attribute('eael-progress-bar-container', [
1047
+ 'data-text-title' => $settings['progress_bar_text_title'],
1048
+ 'data-text-direction' => $settings['progress_bar_text_direction'],
1049
+ 'data-text-bg-color' => $settings['progress_bar_text_bg_color'],
1050
+ ]);
1051
+ }
1052
+
1053
+
1054
+ if(
1055
+ 'fan' == $settings['progress_bar_layout'] ||
1056
+ 'circle' == $settings['progress_bar_layout'] ||
1057
+ 'bubble' == $settings['progress_bar_layout']
1058
+ ){
1059
+ $class = 'label-center';
1060
+ $height = '150px';
1061
+ }else {
1062
+ $class = '';
1063
+ $height = '30px';
1064
+ }
1065
+
1066
+
1067
+ $this->add_render_attribute('inside-progressbar',[
1068
+ 'style' => 'height:'.$height,
1069
+ 'class' => [ 'inside-progressbar', 'ldBar', 'auto', $class ],
1070
+ 'id' => 'myItem'.esc_attr($this->get_id()),
1071
+ 'data-preset' => $settings['progress_bar_layout'],
1072
+ ]);
1073
+
1074
+
1075
+ $this->add_render_attribute('progressbar-title', 'class', 'progress-title');
1076
+ if( 'line' == $settings['progress_bar_layout'] ) {
1077
+ $this->add_render_attribute('progressbar-title', 'class', 'line');
1078
+ }
1079
+
1080
+
1081
+ ?>
1082
+
1083
+ <div <?php echo $this->get_render_attribute_string( 'eael-progress-bar-container' ); ?>>
1084
+ <?php if ( 'yes' == $settings['progress_bar_show_title'] ) : ?>
1085
+ <div <?php echo $this->get_render_attribute_string('progressbar-title'); ?>>
1086
+ <?php printf( '<%1$s>', $settings['title_html_tag'] ); echo $settings['progress_bar_title']; printf( '</%1$s>', $settings['title_html_tag'] ); ?>
1087
+ </div>
1088
+ <?php endif; ?>
1089
+ <div <?php echo $this->get_render_attribute_string('inside-progressbar'); ?>></div>
1090
+ <?php if ( 'yes' != $settings['progress_bar_show_number'] ) : ?><style>.ldBar-label{display:none;}</style><?php endif; ?>
1091
+ </div>
1092
+
1093
+ <?php
1094
+ }
1095
+
1096
+ }
1097
+
1098
+ Plugin::instance()->widgets_manager->register_widget_type( new Widget_Eael_Progress_Bar() );
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: 2.7.11
8
  * Author URI: https://wpdeveloper.net/
9
  *
10
  * Text Domain: essential-addons-elementor
@@ -28,7 +28,7 @@ require_once ESSENTIAL_ADDONS_EL_PATH.'admin/settings.php';
28
  */
29
  function eael_activated_modules() {
30
 
31
- $eael_default_keys = [ 'contact-form-7', 'count-down', 'creative-btn', 'fancy-text', 'img-comparison', 'instagram-gallery', 'interactive-promo', 'lightbox', 'post-block', 'post-grid', 'post-timeline', 'product-grid', 'team-members', 'testimonial-slider', 'testimonials', 'testimonials', 'weforms', 'static-product', 'call-to-action', 'flip-box', 'info-box', 'dual-header', 'price-table', 'flip-carousel', 'interactive-cards', 'ninja-form', 'gravity-form', 'caldera-form', 'wisdom_registered_setting', 'twitter-feed', 'facebook-feed', 'data-table', 'filter-gallery', 'image-accordion','content-ticker', 'tooltip', 'adv-accordion', 'adv-tabs' ];
32
 
33
  $eael_default_settings = array_fill_keys( $eael_default_keys, true );
34
  $eael_get_settings = get_option( 'eael_save_settings', $eael_default_settings );
@@ -144,6 +144,9 @@ function add_eael_elements() {
144
  if( $is_component_active['adv-tabs'] ) {
145
  require_once ESSENTIAL_ADDONS_EL_PATH.'elements/advance-tabs/advance-tabs.php';
146
  }
 
 
 
147
  }
148
  add_action('elementor/widgets/widgets_registered','add_eael_elements');
149
 
@@ -204,11 +207,19 @@ function essential_addons_el_enqueue(){
204
  if( $is_component_active['filter-gallery'] ) {
205
  wp_enqueue_script('essential_addons_mixitup-js',ESSENTIAL_ADDONS_EL_URL.'assets/js/mixitup.min.js', array('jquery'),'1.0', true);
206
  wp_enqueue_script('essential_addons_magnific-popup-js',ESSENTIAL_ADDONS_EL_URL.'assets/js/jquery.magnific-popup.min.js', array('jquery'),'1.0', true);
 
 
 
 
207
  }
208
 
209
  if( $is_component_active['price-table'] ) {
210
  wp_enqueue_style('essential_addons_elementor-tooltipster',ESSENTIAL_ADDONS_EL_URL.'assets/css/tooltipster.bundle.min.css');
211
  wp_enqueue_script('essential_addons_elementor-tooltipster-js',ESSENTIAL_ADDONS_EL_URL.'assets/js/tooltipster.bundle.min.js', array('jquery'),'1.0', true);
 
 
 
 
212
  }
213
 
214
  }
@@ -338,10 +349,10 @@ function eael_admin_notice() {
338
  global $current_user ;
339
  $user_id = $current_user->ID;
340
  /* Check that the user hasn't already clicked to ignore the message */
341
- if ( ! get_user_meta($user_id, 'eael_ignore_notice279') ) {
342
  echo '<div class="eael-admin-notice updated" style="display: flex; align-items: center; padding-left: 0; border-left-color: #EF4B53"><p style="width: 32px;">';
343
  echo '<img style="width: 100%; display: block;" src="' . plugins_url( '/', __FILE__ ).'admin/assets/images/icon-bolt.svg'. '" ></p><p> ';
344
- printf(__('<strong>Essential Addons for Elementor</strong> now powering <strong>60,000+</strong> websites. Use the coupon code <strong>CELEBRATE60K</strong> to redeem a <strong>25&#37; </strong> discount on Pro. <a href="https://wpdeveloper.net/in/eael-pricing" target="_blank" style="text-decoration: none;"><span class="dashicons dashicons-smiley" style="margin-left: 10px;"></span> Apply Coupon</a>
345
  <a href="%1$s" style="text-decoration: none; margin-left: 10px;"><span class="dashicons dashicons-dismiss"></span> I\'m good with free version</a>'), admin_url( 'admin.php?page=eael-settings&eael_nag_ignore=0' ));
346
  echo "</p></div>";
347
  }
@@ -358,7 +369,7 @@ function eael_nag_ignore() {
358
  $user_id = $current_user->ID;
359
  /* If user clicks to ignore the notice, add that to their user meta */
360
  if ( isset($_GET['eael_nag_ignore']) && '0' == $_GET['eael_nag_ignore'] ) {
361
- add_user_meta($user_id, 'eael_ignore_notice279', 'true', true);
362
  }
363
  }
364
  add_action('admin_init', 'eael_nag_ignore');
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: 2.8.0
8
  * Author URI: https://wpdeveloper.net/
9
  *
10
  * Text Domain: essential-addons-elementor
28
  */
29
  function eael_activated_modules() {
30
 
31
+ $eael_default_keys = [ 'contact-form-7', 'count-down', 'creative-btn', 'fancy-text', 'img-comparison', 'instagram-gallery', 'interactive-promo', 'lightbox', 'post-block', 'post-grid', 'post-timeline', 'product-grid', 'team-members', 'testimonial-slider', 'testimonials', 'testimonials', 'weforms', 'static-product', 'call-to-action', 'flip-box', 'info-box', 'dual-header', 'price-table', 'flip-carousel', 'interactive-cards', 'ninja-form', 'gravity-form', 'caldera-form', 'wisdom_registered_setting', 'twitter-feed', 'facebook-feed', 'data-table', 'filter-gallery', 'image-accordion','content-ticker', 'tooltip', 'adv-accordion', 'adv-tabs', 'progress-bar' ];
32
 
33
  $eael_default_settings = array_fill_keys( $eael_default_keys, true );
34
  $eael_get_settings = get_option( 'eael_save_settings', $eael_default_settings );
144
  if( $is_component_active['adv-tabs'] ) {
145
  require_once ESSENTIAL_ADDONS_EL_PATH.'elements/advance-tabs/advance-tabs.php';
146
  }
147
+ if( $is_component_active['progress-bar'] ) {
148
+ require_once ESSENTIAL_ADDONS_EL_PATH.'elements/progress-bar/progress-bar.php';
149
+ }
150
  }
151
  add_action('elementor/widgets/widgets_registered','add_eael_elements');
152
 
207
  if( $is_component_active['filter-gallery'] ) {
208
  wp_enqueue_script('essential_addons_mixitup-js',ESSENTIAL_ADDONS_EL_URL.'assets/js/mixitup.min.js', array('jquery'),'1.0', true);
209
  wp_enqueue_script('essential_addons_magnific-popup-js',ESSENTIAL_ADDONS_EL_URL.'assets/js/jquery.magnific-popup.min.js', array('jquery'),'1.0', true);
210
+
211
+ wp_register_script('essential_addons_isotope-js',ESSENTIAL_ADDONS_EL_URL.'assets/js/isotope.pkgd.min.js', array('jquery'),'1.0', true);
212
+
213
+ wp_register_script('jquery-resize', ESSENTIAL_ADDONS_EL_URL.'assets/js/jquery.resize.min.js', array('jquery'), '1.0', true);
214
  }
215
 
216
  if( $is_component_active['price-table'] ) {
217
  wp_enqueue_style('essential_addons_elementor-tooltipster',ESSENTIAL_ADDONS_EL_URL.'assets/css/tooltipster.bundle.min.css');
218
  wp_enqueue_script('essential_addons_elementor-tooltipster-js',ESSENTIAL_ADDONS_EL_URL.'assets/js/tooltipster.bundle.min.js', array('jquery'),'1.0', true);
219
+ }
220
+
221
+ if( $is_component_active['progress-bar'] ) {
222
+ wp_enqueue_script('essential_addons_elementor-progress-bar',ESSENTIAL_ADDONS_EL_URL.'assets/js/loading-bar.min.js', array('jquery'),'1.0', true);
223
  }
224
 
225
  }
349
  global $current_user ;
350
  $user_id = $current_user->ID;
351
  /* Check that the user hasn't already clicked to ignore the message */
352
+ if ( ! get_user_meta($user_id, 'eael_ignore_notice280') ) {
353
  echo '<div class="eael-admin-notice updated" style="display: flex; align-items: center; padding-left: 0; border-left-color: #EF4B53"><p style="width: 32px;">';
354
  echo '<img style="width: 100%; display: block;" src="' . plugins_url( '/', __FILE__ ).'admin/assets/images/icon-bolt.svg'. '" ></p><p> ';
355
+ printf(__('<strong>Essential Addons for Elementor</strong> now powering <strong>70,000+</strong> websites. Use the coupon code <strong>ACTIVE70K</strong> to redeem a <strong>25&#37; </strong> discount on Pro. <a href="https://wpdeveloper.net/in/eael-pricing" target="_blank" style="text-decoration: none;"><span class="dashicons dashicons-smiley" style="margin-left: 10px;"></span> Apply Coupon</a>
356
  <a href="%1$s" style="text-decoration: none; margin-left: 10px;"><span class="dashicons dashicons-dismiss"></span> I\'m good with free version</a>'), admin_url( 'admin.php?page=eael-settings&eael_nag_ignore=0' ));
357
  echo "</p></div>";
358
  }
369
  $user_id = $current_user->ID;
370
  /* If user clicks to ignore the notice, add that to their user meta */
371
  if ( isset($_GET['eael_nag_ignore']) && '0' == $_GET['eael_nag_ignore'] ) {
372
+ add_user_meta($user_id, 'eael_ignore_notice280', 'true', true);
373
  }
374
  }
375
  add_action('admin_init', 'eael_nag_ignore');
includes/elementor-helper.php CHANGED
@@ -659,7 +659,33 @@ trait ElementsCommonFunctions {
659
  );
660
  $this->end_controls_tab();
661
 
662
- $this->end_controls_tabs();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
663
 
664
  $this->end_controls_section();
665
 
659
  );
660
  $this->end_controls_tab();
661
 
662
+ $this->end_controls_tabs();
663
+
664
+ $this->add_responsive_control(
665
+ 'eael_post_grid_loadmore_button_alignment',
666
+ [
667
+ 'label' => __( 'Button Alignment', 'essential-addons-elementor' ),
668
+ 'type' => Controls_Manager::CHOOSE,
669
+ 'options' => [
670
+ 'flex-start' => [
671
+ 'title' => __( 'Left', 'essential-addons-elementor' ),
672
+ 'icon' => 'fa fa-align-left',
673
+ ],
674
+ 'center' => [
675
+ 'title' => __( 'Center', 'essential-addons-elementor' ),
676
+ 'icon' => 'fa fa-align-center',
677
+ ],
678
+ 'flex-end' => [
679
+ 'title' => __( 'Right', 'essential-addons-elementor' ),
680
+ 'icon' => 'fa fa-align-right',
681
+ ]
682
+ ],
683
+ 'default' => 'center',
684
+ 'selectors' => [
685
+ '{{WRAPPER}} .eael-load-more-button-wrap' => 'justify-content: {{VALUE}};',
686
+ ]
687
+ ]
688
+ );
689
 
690
  $this->end_controls_section();
691
 
includes/queries.php CHANGED
@@ -530,6 +530,7 @@ function posts_args(){
530
  'eael_read_more_text',
531
  'show_load_more',
532
  'show_load_more_text',
 
533
 
534
  // query_args
535
  'post_type',
@@ -543,5 +544,6 @@ function posts_args(){
543
  'offset',
544
  'orderby',
545
  'order',
 
546
  );
547
  }
530
  'eael_read_more_text',
531
  'show_load_more',
532
  'show_load_more_text',
533
+ 'eael_post_grid_bg_hover_icon',
534
 
535
  // query_args
536
  'post_type',
544
  'offset',
545
  'orderby',
546
  'order',
547
+ 'eael_post_grid_hover_animation'
548
  );
549
  }
includes/templates/content.php CHANGED
@@ -38,25 +38,37 @@ if( isset( $post_args['post_style'] ) ) :
38
  </a>
39
  </div>
40
  </article>
41
- <?php
42
- endif;
43
- /**
44
- * Content timeline
45
- */
46
  if( $post_args['post_style'] == 'grid' ) :
 
 
47
  ?>
48
  <article class="eael-grid-post eael-post-grid-column">
49
  <div class="eael-grid-post-holder">
50
  <div class="eael-grid-post-holder-inner">
51
  <?php if ( $thumbnail_exists = has_post_thumbnail() && $post_args['eael_show_image'] == 1 ): ?>
52
- <div class="eael-entry-media">
53
- <div class="eael-entry-overlay">
54
- <i class="fa fa-long-arrow-right" aria-hidden="true"></i>
 
 
 
 
 
 
55
  <a href="<?php echo get_permalink(); ?>"></a>
56
  </div>
57
- <div class="eael-entry-thumbnail">
58
- <img src="<?php echo wp_get_attachment_image_url(get_post_thumbnail_id(), $post_args['image_size'])?>">
59
- </div>
 
 
 
 
 
60
  </div>
61
  <?php endif; ?>
62
 
@@ -97,7 +109,7 @@ if( isset( $post_args['post_style'] ) ) :
97
  </div>
98
  </div>
99
  </article>
100
- <?php
101
- endif;
102
- endif;
103
- ?>
38
  </a>
39
  </div>
40
  </article>
41
+ <?php endif; ?>
42
+
43
+
44
+ <?php
 
45
  if( $post_args['post_style'] == 'grid' ) :
46
+ $post_hover_style = !empty($post_args['eael_post_grid_hover_style']) ? ' grid-hover-style-'.$post_args['eael_post_grid_hover_style'] : 'none';
47
+ $post_carousel_image = wp_get_attachment_image_url(get_post_thumbnail_id(), $post_args['image_size']);
48
  ?>
49
  <article class="eael-grid-post eael-post-grid-column">
50
  <div class="eael-grid-post-holder">
51
  <div class="eael-grid-post-holder-inner">
52
  <?php if ( $thumbnail_exists = has_post_thumbnail() && $post_args['eael_show_image'] == 1 ): ?>
53
+ <div class="eael-entry-media<?php echo esc_attr($post_hover_style); ?>">
54
+
55
+ <?php if('none' !== $post_args['eael_post_grid_hover_animation']) : ?>
56
+ <div class="eael-entry-overlay<?php echo ' '.esc_attr($post_args['eael_post_grid_hover_animation']); ?>">
57
+ <?php if( ! empty($post_args['eael_post_grid_bg_hover_icon']) ) : ?>
58
+ <i class="<?php echo esc_attr($post_args['eael_post_grid_bg_hover_icon']); ?>" aria-hidden="true"></i>
59
+ <?php else : ?>
60
+ <i class="fa fa-long-arrow-right" aria-hidden="true"></i>
61
+ <?php endif; ?>
62
  <a href="<?php echo get_permalink(); ?>"></a>
63
  </div>
64
+ <?php endif; ?>
65
+
66
+ <?php if( ! empty($post_carousel_image) ) : ?>
67
+ <div class="eael-entry-thumbnail">
68
+ <img src="<?php echo esc_url($post_carousel_image); ?>">
69
+ </div>
70
+ <?php endif; ?>
71
+
72
  </div>
73
  <?php endif; ?>
74
 
109
  </div>
110
  </div>
111
  </article>
112
+ <?php endif; //$post_args['post_style'] == 'post_carousel' ?>
113
+
114
+
115
+ <?php endif; ?>
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: 4.9.8
6
  Requires PHP: 5.4
7
- Stable tag: 2.7.11
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
@@ -68,7 +68,6 @@ We have designed 29 of the most useful widgets to enhance your Elementor Page Bu
68
  26. [Tooltip](https://essential-addons.com/elementor/tooltip/) - Set tooltip for Icon, Image, Text or shortcodes
69
  27. [Advanced Tabs](https://essential-addons.com/elementor/advanced-tabs/) - Include tab to put information in different styles. Supports nested tabs.
70
  28. [Advanced Accordion](https://essential-addons.com/elementor/advanced-accordion/) - Add beautiful accordions in your pages, posts, and anywhere. Supports nested accordions.
71
- 29. [Progress Bar](https://essential-addons.com/elementor/progress-bar/) - Display progress bars with 4+ different styles
72
 
73
 
74
  ### More elements (27+) on [Premium Version](https://essential-addons.com/elementor/buy.php)
@@ -100,7 +99,7 @@ We have designed 29 of the most useful widgets to enhance your Elementor Page Bu
100
  25. [Post Carousel](https://essential-addons.com/elementor/post-carousel/) - Even you can create carousel from your posts
101
  26. [Logo Carousel](https://essential-addons.com/elementor/logo-carousel/) - Highlight brands/product logos in carousel
102
  27. [Protected Content](https://essential-addons.com/elementor/protected-content/) - Lock your content with password and allow only selected people to see it
103
-
104
 
105
  More coming soon (weekly update) ...
106
 
@@ -158,6 +157,13 @@ Your existing elements/content will work with premium version. So you won't lose
158
 
159
  == Changelog ==
160
 
 
 
 
 
 
 
 
161
  = 2.7.11 =
162
  - Nested Accordion support added (as saved template)
163
  - Few minor bugfix and improvements
@@ -383,9 +389,10 @@ Initial stable realese
383
 
384
  == Upgrade Notice ==
385
 
386
- = 2.7.5 =
387
 
388
- - Post elements improved and optimized
389
- - Info Box element improved
390
- - Flip Box element improved
 
391
  - Few minor bugfix and improvements
4
  Requires at least: 4.0
5
  Tested up to: 4.9.8
6
  Requires PHP: 5.4
7
+ Stable tag: 2.8.0
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
68
  26. [Tooltip](https://essential-addons.com/elementor/tooltip/) - Set tooltip for Icon, Image, Text or shortcodes
69
  27. [Advanced Tabs](https://essential-addons.com/elementor/advanced-tabs/) - Include tab to put information in different styles. Supports nested tabs.
70
  28. [Advanced Accordion](https://essential-addons.com/elementor/advanced-accordion/) - Add beautiful accordions in your pages, posts, and anywhere. Supports nested accordions.
 
71
 
72
 
73
  ### More elements (27+) on [Premium Version](https://essential-addons.com/elementor/buy.php)
99
  25. [Post Carousel](https://essential-addons.com/elementor/post-carousel/) - Even you can create carousel from your posts
100
  26. [Logo Carousel](https://essential-addons.com/elementor/logo-carousel/) - Highlight brands/product logos in carousel
101
  27. [Protected Content](https://essential-addons.com/elementor/protected-content/) - Lock your content with password and allow only selected people to see it
102
+ 28. [Progress Bar](https://essential-addons.com/elementor/progress-bar/) - Display progress bars with 6+ different styles
103
 
104
  More coming soon (weekly update) ...
105
 
157
 
158
  == Changelog ==
159
 
160
+ = 2.8.0 =
161
+ - Progress Bar widget added
162
+ - Video card support added to Filterable Gallery
163
+ - Multiple hover effects added to Post Grid
164
+ - Icon changing option added to Post Grid
165
+ - Few minor bugfix and improvements
166
+
167
  = 2.7.11 =
168
  - Nested Accordion support added (as saved template)
169
  - Few minor bugfix and improvements
389
 
390
  == Upgrade Notice ==
391
 
392
+ = 2.8.0 =
393
 
394
+ - Progress Bar widget added
395
+ - Video card support added to Filterable Gallery
396
+ - Multiple hover effects added to Post Grid
397
+ - Icon changing option added to Post Grid
398
  - Few minor bugfix and improvements