Premium Addons for Elementor - Version 4.9.32

Version Description

  • Tweak: Code refactored for better performance and security.
  • Fixed: Image icon option not working in Progress Bar widget.
  • Fixed: Editor update button not working in some cases due to an issue with Display Conditions addon.
  • Fixed: Comatibility issues with WPML and Media Grid widget.
  • Fixed: Compatibility issues with Thrive Architect theme.
Download this release

Release Info

Developer leap13
Plugin Icon 128x128 Premium Addons for Elementor
Version 4.9.32
Comparing to
See all releases

Code changes from version 4.9.31 to 4.9.32

Files changed (59) hide show
  1. admin/assets/js/menu-editor.js +259 -259
  2. admin/includes/admin-bar.php +175 -169
  3. admin/includes/admin-helper.php +26 -21
  4. admin/includes/admin-notices.php +3 -3
  5. admin/includes/templates/features.php +185 -185
  6. admin/includes/templates/general.php +16 -16
  7. admin/includes/templates/info.php +212 -195
  8. admin/includes/templates/integrations.php +11 -11
  9. admin/includes/templates/modules-settings.php +185 -185
  10. admin/includes/templates/nav-menu-settings.php +220 -220
  11. admin/includes/templates/version-control.php +9 -9
  12. assets/frontend/css/premium-addons.css +10 -0
  13. assets/frontend/css/premium-video-box.css +10 -0
  14. assets/frontend/js/premium-addons.js +2869 -2869
  15. assets/frontend/js/premium-dis-conditions.js +4 -0
  16. assets/frontend/js/premium-nav-menu.js +333 -333
  17. assets/frontend/min-css/premium-addons.min.css +1 -1
  18. assets/frontend/min-css/premium-video-box.min.css +1 -1
  19. assets/frontend/min-js/premium-dis-conditions.min.js +1 -1
  20. includes/addons-cross-cp.php +216 -216
  21. includes/addons-integration.php +1 -1
  22. includes/class-premium-template-tags.php +8 -4
  23. includes/helper-functions.php +3 -1
  24. includes/pa-display-conditions/conditions/ip-location.php +102 -100
  25. includes/pa-display-conditions/conditions/url-referer.php +4 -1
  26. includes/pa-nav-menu-walker.php +481 -481
  27. includes/templates/classes/assets.php +1 -1
  28. includes/templates/classes/manager.php +6 -5
  29. includes/templates/sources/base.php +363 -359
  30. modules/pa-display-conditions/module.php +7 -6
  31. modules/woocommerce/module.php +1 -1
  32. modules/woocommerce/skins/skin-1.php +1 -1
  33. modules/woocommerce/skins/skin-10.php +1 -1
  34. modules/woocommerce/skins/skin-11.php +1 -1
  35. modules/woocommerce/skins/skin-3.php +1 -1
  36. modules/woocommerce/skins/skin-4.php +1 -1
  37. modules/woocommerce/skins/skin-5.php +1 -1
  38. modules/woocommerce/skins/skin-6.php +1 -1
  39. modules/woocommerce/skins/skin-7.php +1 -1
  40. modules/woocommerce/skins/skin-8.php +1 -1
  41. modules/woocommerce/skins/skin-9.php +1 -1
  42. modules/woocommerce/templates/loop/pagination.php +16 -14
  43. modules/woocommerce/templates/product-1.php +1 -1
  44. modules/woocommerce/templates/product-10.php +1 -1
  45. modules/woocommerce/templates/product-11.php +1 -1
  46. modules/woocommerce/templates/product-2.php +1 -1
  47. modules/woocommerce/templates/product-3.php +1 -1
  48. modules/woocommerce/templates/product-4.php +1 -1
  49. modules/woocommerce/templates/product-5.php +1 -1
  50. modules/woocommerce/templates/product-6.php +1 -1
  51. modules/woocommerce/templates/product-7.php +1 -1
  52. modules/woocommerce/templates/product-8.php +1 -1
  53. modules/woocommerce/templates/product-9.php +1 -1
  54. modules/woocommerce/templates/quick-view-modal.php +1 -1
  55. modules/woocommerce/templates/quick-view-product-image.php +8 -5
  56. premium-addons-for-elementor.php +3 -3
  57. readme.txt +9 -1
  58. widgets/premium-banner.php +1 -1
  59. widgets/premium-button.php +0 -1564
admin/assets/js/menu-editor.js CHANGED
@@ -1,260 +1,260 @@
1
- (function ($) {
2
- 'use strict';
3
-
4
- var poppinsfontLink = document.createElement('link');
5
- poppinsfontLink.rel = 'stylesheet';
6
- poppinsfontLink.href = 'https://fonts.googleapis.com/css?family=Poppins:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic';
7
- poppinsfontLink.type = 'text/css';
8
- document.head.appendChild(poppinsfontLink);
9
-
10
- $(document).ready(function () {
11
-
12
- window.PremiumNavMenuSettings = {
13
-
14
- itemsData: {},
15
-
16
- currentItemId: null,
17
-
18
- currenItemDepth: null,
19
-
20
- init: function () {
21
- this.initControls();
22
- this.addSettingsTriggers();
23
- this.initEvents();
24
- },
25
-
26
- initControls: function () {
27
- // Color Controls.
28
- $('#premium-icon-color-field, #premium-badge-color-field, #premium-badge-bg-field').wpColorPicker();
29
-
30
- // Icon Picker.
31
- this.iconPicker = $('#premium-icon-field').fontIconPicker({
32
- source: PremiumIconsList,
33
- hasSearch: true,
34
- emptyIcon: true,
35
- });
36
- },
37
-
38
- addSettingsTriggers: function () {
39
- let _this = this,
40
- pos = $('body').hasClass('rtl') ? 'right' : 'left';
41
-
42
- $('#menu-to-edit .menu-item').each(function () {
43
-
44
- let itemTrigger = _this.getTriggerHtml(this);
45
-
46
- $(this).addClass('premium-menu-item');
47
- $(this).append(itemTrigger);
48
-
49
- $(this).find('.premium-menu-item-settings').css(pos, $(this).find('.menu-item-handle').outerWidth() + 10 + 'px');
50
- });
51
- },
52
-
53
- initEvents: function () {
54
- var _this = this;
55
-
56
- $('.premium-menu-item-settings').on('click', function (e) {
57
- _this.triggerSettingsPopup(_this, e);
58
- });
59
-
60
- $('#premium-menu-save').on('click', function () {
61
- var $button = $(this);
62
- _this.saveItemSettings(_this, $button);
63
- });
64
-
65
- $('.premium-menu-settings-modal .eicon-close').on('click', this.closeModal);
66
-
67
- $(document).on('click', '.premium-menu-settings-modal', function (e) {
68
- if ($(e.target).closest(".dialog-lightbox-widget-content").length < 1) {
69
- window.PremiumNavMenuSettings.closeModal();
70
- }
71
- });
72
- },
73
-
74
- triggerSettingsPopup: function (_this, e) {
75
-
76
- _this.currentItemId = $(e.target).data('id');
77
- _this.currenItemDepth = $(e.target).data('item-depth');
78
-
79
- _this.handlePopupControls(_this);
80
-
81
- $(".premium-menu-btn i").addClass("loader-hidden dashicons-admin-generic").removeClass("dashicons-yes");
82
- $(".premium-menu-btn span").text('Save Settings');
83
-
84
- // show depth-0 controls
85
- if (0 == _this.currenItemDepth) {
86
- $('.premium-setting-container.pa-depth-0-control').removeClass('premium-setting-hidden');
87
- }
88
- // $('#elementor-template-nav-menu-modal-container').show();
89
- // show the container and show a spinner till controls are prepared.
90
- },
91
-
92
- handlePopupControls: function (_this) {
93
-
94
- if (_this.itemsData[_this.currentItemId]) {
95
- _this.setControlsVal(_this.itemsData[_this.currentItemId]);
96
-
97
- } else {
98
- $.ajax({
99
- url: paMenuSettings.ajaxurl,
100
- type: 'POST',
101
- data: {
102
- action: 'get_pa_menu_item_settings',
103
- security: paMenuSettings.nonce,
104
- item_id: _this.currentItemId
105
- },
106
- success: function (res) {
107
- _this.itemsData[_this.currentItemId] = res.data;
108
- _this.setControlsVal(res.data);
109
- },
110
- error: function (error) {
111
- console.log(error);
112
- }
113
- });
114
- }
115
- },
116
-
117
- setControlsVal: function (settings) {
118
-
119
- var _this = this;
120
-
121
- if (settings) {
122
-
123
- let isChecked = 'true' == settings.mega_content_enabled ? true : false;
124
- let isFullWidth = 'true' == settings.full_width_mega_content ? true : false;
125
-
126
- $('#pa-megamenu-icon-type').val(settings.item_icon_type)
127
- _this.iconPicker.val(settings.item_icon);
128
- _this.iconPicker.refreshPicker();
129
- $('#premium-lottie-url').val(settings.item_lottie_url);
130
- $('#premium-badge-text-field').val(settings.item_badge);
131
- $('#premium-badge-bg-field').wpColorPicker("color", settings.item_badge_bg);
132
- $('#pa-megamenu-position').val(settings.mega_content_pos);
133
- $('#premium-icon-color-field').wpColorPicker("color", settings.item_icon_color);
134
- $('#premium-badge-color-field').wpColorPicker("color", settings.item_badge_color);
135
- $('#pa-mega-content-width').val(settings.mega_content_width.replace('px', ''));
136
- $('#pa-megamenu-switcher input').prop('checked', isChecked);
137
- $('#pa-full-width-switcher input').prop('checked', isFullWidth);
138
-
139
- } else {
140
- $('#pa-megamenu-icon-type').val('icon');
141
- _this.iconPicker.val('');
142
- _this.iconPicker.refreshPicker();
143
- $('#premium-lottie-url').val('');
144
- $('#premium-badge-text-field').val('');
145
- $('#premium-badge-bg-field').wpColorPicker("color", '#bada55');
146
- $('#pa-megamenu-position').val('default');
147
- $('#premium-icon-color-field').wpColorPicker("color", '#bada55');
148
- $('#premium-badge-color-field').wpColorPicker("color", '#bada55');
149
- $('#pa-mega-content-width').val('');
150
- $('#pa-megamenu-switcher input').prop('checked', false);
151
- $('#pa-full-width-switcher input').prop('checked', false);
152
- }
153
-
154
- this.checkIconType();
155
-
156
- $("#pa-megamenu-icon-type").on('change', function () {
157
- _this.checkIconType();
158
- });
159
-
160
- $('#elementor-template-nav-menu-modal-container').show();
161
- },
162
-
163
- checkIconType: function () {
164
-
165
- if ('icon' === $("#pa-megamenu-icon-type").val()) {
166
-
167
- $(".premium-lottie-settings").addClass("premium-setting-hidden");
168
- $(".premium-icon-settings").removeClass("premium-setting-hidden");
169
- } else {
170
- $(".premium-lottie-settings").removeClass("premium-setting-hidden");
171
- $(".premium-icon-settings").addClass("premium-setting-hidden");
172
- }
173
-
174
- },
175
- saveItemSettings: function (_this, $btn) {
176
-
177
- var $btnIcon = $btn.find("i");
178
- if (!$btnIcon.hasClass("loader-hidden"))
179
- return;
180
-
181
- $btnIcon.addClass("loading").removeClass("loader-hidden");
182
-
183
- let itemSettings = {
184
- item_id: _this.currentItemId,
185
- item_depth: _this.currenItemDepth,
186
- item_icon_type: $('#pa-megamenu-icon-type').val(),
187
- item_icon: $('#premium-icon-field').val(),
188
- item_lottie_url: $('#premium-lottie-url').val(),
189
- item_badge: $('#premium-badge-text-field').val(),
190
- item_badge_bg: $('#premium-badge-bg-field').val(),
191
- mega_content_pos: $('#pa-megamenu-position').val(),
192
- item_icon_color: $('#premium-icon-color-field').val(),
193
- item_badge_color: $('#premium-badge-color-field').val(),
194
- mega_content_enabled: $('#pa-megamenu-switcher input').prop('checked'),
195
- full_width_mega_content: $('#pa-full-width-switcher input').prop('checked'),
196
- mega_content_width: '' === $('#pa-mega-content-width').val() ? '1170px' : $('#pa-mega-content-width').val() + 'px',
197
- };
198
-
199
- _this.itemsData[_this.currentItemId] = itemSettings;
200
-
201
- $.ajax({
202
- url: paMenuSettings.ajaxurl,
203
- type: 'POST',
204
- data: {
205
- action: 'save_pa_menu_item_settings',
206
- security: paMenuSettings.nonce,
207
- settings: itemSettings
208
- },
209
- success: function (res) {
210
- $btnIcon.removeClass("loading dashicons-admin-generic").addClass("dashicons-yes");
211
-
212
- $btn.find("span").text('Settings Saved');
213
-
214
- setTimeout(function () {
215
- $btnIcon.addClass("loader-hidden dashicons-admin-generic").removeClass("dashicons-yes");
216
- $btn.find("span").text('Save Settings');
217
- }, 2000);
218
- },
219
- error: function (error) {
220
- console.log(error);
221
- }
222
- });
223
- },
224
-
225
- closeModal: function () {
226
- $('#elementor-template-nav-menu-modal-container').hide();
227
-
228
- // hide depth-0 controls
229
- $('.premium-setting-container.pa-depth-0-control').addClass('premium-setting-hidden');
230
- },
231
-
232
- getItemId: function ($item) {
233
- let id = $($item).attr('id').replace('menu-item-', '');
234
-
235
- return id;
236
- },
237
-
238
- getItemDepth: function ($item) {
239
- let depth = $($item).attr('class').match(/menu-item-depth-\d/);
240
-
241
- if (depth.length) {
242
- return depth[0].replace('menu-item-depth-', '');
243
- } else {
244
- return 0;
245
- }
246
- },
247
-
248
- getTriggerHtml: function ($item) {
249
- let itemId = this.getItemId($item),
250
- itemDepth = this.getItemDepth($item);
251
-
252
- return `<span class="premium-menu-item-settings" data-id="${itemId}" data-item-depth="${itemDepth}">Premium Menu</span>`;
253
- // add a logo or an icon to the trigger.
254
- },
255
- }
256
-
257
- window.PremiumNavMenuSettings.init();
258
- });
259
-
260
  })(jQuery);
1
+ (function ($) {
2
+ 'use strict';
3
+
4
+ var poppinsfontLink = document.createElement('link');
5
+ poppinsfontLink.rel = 'stylesheet';
6
+ poppinsfontLink.href = 'https://fonts.googleapis.com/css?family=Poppins:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic';
7
+ poppinsfontLink.type = 'text/css';
8
+ document.head.appendChild(poppinsfontLink);
9
+
10
+ $(document).ready(function () {
11
+
12
+ window.PremiumNavMenuSettings = {
13
+
14
+ itemsData: {},
15
+
16
+ currentItemId: null,
17
+
18
+ currenItemDepth: null,
19
+
20
+ init: function () {
21
+ this.initControls();
22
+ this.addSettingsTriggers();
23
+ this.initEvents();
24
+ },
25
+
26
+ initControls: function () {
27
+ // Color Controls.
28
+ $('#premium-icon-color-field, #premium-badge-color-field, #premium-badge-bg-field').wpColorPicker();
29
+
30
+ // Icon Picker.
31
+ this.iconPicker = $('#premium-icon-field').fontIconPicker({
32
+ source: PremiumIconsList,
33
+ hasSearch: true,
34
+ emptyIcon: true,
35
+ });
36
+ },
37
+
38
+ addSettingsTriggers: function () {
39
+ let _this = this,
40
+ pos = $('body').hasClass('rtl') ? 'right' : 'left';
41
+
42
+ $('#menu-to-edit .menu-item').each(function () {
43
+
44
+ let itemTrigger = _this.getTriggerHtml(this);
45
+
46
+ $(this).addClass('premium-menu-item');
47
+ $(this).append(itemTrigger);
48
+
49
+ $(this).find('.premium-menu-item-settings').css(pos, $(this).find('.menu-item-handle').outerWidth() + 10 + 'px');
50
+ });
51
+ },
52
+
53
+ initEvents: function () {
54
+ var _this = this;
55
+
56
+ $('.premium-menu-item-settings').on('click', function (e) {
57
+ _this.triggerSettingsPopup(_this, e);
58
+ });
59
+
60
+ $('#premium-menu-save').on('click', function () {
61
+ var $button = $(this);
62
+ _this.saveItemSettings(_this, $button);
63
+ });
64
+
65
+ $('.premium-menu-settings-modal .eicon-close').on('click', this.closeModal);
66
+
67
+ $(document).on('click', '.premium-menu-settings-modal', function (e) {
68
+ if ($(e.target).closest(".dialog-lightbox-widget-content").length < 1) {
69
+ window.PremiumNavMenuSettings.closeModal();
70
+ }
71
+ });
72
+ },
73
+
74
+ triggerSettingsPopup: function (_this, e) {
75
+
76
+ _this.currentItemId = $(e.target).data('id');
77
+ _this.currenItemDepth = $(e.target).data('item-depth');
78
+
79
+ _this.handlePopupControls(_this);
80
+
81
+ $(".premium-menu-btn i").addClass("loader-hidden dashicons-admin-generic").removeClass("dashicons-yes");
82
+ $(".premium-menu-btn span").text('Save Settings');
83
+
84
+ // show depth-0 controls
85
+ if (0 == _this.currenItemDepth) {
86
+ $('.premium-setting-container.pa-depth-0-control').removeClass('premium-setting-hidden');
87
+ }
88
+ // $('#elementor-template-nav-menu-modal-container').show();
89
+ // show the container and show a spinner till controls are prepared.
90
+ },
91
+
92
+ handlePopupControls: function (_this) {
93
+
94
+ if (_this.itemsData[_this.currentItemId]) {
95
+ _this.setControlsVal(_this.itemsData[_this.currentItemId]);
96
+
97
+ } else {
98
+ $.ajax({
99
+ url: paMenuSettings.ajaxurl,
100
+ type: 'POST',
101
+ data: {
102
+ action: 'get_pa_menu_item_settings',
103
+ security: paMenuSettings.nonce,
104
+ item_id: _this.currentItemId
105
+ },
106
+ success: function (res) {
107
+ _this.itemsData[_this.currentItemId] = res.data;
108
+ _this.setControlsVal(res.data);
109
+ },
110
+ error: function (error) {
111
+ console.log(error);
112
+ }
113
+ });
114
+ }
115
+ },
116
+
117
+ setControlsVal: function (settings) {
118
+
119
+ var _this = this;
120
+
121
+ if (settings) {
122
+
123
+ let isChecked = 'true' == settings.mega_content_enabled ? true : false;
124
+ let isFullWidth = 'true' == settings.full_width_mega_content ? true : false;
125
+
126
+ $('#pa-megamenu-icon-type').val(settings.item_icon_type)
127
+ _this.iconPicker.val(settings.item_icon);
128
+ _this.iconPicker.refreshPicker();
129
+ $('#premium-lottie-url').val(settings.item_lottie_url);
130
+ $('#premium-badge-text-field').val(settings.item_badge);
131
+ $('#premium-badge-bg-field').wpColorPicker("color", settings.item_badge_bg);
132
+ $('#pa-megamenu-position').val(settings.mega_content_pos);
133
+ $('#premium-icon-color-field').wpColorPicker("color", settings.item_icon_color);
134
+ $('#premium-badge-color-field').wpColorPicker("color", settings.item_badge_color);
135
+ $('#pa-mega-content-width').val(settings.mega_content_width.replace('px', ''));
136
+ $('#pa-megamenu-switcher input').prop('checked', isChecked);
137
+ $('#pa-full-width-switcher input').prop('checked', isFullWidth);
138
+
139
+ } else {
140
+ $('#pa-megamenu-icon-type').val('icon');
141
+ _this.iconPicker.val('');
142
+ _this.iconPicker.refreshPicker();
143
+ $('#premium-lottie-url').val('');
144
+ $('#premium-badge-text-field').val('');
145
+ $('#premium-badge-bg-field').wpColorPicker("color", '#bada55');
146
+ $('#pa-megamenu-position').val('default');
147
+ $('#premium-icon-color-field').wpColorPicker("color", '#bada55');
148
+ $('#premium-badge-color-field').wpColorPicker("color", '#bada55');
149
+ $('#pa-mega-content-width').val('');
150
+ $('#pa-megamenu-switcher input').prop('checked', false);
151
+ $('#pa-full-width-switcher input').prop('checked', false);
152
+ }
153
+
154
+ this.checkIconType();
155
+
156
+ $("#pa-megamenu-icon-type").on('change', function () {
157
+ _this.checkIconType();
158
+ });
159
+
160
+ $('#elementor-template-nav-menu-modal-container').show();
161
+ },
162
+
163
+ checkIconType: function () {
164
+
165
+ if ('icon' === $("#pa-megamenu-icon-type").val()) {
166
+
167
+ $(".premium-lottie-settings").addClass("premium-setting-hidden");
168
+ $(".premium-icon-settings").removeClass("premium-setting-hidden");
169
+ } else {
170
+ $(".premium-lottie-settings").removeClass("premium-setting-hidden");
171
+ $(".premium-icon-settings").addClass("premium-setting-hidden");
172
+ }
173
+
174
+ },
175
+ saveItemSettings: function (_this, $btn) {
176
+
177
+ var $btnIcon = $btn.find("i");
178
+ if (!$btnIcon.hasClass("loader-hidden"))
179
+ return;
180
+
181
+ $btnIcon.addClass("loading").removeClass("loader-hidden");
182
+
183
+ let itemSettings = {
184
+ item_id: _this.currentItemId,
185
+ item_depth: _this.currenItemDepth,
186
+ item_icon_type: $('#pa-megamenu-icon-type').val(),
187
+ item_icon: $('#premium-icon-field').val(),
188
+ item_lottie_url: $('#premium-lottie-url').val(),
189
+ item_badge: $('#premium-badge-text-field').val(),
190
+ item_badge_bg: $('#premium-badge-bg-field').val(),
191
+ mega_content_pos: $('#pa-megamenu-position').val(),
192
+ item_icon_color: $('#premium-icon-color-field').val(),
193
+ item_badge_color: $('#premium-badge-color-field').val(),
194
+ mega_content_enabled: $('#pa-megamenu-switcher input').prop('checked'),
195
+ full_width_mega_content: $('#pa-full-width-switcher input').prop('checked'),
196
+ mega_content_width: '' === $('#pa-mega-content-width').val() ? '1170px' : $('#pa-mega-content-width').val() + 'px',
197
+ };
198
+
199
+ _this.itemsData[_this.currentItemId] = itemSettings;
200
+
201
+ $.ajax({
202
+ url: paMenuSettings.ajaxurl,
203
+ type: 'POST',
204
+ data: {
205
+ action: 'save_pa_menu_item_settings',
206
+ security: paMenuSettings.nonce,
207
+ settings: itemSettings
208
+ },
209
+ success: function (res) {
210
+ $btnIcon.removeClass("loading dashicons-admin-generic").addClass("dashicons-yes");
211
+
212
+ $btn.find("span").text('Settings Saved');
213
+
214
+ setTimeout(function () {
215
+ $btnIcon.addClass("loader-hidden dashicons-admin-generic").removeClass("dashicons-yes");
216
+ $btn.find("span").text('Save Settings');
217
+ }, 2000);
218
+ },
219
+ error: function (error) {
220
+ console.log(error);
221
+ }
222
+ });
223
+ },
224
+
225
+ closeModal: function () {
226
+ $('#elementor-template-nav-menu-modal-container').hide();
227
+
228
+ // hide depth-0 controls
229
+ $('.premium-setting-container.pa-depth-0-control').addClass('premium-setting-hidden');
230
+ },
231
+
232
+ getItemId: function ($item) {
233
+ let id = $($item).attr('id').replace('menu-item-', '');
234
+
235
+ return id;
236
+ },
237
+
238
+ getItemDepth: function ($item) {
239
+ let depth = $($item).attr('class').match(/menu-item-depth-\d/);
240
+
241
+ if (depth.length) {
242
+ return depth[0].replace('menu-item-depth-', '');
243
+ } else {
244
+ return 0;
245
+ }
246
+ },
247
+
248
+ getTriggerHtml: function ($item) {
249
+ let itemId = this.getItemId($item),
250
+ itemDepth = this.getItemDepth($item);
251
+
252
+ return `<span class="premium-menu-item-settings" data-id="${itemId}" data-item-depth="${itemDepth}">Premium Menu</span>`;
253
+ // add a logo or an icon to the trigger.
254
+ },
255
+ }
256
+
257
+ window.PremiumNavMenuSettings.init();
258
+ });
259
+
260
  })(jQuery);
admin/includes/admin-bar.php CHANGED
@@ -1,169 +1,175 @@
1
- <?php
2
- /**
3
- * PA Admin Bar
4
- */
5
-
6
- namespace PremiumAddons\Admin\Includes;
7
-
8
- use PremiumAddons\Includes\Helper_Functions;
9
-
10
- if ( ! defined( 'ABSPATH' ) ) {
11
- exit;
12
- }
13
-
14
- /**
15
- * Class Admin_Bar
16
- */
17
- class Admin_Bar {
18
-
19
- /**
20
- * Class instance
21
- *
22
- * @var instance
23
- */
24
- private static $instance = null;
25
-
26
- /**
27
- * Constructor for the class
28
- */
29
- public function __construct() {
30
-
31
- add_action( 'admin_bar_menu', array( $this, 'add_toolbar_items' ), 500 );
32
-
33
- add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_assets' ) );
34
-
35
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) );
36
-
37
- }
38
-
39
- public function enqueue_assets() {
40
-
41
- $suffix = is_rtl() ? '-rtl' : '';
42
-
43
- wp_enqueue_style(
44
- 'pa-admin',
45
- PREMIUM_ADDONS_URL . 'admin/assets/css/admin' . $suffix . '.css',
46
- array(),
47
- PREMIUM_ADDONS_VERSION,
48
- 'all'
49
- );
50
-
51
- wp_enqueue_script(
52
- 'pa-admin-bar',
53
- PREMIUM_ADDONS_URL . 'admin/assets/js/admin-bar.js',
54
- array( 'jquery' ),
55
- PREMIUM_ADDONS_VERSION,
56
- true
57
- );
58
-
59
- wp_localize_script(
60
- 'pa-admin-bar',
61
- 'PaDynamicAssets',
62
- array(
63
- 'nonce' => wp_create_nonce( 'pa-generate-nonce' ),
64
- 'post_id' => get_queried_object_id(),
65
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
66
- )
67
- );
68
- }
69
-
70
- public function add_toolbar_items( \WP_Admin_Bar $admin_bar ) {
71
-
72
- if ( ! current_user_can( 'manage_options' ) ) {
73
- return;
74
- }
75
-
76
- $icon = '<i class="dashicons dashicons-update-alt"></i> ';
77
-
78
- $admin_bar->add_menu(
79
- array(
80
- 'id' => 'premium-addons',
81
- 'title' => $icon . __( ' PA Assets', 'premium-addons-for-elementor' ),
82
- 'href' => $this->get_dashboard_widgets_link(),
83
- 'meta' => array(
84
- 'title' => __( 'Premium Addons', 'premium-addons-for-elementor' ),
85
- ),
86
- )
87
- );
88
-
89
- if ( is_singular() ) {
90
- $admin_bar->add_menu(
91
- array(
92
- 'id' => 'pa-clear-page-cache',
93
- 'parent' => 'premium-addons',
94
- 'title' => $icon . __( 'Clear Page Generated Assets', 'premium-addons-for-elementor' ),
95
- 'href' => '#',
96
- 'meta' => array(
97
- 'class' => 'pa-clear-cache pa-clear-page-cache',
98
- ),
99
- )
100
- );
101
- }
102
-
103
- $admin_bar->add_menu(
104
- array(
105
- 'id' => 'pa-clear-all-cache',
106
- 'parent' => 'premium-addons',
107
- 'title' => $icon . __( 'Clear All Generated Assets', 'premium-addons-for-elementor' ),
108
- 'href' => '#',
109
- 'meta' => array(
110
- 'class' => 'pa-clear-cache pa-clear-all-cache',
111
- ),
112
- )
113
- );
114
-
115
- $doc_icon = '<i class="dashicons dashicons-editor-help"></i> ';
116
-
117
- $admin_bar->add_menu(
118
- array(
119
- 'id' => 'pa-feature-doc',
120
- 'parent' => 'premium-addons',
121
- 'title' => $doc_icon . __( 'Learn More', 'premium-addons-for-elementor' ),
122
- 'href' => 'https://premiumaddons.com/docs/dynamic-assets-generate-loading-for-elementor/',
123
- 'meta' => array(
124
- 'target' => '_blank',
125
- ),
126
- )
127
- );
128
- }
129
-
130
- /**
131
- * Get Dashboard Widgets Link
132
- *
133
- * Returns links for Widgets & Addons dashboard tab.
134
- *
135
- * @since 4.9.4
136
- * @access private
137
- *
138
- * @return string tab link.
139
- */
140
- private function get_dashboard_widgets_link() {
141
-
142
- return add_query_arg(
143
- array(
144
- 'page' => 'premium-addons#tab=elements',
145
- ),
146
- esc_url( admin_url( 'admin.php' ) )
147
- );
148
-
149
- }
150
-
151
- /**
152
- * Creates and returns an instance of the class
153
- *
154
- * @since 3.20.9
155
- * @access public
156
- *
157
- * @return object
158
- */
159
- public static function get_instance() {
160
-
161
- if ( ! isset( self::$instance ) ) {
162
-
163
- self::$instance = new self();
164
-
165
- }
166
-
167
- return self::$instance;
168
- }
169
- }
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * PA Admin Bar
4
+ */
5
+
6
+ namespace PremiumAddons\Admin\Includes;
7
+
8
+ use PremiumAddons\Includes\Helper_Functions;
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit;
12
+ }
13
+
14
+ /**
15
+ * Class Admin_Bar
16
+ */
17
+ class Admin_Bar {
18
+
19
+ /**
20
+ * Class instance
21
+ *
22
+ * @var instance
23
+ */
24
+ private static $instance = null;
25
+
26
+ /**
27
+ * Constructor for the class
28
+ */
29
+ public function __construct() {
30
+
31
+ add_action( 'admin_bar_menu', array( $this, 'add_toolbar_items' ), 500 );
32
+
33
+ add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_assets' ) );
34
+
35
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) );
36
+
37
+ }
38
+
39
+ public function enqueue_assets() {
40
+
41
+ $suffix = is_rtl() ? '-rtl' : '';
42
+
43
+ $action = filter_var( wp_unslash( $_SERVER['REQUEST_URI'] ), FILTER_SANITIZE_STRING );
44
+
45
+ if ( false === strpos( $action, 'action=architect' ) ) {
46
+
47
+ wp_enqueue_style(
48
+ 'pa-admin',
49
+ PREMIUM_ADDONS_URL . 'admin/assets/css/admin' . $suffix . '.css',
50
+ array(),
51
+ PREMIUM_ADDONS_VERSION,
52
+ 'all'
53
+ );
54
+
55
+ }
56
+
57
+ wp_enqueue_script(
58
+ 'pa-admin-bar',
59
+ PREMIUM_ADDONS_URL . 'admin/assets/js/admin-bar.js',
60
+ array( 'jquery' ),
61
+ PREMIUM_ADDONS_VERSION,
62
+ true
63
+ );
64
+
65
+ wp_localize_script(
66
+ 'pa-admin-bar',
67
+ 'PaDynamicAssets',
68
+ array(
69
+ 'nonce' => wp_create_nonce( 'pa-generate-nonce' ),
70
+ 'post_id' => get_queried_object_id(),
71
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
72
+ )
73
+ );
74
+ }
75
+
76
+ public function add_toolbar_items( \WP_Admin_Bar $admin_bar ) {
77
+
78
+ if ( ! current_user_can( 'manage_options' ) ) {
79
+ return;
80
+ }
81
+
82
+ $icon = '<i class="dashicons dashicons-update-alt"></i> ';
83
+
84
+ $admin_bar->add_menu(
85
+ array(
86
+ 'id' => 'premium-addons',
87
+ 'title' => $icon . __( ' PA Assets', 'premium-addons-for-elementor' ),
88
+ 'href' => $this->get_dashboard_widgets_link(),
89
+ 'meta' => array(
90
+ 'title' => __( 'Premium Addons', 'premium-addons-for-elementor' ),
91
+ ),
92
+ )
93
+ );
94
+
95
+ if ( is_singular() ) {
96
+ $admin_bar->add_menu(
97
+ array(
98
+ 'id' => 'pa-clear-page-cache',
99
+ 'parent' => 'premium-addons',
100
+ 'title' => $icon . __( 'Clear Page Generated Assets', 'premium-addons-for-elementor' ),
101
+ 'href' => '#',
102
+ 'meta' => array(
103
+ 'class' => 'pa-clear-cache pa-clear-page-cache',
104
+ ),
105
+ )
106
+ );
107
+ }
108
+
109
+ $admin_bar->add_menu(
110
+ array(
111
+ 'id' => 'pa-clear-all-cache',
112
+ 'parent' => 'premium-addons',
113
+ 'title' => $icon . __( 'Clear All Generated Assets', 'premium-addons-for-elementor' ),
114
+ 'href' => '#',
115
+ 'meta' => array(
116
+ 'class' => 'pa-clear-cache pa-clear-all-cache',
117
+ ),
118
+ )
119
+ );
120
+
121
+ $doc_icon = '<i class="dashicons dashicons-editor-help"></i> ';
122
+
123
+ $admin_bar->add_menu(
124
+ array(
125
+ 'id' => 'pa-feature-doc',
126
+ 'parent' => 'premium-addons',
127
+ 'title' => $doc_icon . __( 'Learn More', 'premium-addons-for-elementor' ),
128
+ 'href' => 'https://premiumaddons.com/docs/dynamic-assets-generate-loading-for-elementor/',
129
+ 'meta' => array(
130
+ 'target' => '_blank',
131
+ ),
132
+ )
133
+ );
134
+ }
135
+
136
+ /**
137
+ * Get Dashboard Widgets Link
138
+ *
139
+ * Returns links for Widgets & Addons dashboard tab.
140
+ *
141
+ * @since 4.9.4
142
+ * @access private
143
+ *
144
+ * @return string tab link.
145
+ */
146
+ private function get_dashboard_widgets_link() {
147
+
148
+ return add_query_arg(
149
+ array(
150
+ 'page' => 'premium-addons#tab=elements',
151
+ ),
152
+ esc_url( admin_url( 'admin.php' ) )
153
+ );
154
+
155
+ }
156
+
157
+ /**
158
+ * Creates and returns an instance of the class
159
+ *
160
+ * @since 3.20.9
161
+ * @access public
162
+ *
163
+ * @return object
164
+ */
165
+ public static function get_instance() {
166
+
167
+ if ( ! isset( self::$instance ) ) {
168
+
169
+ self::$instance = new self();
170
+
171
+ }
172
+
173
+ return self::$instance;
174
+ }
175
+ }
admin/includes/admin-helper.php CHANGED
@@ -210,30 +210,35 @@ class Admin_Helper {
210
  $suffix = is_rtl() ? '-rtl' : '';
211
  $current_screen = self::get_current_screen();
212
  $enabled_elements = self::get_enabled_elements();
 
213
 
214
- wp_enqueue_style(
215
- 'pa_admin_icon',
216
- PREMIUM_ADDONS_URL . 'admin/assets/fonts/style.css',
217
- array(),
218
- PREMIUM_ADDONS_VERSION,
219
- 'all'
220
- );
221
 
222
- wp_enqueue_style(
223
- 'pa-notice-css',
224
- PREMIUM_ADDONS_URL . 'admin/assets/css/notice' . $suffix . '.css',
225
- array(),
226
- PREMIUM_ADDONS_VERSION,
227
- 'all'
228
- );
229
 
230
- wp_enqueue_style(
231
- 'pa-admin-css',
232
- PREMIUM_ADDONS_URL . 'admin/assets/css/admin' . $suffix . '.css',
233
- array(),
234
- PREMIUM_ADDONS_VERSION,
235
- 'all'
236
- );
 
 
 
 
 
 
 
 
 
 
237
 
238
  if ( strpos( $current_screen, $this->page_slug ) !== false ) {
239
 
210
  $suffix = is_rtl() ? '-rtl' : '';
211
  $current_screen = self::get_current_screen();
212
  $enabled_elements = self::get_enabled_elements();
213
+ $action = filter_var( wp_unslash( $_SERVER['REQUEST_URI'] ), FILTER_SANITIZE_STRING );
214
 
215
+ if ( false === strpos( $action, 'action=architect' ) ) {
 
 
 
 
 
 
216
 
217
+ wp_enqueue_style(
218
+ 'pa_admin_icon',
219
+ PREMIUM_ADDONS_URL . 'admin/assets/fonts/style.css',
220
+ array(),
221
+ PREMIUM_ADDONS_VERSION,
222
+ 'all'
223
+ );
224
 
225
+ wp_enqueue_style(
226
+ 'pa-notice-css',
227
+ PREMIUM_ADDONS_URL . 'admin/assets/css/notice' . $suffix . '.css',
228
+ array(),
229
+ PREMIUM_ADDONS_VERSION,
230
+ 'all'
231
+ );
232
+
233
+ wp_enqueue_style(
234
+ 'pa-admin-css',
235
+ PREMIUM_ADDONS_URL . 'admin/assets/css/admin' . $suffix . '.css',
236
+ array(),
237
+ PREMIUM_ADDONS_VERSION,
238
+ 'all'
239
+ );
240
+
241
+ }
242
 
243
  if ( strpos( $current_screen, $this->page_slug ) !== false ) {
244
 
admin/includes/admin-notices.php CHANGED
@@ -256,12 +256,12 @@ class Admin_Notices {
256
 
257
  <div class="error pa-notice-wrap pa-new-feature-notice">
258
  <div class="pa-img-wrap">
259
- <img src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/pa-logo-symbol.png'; ?>">
260
  </div>
261
  <div class="pa-text-wrap">
262
  <p>
263
- <strong><?php echo __( 'Premium SVG Draw Widget', 'premium-addons-for-elemetor' ); ?></strong>
264
- <?php echo sprintf( __( 'is now available in Premium Addons for Elementor. <a href="%s" target="_blank">Check it out now!</a>', 'premium-addons-for-elementor' ), $notice_url ); ?>
265
  </p>
266
  </div>
267
  <div class="pa-notice-close" data-notice="svg">
256
 
257
  <div class="error pa-notice-wrap pa-new-feature-notice">
258
  <div class="pa-img-wrap">
259
+ <img src="<?php echo esc_url( PREMIUM_ADDONS_URL ) . 'admin/images/pa-logo-symbol.png'; ?>">
260
  </div>
261
  <div class="pa-text-wrap">
262
  <p>
263
+ <strong><?php echo esc_html( __( 'Premium SVG Draw Widget', 'premium-addons-for-elemetor' ) ); ?></strong>
264
+ <?php echo wp_kses_post( sprintf( __( 'is now available in Premium Addons for Elementor. <a href="%s" target="_blank">Check it out now!</a>', 'premium-addons-for-elementor' ), esc_url( $notice_url ) ) ); ?>
265
  </p>
266
  </div>
267
  <div class="pa-notice-close" data-notice="svg">
admin/includes/templates/features.php CHANGED
@@ -1,185 +1,185 @@
1
- <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit;
5
- }
6
-
7
- use PremiumAddons\Includes\Helper_Functions;
8
-
9
- $prefix = Helper_Functions::get_prefix();
10
-
11
- // Get elements settings
12
- $enabled_elements = self::get_enabled_elements();
13
-
14
- $elements = self::get_elements_list();
15
-
16
- $features = $elements['cat-11']['elements'];
17
-
18
- ?>
19
-
20
- <div class="pa-section-content">
21
- <div class="row">
22
- <div class="col-full">
23
- <form action="" method="POST" id="pa-features" name="pa-features" class="pa-settings-form">
24
- <div id="pa-features-settings" class="pa-settings-tab">
25
-
26
- <div class="pa-section-outer-wrap">
27
- <div class="pa-section-info-wrap">
28
- <div class="pa-section-info">
29
- <h4><?php echo sprintf( '%1$s %2$s', $prefix, __( 'Templates', 'premium-addons-for-elementor' ) ); ?></h4>
30
- <p><?php echo __( 'Build Professional Website in Minutes Using Our Pre-Made Premium Elementor Templates.', 'premium-addons-for-elementor' ); ?></p>
31
- </div>
32
-
33
- <div class="pa-section-info-cta">
34
- <label class="switch">
35
- <input type="checkbox" id="premium-templates" name="premium-templates" <?php echo checked( 1, $enabled_elements['premium-templates'], false ); ?>>
36
- <span class="slider round"></span>
37
- </label>
38
- </p>
39
- </div>
40
- </div>
41
- <a href="<?php echo esc_url( $features[0]['demo'] ); ?>" target="_blank"></a>
42
- </div>
43
-
44
- <div class="pa-section-outer-wrap">
45
- <div class="pa-section-info-wrap">
46
- <div class="pa-section-info">
47
- <h4><?php echo __( 'Equal Height', 'premium-addons-for-elementor' ); ?></h4>
48
- <p><?php echo __( 'Make your widgets the same height with just ONE click.', 'premium-addons-for-elementor' ); ?></p>
49
- </div>
50
-
51
- <div class="pa-section-info-cta">
52
- <label class="switch">
53
- <input type="checkbox" id="premium-equal-height" name="premium-equal-height" <?php echo checked( 1, $enabled_elements['premium-equal-height'], false ); ?>>
54
- <span class="slider round"></span>
55
- </label>
56
- </p>
57
- </div>
58
- </div>
59
- <a href="<?php echo esc_url( $features[1]['demo'] ); ?>" target="_blank"></a>
60
- </div>
61
-
62
- <div class="pa-section-outer-wrap">
63
- <div class="pa-section-info-wrap">
64
- <div class="pa-section-info">
65
- <h4><?php echo __( 'Custom Mouse Cursor', 'premium-addons-for-elementor' ); ?></h4>
66
- <p><?php echo __( 'Change the default mouse cursor with icon, image, or Lottie animation for any Elementor section, column, or widget.', 'premium-addons-for-elementor' ); ?></p>
67
- </div>
68
- <?php
69
-
70
- $status = ( isset( $features[3]['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'disabled' : checked( 1, $enabled_elements['premium-global-cursor'], false );
71
- $class = ( isset( $features[3]['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'pro-' : '';
72
- $switcher_class = $class . 'slider round';
73
-
74
- ?>
75
- <div class="pa-section-info-cta">
76
- <label class="switch">
77
- <input type="checkbox" id="premium-global-cursor" name="premium-global-cursor" <?php echo $status; ?>>
78
- <span class="<?php echo esc_attr( $switcher_class ); ?>"></span>
79
- </label>
80
- </p>
81
- </div>
82
- </div>
83
- <a href="<?php echo esc_url( $features[3]['demo'] ); ?>" target="_blank"></a>
84
- </div>
85
-
86
- <div class="pa-section-outer-wrap">
87
- <div class="pa-section-info-wrap">
88
- <div class="pa-section-info">
89
- <h4><?php echo __( 'Global Badge', 'premium-addons-for-elementor' ); ?></h4>
90
- <p><?php echo __( 'Add icon, image, Lottie, or SVG blob shape badge to any Elementor section, column, or widget.', 'premium-addons-for-elementor' ); ?></p>
91
- </div>
92
- <?php
93
-
94
- $status = ( isset( $features[4]['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'disabled' : checked( 1, $enabled_elements['premium-global-badge'], false );
95
- $class = ( isset( $features[4]['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'pro-' : '';
96
- $switcher_class = $class . 'slider round';
97
-
98
- ?>
99
- <div class="pa-section-info-cta">
100
- <label class="switch">
101
- <input type="checkbox" id="premium-global-badge" name="premium-global-badge" <?php echo $status; ?>>
102
- <span class="<?php echo esc_attr( $switcher_class ); ?>"></span>
103
- </label>
104
- </p>
105
- </div>
106
- </div>
107
- <a href="<?php echo esc_url( $features[4]['demo'] ); ?>" target="_blank"></a>
108
- </div>
109
-
110
- <div class="pa-section-outer-wrap">
111
- <div class="pa-section-info-wrap">
112
- <div class="pa-section-info">
113
- <h4><?php echo __( 'Display Conditions', 'premium-addons-for-elementor' ); ?></h4>
114
- <p><?php echo __( 'Show/hide content dynamically based on location, browser, operating system, user role, device type, Woocommerce, ACF, etc.', 'premium-addons-for-elementor' ); ?></p>
115
- </div>
116
-
117
- <div class="pa-section-info-cta">
118
- <label class="switch">
119
- <input type="checkbox" id="pa-display-conditions" name="pa-display-conditions" <?php echo checked( 1, $enabled_elements['pa-display-conditions'], false ); ?>>
120
- <span class="slider round"></span>
121
- </label>
122
- </p>
123
- </div>
124
- </div>
125
- <a href="<?php echo esc_url( $features[2]['demo'] ); ?>" target="_blank"></a>
126
- </div>
127
-
128
- <div class="pa-section-outer-wrap">
129
- <div class="pa-section-info-wrap">
130
- <div class="pa-section-info">
131
- <h4><?php echo __( 'Floating Effects', 'premium-addons-for-elementor' ); ?></h4>
132
- <p><?php echo __( 'Apply advanced floating effects on any Elementor element or a custom CSS selector.', 'premium-addons-for-elementor' ); ?></p>
133
- </div>
134
-
135
- <div class="pa-section-info-cta">
136
- <label class="switch">
137
- <input type="checkbox" id="premium-floating-effects" name="premium-floating-effects" <?php echo checked( 1, $enabled_elements['premium-floating-effects'], false ); ?>>
138
- <span class="slider round"></span>
139
- </label>
140
- </p>
141
- </div>
142
- </div>
143
- <a href="<?php echo esc_url( $features[5]['demo'] ); ?>" target="_blank"></a>
144
- </div>
145
-
146
- <div class="pa-section-outer-wrap">
147
- <div class="pa-section-info-wrap">
148
- <div class="pa-section-info">
149
- <h4><?php echo __( 'Cross-Domain Copy N’ Paste', 'premium-addons-for-elementor' ); ?></h4>
150
- <p><?php echo __( 'Copy any Elementor content from site to another in just ONE click.', 'premium-addons-for-elementor' ); ?></p>
151
- </div>
152
-
153
- <div class="pa-section-info-cta">
154
- <label class="switch">
155
- <input type="checkbox" id="premium-cross-domain" name="premium-cross-domain" <?php echo checked( 1, $enabled_elements['premium-cross-domain'], false ); ?>>
156
- <span class="slider round"></span>
157
- </label>
158
- </p>
159
- </div>
160
- </div>
161
- <a href="<?php echo esc_url( $features[6]['demo'] ); ?>" target="_blank"></a>
162
- </div>
163
-
164
- <div class="pa-section-outer-wrap">
165
- <div class="pa-section-info-wrap">
166
- <div class="pa-section-info">
167
- <h4><?php echo __( 'Duplicator', 'premium-addons-for-elementor' ); ?></h4>
168
- <p><?php echo __( 'Duplicate any post, page or template on your website.', 'premium-addons-for-elementor' ); ?></p>
169
- </div>
170
-
171
- <div class="pa-section-info-cta">
172
- <label class="switch">
173
- <input type="checkbox" id="premium-duplicator" name="premium-duplicator" <?php echo checked( 1, $enabled_elements['premium-duplicator'], false ); ?>>
174
- <span class="slider round"></span>
175
- </label>
176
- </p>
177
- </div>
178
- </div>
179
- </div>
180
-
181
- </div>
182
- </form> <!-- End Form -->
183
- </div>
184
- </div>
185
- </div> <!-- End Section Content -->
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ use PremiumAddons\Includes\Helper_Functions;
8
+
9
+ $prefix = Helper_Functions::get_prefix();
10
+
11
+ // Get elements settings
12
+ $enabled_elements = self::get_enabled_elements();
13
+
14
+ $elements = self::get_elements_list();
15
+
16
+ $features = $elements['cat-11']['elements'];
17
+
18
+ ?>
19
+
20
+ <div class="pa-section-content">
21
+ <div class="row">
22
+ <div class="col-full">
23
+ <form action="" method="POST" id="pa-features" name="pa-features" class="pa-settings-form">
24
+ <div id="pa-features-settings" class="pa-settings-tab">
25
+
26
+ <div class="pa-section-outer-wrap">
27
+ <div class="pa-section-info-wrap">
28
+ <div class="pa-section-info">
29
+ <h4><?php echo sprintf( '%1$s %2$s', esc_html( $prefix ), esc_html( __( 'Templates', 'premium-addons-for-elementor' ) ) ); ?></h4>
30
+ <p><?php echo esc_html( __( 'Build Professional Website in Minutes Using Our Pre-Made Premium Elementor Templates.', 'premium-addons-for-elementor' ) ); ?></p>
31
+ </div>
32
+
33
+ <div class="pa-section-info-cta">
34
+ <label class="switch">
35
+ <input type="checkbox" id="premium-templates" name="premium-templates" <?php echo checked( 1, $enabled_elements['premium-templates'], false ); ?>>
36
+ <span class="slider round"></span>
37
+ </label>
38
+ </p>
39
+ </div>
40
+ </div>
41
+ <a href="<?php echo esc_url( $features[0]['demo'] ); ?>" target="_blank"></a>
42
+ </div>
43
+
44
+ <div class="pa-section-outer-wrap">
45
+ <div class="pa-section-info-wrap">
46
+ <div class="pa-section-info">
47
+ <h4><?php echo esc_html( __( 'Equal Height', 'premium-addons-for-elementor' ) ); ?></h4>
48
+ <p><?php echo esc_html( __( 'Make your widgets the same height with just ONE click.', 'premium-addons-for-elementor' ) ); ?></p>
49
+ </div>
50
+
51
+ <div class="pa-section-info-cta">
52
+ <label class="switch">
53
+ <input type="checkbox" id="premium-equal-height" name="premium-equal-height" <?php echo checked( 1, $enabled_elements['premium-equal-height'], false ); ?>>
54
+ <span class="slider round"></span>
55
+ </label>
56
+ </p>
57
+ </div>
58
+ </div>
59
+ <a href="<?php echo esc_url( $features[1]['demo'] ); ?>" target="_blank"></a>
60
+ </div>
61
+
62
+ <div class="pa-section-outer-wrap">
63
+ <div class="pa-section-info-wrap">
64
+ <div class="pa-section-info">
65
+ <h4><?php echo esc_html( __( 'Custom Mouse Cursor', 'premium-addons-for-elementor' ) ); ?></h4>
66
+ <p><?php echo esc_html( __( 'Change the default mouse cursor with icon, image, or Lottie animation for any Elementor section, column, or widget.', 'premium-addons-for-elementor' ) ); ?></p>
67
+ </div>
68
+ <?php
69
+
70
+ $status = ( isset( $features[3]['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'disabled' : checked( 1, $enabled_elements['premium-global-cursor'], false );
71
+ $class = ( isset( $features[3]['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'pro-' : '';
72
+ $switcher_class = $class . 'slider round';
73
+
74
+ ?>
75
+ <div class="pa-section-info-cta">
76
+ <label class="switch">
77
+ <input type="checkbox" id="premium-global-cursor" name="premium-global-cursor" <?php echo esc_attr( $status ); ?>>
78
+ <span class="<?php echo esc_attr( $switcher_class ); ?>"></span>
79
+ </label>
80
+ </p>
81
+ </div>
82
+ </div>
83
+ <a href="<?php echo esc_url( $features[3]['demo'] ); ?>" target="_blank"></a>
84
+ </div>
85
+
86
+ <div class="pa-section-outer-wrap">
87
+ <div class="pa-section-info-wrap">
88
+ <div class="pa-section-info">
89
+ <h4><?php echo esc_html( __( 'Global Badge', 'premium-addons-for-elementor' ) ); ?></h4>
90
+ <p><?php echo esc_html( __( 'Add icon, image, Lottie, or SVG blob shape badge to any Elementor section, column, or widget.', 'premium-addons-for-elementor' ) ); ?></p>
91
+ </div>
92
+ <?php
93
+
94
+ $status = ( isset( $features[4]['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'disabled' : checked( 1, $enabled_elements['premium-global-badge'], false );
95
+ $class = ( isset( $features[4]['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'pro-' : '';
96
+ $switcher_class = $class . 'slider round';
97
+
98
+ ?>
99
+ <div class="pa-section-info-cta">
100
+ <label class="switch">
101
+ <input type="checkbox" id="premium-global-badge" name="premium-global-badge" <?php echo esc_attr( $status ); ?>>
102
+ <span class="<?php echo esc_attr( $switcher_class ); ?>"></span>
103
+ </label>
104
+ </p>
105
+ </div>
106
+ </div>
107
+ <a href="<?php echo esc_url( $features[4]['demo'] ); ?>" target="_blank"></a>
108
+ </div>
109
+
110
+ <div class="pa-section-outer-wrap">
111
+ <div class="pa-section-info-wrap">
112
+ <div class="pa-section-info">
113
+ <h4><?php echo esc_html( __( 'Display Conditions', 'premium-addons-for-elementor' ) ); ?></h4>
114
+ <p><?php echo esc_html( __( 'Show/hide content dynamically based on location, browser, operating system, user role, device type, Woocommerce, ACF, etc.', 'premium-addons-for-elementor' ) ); ?></p>
115
+ </div>
116
+
117
+ <div class="pa-section-info-cta">
118
+ <label class="switch">
119
+ <input type="checkbox" id="pa-display-conditions" name="pa-display-conditions" <?php echo checked( 1, $enabled_elements['pa-display-conditions'], false ); ?>>
120
+ <span class="slider round"></span>
121
+ </label>
122
+ </p>
123
+ </div>
124
+ </div>
125
+ <a href="<?php echo esc_url( $features[2]['demo'] ); ?>" target="_blank"></a>
126
+ </div>
127
+
128
+ <div class="pa-section-outer-wrap">
129
+ <div class="pa-section-info-wrap">
130
+ <div class="pa-section-info">
131
+ <h4><?php echo esc_html( __( 'Floating Effects', 'premium-addons-for-elementor' ) ); ?></h4>
132
+ <p><?php echo esc_html( __( 'Apply advanced floating effects on any Elementor element or a custom CSS selector.', 'premium-addons-for-elementor' ) ); ?></p>
133
+ </div>
134
+
135
+ <div class="pa-section-info-cta">
136
+ <label class="switch">
137
+ <input type="checkbox" id="premium-floating-effects" name="premium-floating-effects" <?php echo checked( 1, $enabled_elements['premium-floating-effects'], false ); ?>>
138
+ <span class="slider round"></span>
139
+ </label>
140
+ </p>
141
+ </div>
142
+ </div>
143
+ <a href="<?php echo esc_url( $features[5]['demo'] ); ?>" target="_blank"></a>
144
+ </div>
145
+
146
+ <div class="pa-section-outer-wrap">
147
+ <div class="pa-section-info-wrap">
148
+ <div class="pa-section-info">
149
+ <h4><?php echo esc_html( __( 'Cross-Domain Copy N’ Paste', 'premium-addons-for-elementor' ) ); ?></h4>
150
+ <p><?php echo esc_html( __( 'Copy any Elementor content from site to another in just ONE click.', 'premium-addons-for-elementor' ) ); ?></p>
151
+ </div>
152
+
153
+ <div class="pa-section-info-cta">
154
+ <label class="switch">
155
+ <input type="checkbox" id="premium-cross-domain" name="premium-cross-domain" <?php echo checked( 1, $enabled_elements['premium-cross-domain'], false ); ?>>
156
+ <span class="slider round"></span>
157
+ </label>
158
+ </p>
159
+ </div>
160
+ </div>
161
+ <a href="<?php echo esc_url( $features[6]['demo'] ); ?>" target="_blank"></a>
162
+ </div>
163
+
164
+ <div class="pa-section-outer-wrap">
165
+ <div class="pa-section-info-wrap">
166
+ <div class="pa-section-info">
167
+ <h4><?php echo esc_html( __( 'Duplicator', 'premium-addons-for-elementor' ) ); ?></h4>
168
+ <p><?php echo esc_html( __( 'Duplicate any post, page or template on your website.', 'premium-addons-for-elementor' ) ); ?></p>
169
+ </div>
170
+
171
+ <div class="pa-section-info-cta">
172
+ <label class="switch">
173
+ <input type="checkbox" id="premium-duplicator" name="premium-duplicator" <?php echo checked( 1, $enabled_elements['premium-duplicator'], false ); ?>>
174
+ <span class="slider round"></span>
175
+ </label>
176
+ </p>
177
+ </div>
178
+ </div>
179
+ </div>
180
+
181
+ </div>
182
+ </form> <!-- End Form -->
183
+ </div>
184
+ </div>
185
+ </div> <!-- End Section Content -->
admin/includes/templates/general.php CHANGED
@@ -21,10 +21,10 @@ $pa_news = self::get_pa_news();
21
  <div class="pa-section-info">
22
  <i class="pa-element-icon dashicons dashicons-facebook"></i>
23
  <h4>
24
- <?php _e( 'Join Our Facebook Group', 'premium-addons-for-elementor' ); ?>
25
  </h4>
26
- <p><?php _e( 'Join our Facebook group and be a part of the community, you are more than welcome.', 'premium-addons-for-elementor' ); ?></p>
27
- <a class="pa-btn" href="https://facebook.com/groups/PremiumAddons" target="_blank"><?php _e( 'Join Group', 'premium-addons-for-elementor' ); ?></a>
28
  </div>
29
  </div>
30
  </div>
@@ -34,10 +34,10 @@ $pa_news = self::get_pa_news();
34
  <div class="pa-section-info">
35
  <i class="pa-element-icon dashicons dashicons-youtube"></i>
36
  <h4>
37
- <?php _e( 'Subscribe to Our YouTube Channel', 'premium-addons-for-elementor' ); ?>
38
  </h4>
39
- <p><?php _e( 'Subscribe to our YouTube channel. We are committed to adding video tutorials regularly.', 'premium-addons-for-elementor' ); ?></p>
40
- <a class="pa-btn" href="https://www.youtube.com/channel/UCXcJ9BeO2sKKHor7Q9VglTQ?sub_confirmation=1" target="_blank"><?php _e( 'Subscribe', 'premium-addons-for-elementor' ); ?></a>
41
  </div>
42
  </div>
43
  </div>
@@ -48,12 +48,12 @@ $pa_news = self::get_pa_news();
48
  <div class="pa-section-info">
49
  <i class="pa-element-icon dashicons dashicons-email"></i>
50
  <h4>
51
- <?php _e( 'Subscribe to Our Newsletter', 'premium-addons-for-elementor' ); ?>
52
  </h4>
53
- <p><?php _e( 'Enter your email address and be the first to know the latest features, offers, and updates.', 'premium-addons-for-elementor' ); ?></p>
54
  <form class="pa-newsletter-form">
55
- <input id="pa_news_email" type="email" placeholder="<?php _e( 'Email', 'premium-addons-for-elementor' ); ?>">
56
- <button type="submit" class="pa-btn"><?php _e( 'Submit', 'premium-addons-for-elementor' ); ?></button>
57
  </form>
58
 
59
  </div>
@@ -66,7 +66,7 @@ $pa_news = self::get_pa_news();
66
  <div class="pa-section-info pa-news-section">
67
  <h4>
68
  <i class="pa-element-icon dashicons dashicons-admin-post icon-inline"></i>
69
- <?php _e( 'Latest News', 'premium-addons-for-elementor' ); ?>
70
  </h4>
71
 
72
  <div class="pa-news-grid">
@@ -91,13 +91,13 @@ $pa_news = self::get_pa_news();
91
  <div class="pa-section-info pa-support-section">
92
  <h4>
93
  <i class="pa-element-icon dashicons dashicons-sos icon-inline"></i>
94
- <?php _e( 'Docs and Support', 'premium-addons-for-elementor' ); ?>
95
  </h4>
96
- <p><?php echo __( 'It’s highly recommended to check our documentation and FAQs before using this plugin. ', 'premium-addons-for-elementor' ); ?></p>
97
  <ul class="pa-support-list">
98
- <li><a href="<?php echo esc_url( $docs_url ); ?>" target="_blank"><?php _e( '> Documentation.', 'premium-addons-for-elementor' ); ?></a></li>
99
- <li><a href="https://my.leap13.com/contact-support" target="_blank"><?php _e( '> Support Tickets.', 'premium-addons-for-elementor' ); ?></a></li>
100
- <li><a href="https://my.leap13.com/forums/forum/premium-addons-for-elementor-plugin-community-support/" target="_blank"><?php _e( '> Community Forums.', 'premium-addons-for-elementor' ); ?></a></li>
101
  </ul>
102
  </div>
103
  </div>
21
  <div class="pa-section-info">
22
  <i class="pa-element-icon dashicons dashicons-facebook"></i>
23
  <h4>
24
+ <?php esc_html_e( 'Join Our Facebook Group', 'premium-addons-for-elementor' ); ?>
25
  </h4>
26
+ <p><?php esc_html_e( 'Join our Facebook group and be a part of the community, you are more than welcome.', 'premium-addons-for-elementor' ); ?></p>
27
+ <a class="pa-btn" href="https://facebook.com/groups/PremiumAddons" target="_blank"><?php esc_html_e( 'Join Group', 'premium-addons-for-elementor' ); ?></a>
28
  </div>
29
  </div>
30
  </div>
34
  <div class="pa-section-info">
35
  <i class="pa-element-icon dashicons dashicons-youtube"></i>
36
  <h4>
37
+ <?php esc_html_e( 'Subscribe to Our YouTube Channel', 'premium-addons-for-elementor' ); ?>
38
  </h4>
39
+ <p><?php esc_html_e( 'Subscribe to our YouTube channel. We are committed to adding video tutorials regularly.', 'premium-addons-for-elementor' ); ?></p>
40
+ <a class="pa-btn" href="https://www.youtube.com/channel/UCXcJ9BeO2sKKHor7Q9VglTQ?sub_confirmation=1" target="_blank"><?php esc_html_e( 'Subscribe', 'premium-addons-for-elementor' ); ?></a>
41
  </div>
42
  </div>
43
  </div>
48
  <div class="pa-section-info">
49
  <i class="pa-element-icon dashicons dashicons-email"></i>
50
  <h4>
51
+ <?php esc_html_e( 'Subscribe to Our Newsletter', 'premium-addons-for-elementor' ); ?>
52
  </h4>
53
+ <p><?php esc_html_e( 'Enter your email address and be the first to know the latest features, offers, and updates.', 'premium-addons-for-elementor' ); ?></p>
54
  <form class="pa-newsletter-form">
55
+ <input id="pa_news_email" type="email" placeholder="<?php esc_attr_e( 'Email', 'premium-addons-for-elementor' ); ?>">
56
+ <button type="submit" class="pa-btn"><?php esc_html_e( 'Submit', 'premium-addons-for-elementor' ); ?></button>
57
  </form>
58
 
59
  </div>
66
  <div class="pa-section-info pa-news-section">
67
  <h4>
68
  <i class="pa-element-icon dashicons dashicons-admin-post icon-inline"></i>
69
+ <?php esc_html_e( 'Latest News', 'premium-addons-for-elementor' ); ?>
70
  </h4>
71
 
72
  <div class="pa-news-grid">
91
  <div class="pa-section-info pa-support-section">
92
  <h4>
93
  <i class="pa-element-icon dashicons dashicons-sos icon-inline"></i>
94
+ <?php esc_html_e( 'Docs and Support', 'premium-addons-for-elementor' ); ?>
95
  </h4>
96
+ <p><?php echo esc_html( __( 'It’s highly recommended to check our documentation and FAQs before using this plugin. ', 'premium-addons-for-elementor' ) ); ?></p>
97
  <ul class="pa-support-list">
98
+ <li><a href="<?php echo esc_url( $docs_url ); ?>" target="_blank"><?php esc_html_e( '> Documentation.', 'premium-addons-for-elementor' ); ?></a></li>
99
+ <li><a href="https://my.leap13.com/contact-support" target="_blank"><?php esc_html_e( '> Support Tickets.', 'premium-addons-for-elementor' ); ?></a></li>
100
+ <li><a href="https://my.leap13.com/forums/forum/premium-addons-for-elementor-plugin-community-support/" target="_blank"><?php esc_html_e( '> Community Forums.', 'premium-addons-for-elementor' ); ?></a></li>
101
  </ul>
102
  </div>
103
  </div>
admin/includes/templates/info.php CHANGED
@@ -2,222 +2,239 @@
2
 
3
  use PremiumAddons\Includes\Helper_Functions;
4
 
5
- //Premium Addons Pro Classes
6
  use PremiumAddonsPro\Includes\White_Label\Helper;
7
 
8
  ?>
9
 
10
  <table class="widefat" cellspacing="0">
11
- <thead>
12
- <tr>
13
- <th colspan="2"><b><?php _e( 'WordPress Environment', 'premium-addons-for-elementor' ); ?></b></th>
14
- </tr>
15
- </thead>
16
- <tbody>
17
- <tr>
18
- <td><?php _e( 'Home URL', 'premium-addons-for-elementor' ); ?>:</td>
19
- <td><?php form_option( 'home' ); ?></td>
20
- </tr>
21
- <tr>
22
- <td><?php _e( 'Site URL', 'premium-addons-for-elementor' ); ?>:</td>
23
- <td><?php form_option( 'siteurl' ); ?></td>
24
- </tr>
25
- <tr>
26
- <td><?php _e( 'WP Version', 'premium-addons-for-elementor' ); ?>:</td>
27
- <td><?php bloginfo( 'version' ); ?></td>
28
- </tr>
29
- <tr>
30
- <td><?php _e( 'WP Multisite', 'premium-addons-for-elementor' ); ?>:</td>
31
- <td><?php
32
- if ( is_multisite() )
33
- echo '&#10004;';
34
- else
35
- echo '&ndash;';
36
- ?></td>
37
- </tr>
38
- <tr>
39
- <td><?php _e( 'WP Memory Limit', 'premium-addons-for-elementor' ); ?>:</td>
40
- <td><?php //echo "kok";
41
- $memory_limit = wp_convert_hr_to_bytes( WP_MEMORY_LIMIT );
42
- if ($memory_limit < 67108864) {
43
- echo '<mark>' . sprintf( __( '%1$s - We recommend setting wp memory at least 64MB.</mark> See: <a href="%2$s" target="_blank">Increasing WP Memory Limit</a>', 'premium-addons-for-elementor' ), size_format($memory_limit), 'https://premiumaddons.com/docs/im-getting-a-blank-page-on-elementor-after-activating-premium-add-ons/' );
44
- } else {
45
- echo size_format( $memory_limit );
46
- }
47
- ?></td>
48
- </tr>
49
- <tr>
50
- <td><?php _e( 'WP Path', 'premium-addons-for-elementor' ); ?>:</td>
51
- <td><?php echo ABSPATH; ?></td>
52
- </tr>
 
 
 
 
 
 
53
 
54
 
55
- <tr>
56
- <td><?php _e( 'WP Debug Mode', 'premium-addons-for-elementor' ); ?>:</td>
57
- <td><?php
58
- if ( defined( 'WP_DEBUG' ) && WP_DEBUG )
59
- echo '&#10004;';
60
- else
61
- echo '&ndash;';
62
- ?></td>
63
- </tr>
64
- <tr>
65
- <td><?php _e( 'Language', 'premium-addons-for-elementor' ); ?>:</td>
66
- <td><?php echo get_locale() ?></td>
67
- </tr>
68
- </tbody>
 
 
 
69
  </table>
70
  <br>
71
  <table class="widefat" cellspacing="0">
72
- <thead>
73
- <tr>
74
- <th colspan="2" data-export-label="Server Environment"><b><?php _e( 'Server Environment', 'premium-addons-for-elementor' ); ?></b></th>
75
- </tr>
76
- </thead>
77
- <tbody>
78
- <tr>
79
- <td><?php _e( 'Server Info', 'premium-addons-for-elementor' ); ?>:</td>
80
- <td><?php echo esc_html( $_SERVER[ 'SERVER_SOFTWARE' ] ); ?></td>
81
- </tr>
82
- <tr>
83
- <td><?php _e( 'PHP Version', 'premium-addons-for-elementor' ); ?>:</td>
84
- <td><?php
85
- // Check if phpversion function exists
86
- if ( function_exists( 'phpversion' ) ) {
87
- $php_version = phpversion();
 
 
 
 
 
 
88
 
89
- echo esc_html( $php_version );
90
- } else {
91
- _e( "Couldn't determine PHP version because phpversion() doesn't exist.", 'premium-addons-for-elementor' );
92
- }
93
- ?></td>
94
- </tr>
95
- <?php if ( function_exists( 'ini_get' ) ) : ?>
96
- <tr>
97
- <td><?php _e( 'PHP Memory Limit', 'premium-addons-for-elementor' ); ?>:</td>
98
- <td><?php echo size_format( wp_convert_hr_to_bytes( ini_get( 'memory_limit' ) ) ); ?></td>
99
- </tr>
100
- <tr>
101
- <td><?php _e( 'PHP Post Max Size', 'premium-addons-for-elementor' ); ?>:</td>
102
- <td><?php echo size_format( wp_convert_hr_to_bytes( ini_get( 'post_max_size' ) ) ); ?></td>
103
- </tr>
104
- <tr>
105
- <td ><?php _e( 'PHP Time Limit', 'premium-addons-for-elementor' ); ?>:</td>
106
- <td>
107
- <?php
108
- $time_limit = ini_get('max_execution_time');
109
- if ( $time_limit < 120 && $time_limit != 0 ) {
110
- echo '<mark>' . sprintf( __( '%s - We recommend setting max execution time at least 300.</mark> See: <a href="%2$s" target="_blank">Increasing WP Time Limit</a>', 'premium-addons-for-elementor' ), $time_limit, 'https://premiumaddons.com/docs/im-getting-a-blank-page-on-elementor-after-activating-premium-add-ons/' );
111
- } else {
112
- echo $time_limit;
113
- }
114
- ?></td>
115
- </tr>
116
- <tr>
117
- <td><?php _e( 'PHP Max Input Vars', 'premium-addons-for-elementor' ); ?>:</td>
118
- <td><?php echo ini_get( 'max_input_vars' ); ?></td>
119
- </tr>
120
- <tr>
121
- <td ><?php _e( 'SUHOSIN Installed', 'premium-addons-for-elementor' ); ?>:</td>
122
- <td><?php echo extension_loaded( 'suhosin' ) ? '&#10004;' : '&ndash;'; ?></td>
123
- </tr>
124
- <?php endif; ?>
125
- <tr>
126
- <td><?php _e( 'MySQL Version', 'premium-addons-for-elementor' ); ?>:</td>
127
- <td>
128
- <?php
129
- /** @global wpdb $wpdb */
130
- global $wpdb;
131
- echo $wpdb->db_version();
132
- ?>
133
- </td>
134
- </tr>
135
- <tr>
136
- <td><?php _e( 'Max Upload Size', 'premium-addons-for-elementor' ); ?>:</td>
137
- <td><?php echo size_format( wp_max_upload_size() ); ?></td>
138
- </tr>
139
- </tbody>
 
 
140
  </table>
141
  <br>
142
  <table class="widefat" cellspacing="0">
143
- <thead>
144
- <tr>
145
- <th colspan="2" data-export-label="PHP Extensions"><b><?php _e( 'PHP Extensions', 'premium-addons-for-elementor' ); ?></b></th>
146
- </tr>
147
- </thead>
148
- <tbody>
149
- <tr>
150
- <td><?php _e( 'cURL', 'premium-addons-for-elementor' ); ?>:</td>
151
- <td><?php echo (function_exists('curl_init') ? 'Supported' : 'Not Supported'); ?></td>
152
- </tr>
153
- <tr>
154
- <td><?php _e( 'fsockopen', 'premium-addons-for-elementor' ); ?>:</td>
155
- <td><?php echo (function_exists('fsockopen') ? 'Supported' : 'Not Supported'); ?></td>
156
- </tr>
157
- <tr>
158
- <td><?php _e( 'SOAP Client', 'premium-addons-for-elementor' ); ?>:</td>
159
- <td><?php echo (class_exists('SoapClient') ? 'Installed' : 'Not Installed'); ?></td>
160
- </tr>
161
- <tr>
162
- <td><?php _e( 'Suhosin', 'premium-addons-for-elementor' ); ?>:</td>
163
- <td><?php echo (extension_loaded('suhosin') ? 'Installed' : 'Not Installed'); ?></td>
164
- </tr>
165
- </tbody>
166
  </table>
167
  <br>
168
  <table class="widefat" cellspacing="0">
169
- <thead>
170
- <tr>
171
- <th colspan="2"><b><?php _e( 'Active Plugins', 'premium-addons-for-elementor' ); ?> (<?php echo count( (array) get_option( 'active_plugins' ) ); ?>)</b></th>
172
- </tr>
173
- </thead>
174
- <tbody>
175
- <?php
176
 
177
- $active_plugins = (array) get_option( 'active_plugins', array() );
178
 
179
- if ( is_multisite() ) {
180
- $network_activated_plugins = array_keys( get_site_option( 'active_sitewide_plugins', array() ) );
181
- $active_plugins = array_merge( $active_plugins, $network_activated_plugins );
182
- }
183
 
184
- foreach ( $active_plugins as $plugin ) {
185
 
186
- $plugin_data = @get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
187
- $dirname = dirname( $plugin );
188
- $version_string = '';
189
- $network_string = '';
190
 
191
- if ( ! empty( $plugin_data[ 'Name' ] ) ) {
192
 
193
- // link the plugin name to the plugin url if available
194
- $plugin_name = esc_html( $plugin_data[ 'Name' ] );
195
-
196
- if( 'Premium Addons for Elementor' === $plugin_name ) {
197
- $plugin_name = Helper_Functions::name();
198
- $author = Helper_Functions::author();
199
- if( 'Leap13' !== $author ) {
200
- $plugin_data[ 'Author' ] = Helper_Functions::author();
201
- }
202
- } elseif( 'Premium Addons PRO' === $plugin_name ) {
203
- $plugin_name = Helper::name_pro();
204
- $author = Helper::author_pro();
205
- if( 'Leap13' !== $author ) {
206
- $plugin_data[ 'Author' ] = Helper::author_pro();
207
- }
208
- }
209
 
210
- if ( !empty( $plugin_data[ 'PluginURI' ] ) ) {
211
- $plugin_name = '<a href="' . esc_url( $plugin_data[ 'PluginURI' ] ) . '" title="' . esc_attr__( 'Visit plugin homepage', 'premium-addons-for-elementor' ) . '" target="_blank">' . $plugin_name . '</a>';
212
- }
213
- ?>
214
- <tr>
215
- <td><?php echo $plugin_name; ?></td>
216
- <td><?php echo sprintf( _x( 'by %s', 'by author', 'premium-addons-for-elementor' ), $plugin_data[ 'Author' ] ) . ' &ndash; ' . esc_html( $plugin_data[ 'Version' ] ) . $version_string . $network_string; ?></td>
217
- </tr>
218
- <?php
219
- }
220
- }
221
- ?>
222
- </tbody>
223
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  use PremiumAddons\Includes\Helper_Functions;
4
 
5
+ // Premium Addons Pro Classes
6
  use PremiumAddonsPro\Includes\White_Label\Helper;
7
 
8
  ?>
9
 
10
  <table class="widefat" cellspacing="0">
11
+ <thead>
12
+ <tr>
13
+ <th colspan="2"><b><?php esc_html_e( 'WordPress Environment', 'premium-addons-for-elementor' ); ?></b></th>
14
+ </tr>
15
+ </thead>
16
+ <tbody>
17
+ <tr>
18
+ <td><?php esc_html_e( 'Home URL', 'premium-addons-for-elementor' ); ?>:</td>
19
+ <td><?php form_option( 'home' ); ?></td>
20
+ </tr>
21
+ <tr>
22
+ <td><?php esc_html_e( 'Site URL', 'premium-addons-for-elementor' ); ?>:</td>
23
+ <td><?php form_option( 'siteurl' ); ?></td>
24
+ </tr>
25
+ <tr>
26
+ <td><?php esc_html_e( 'WP Version', 'premium-addons-for-elementor' ); ?>:</td>
27
+ <td><?php bloginfo( 'version' ); ?></td>
28
+ </tr>
29
+ <tr>
30
+ <td><?php esc_html_e( 'WP Multisite', 'premium-addons-for-elementor' ); ?>:</td>
31
+ <td>
32
+ <?php
33
+ if ( is_multisite() ) {
34
+ echo '&#10004;';
35
+ } else {
36
+ echo '&ndash;';
37
+ }
38
+ ?>
39
+ </td>
40
+ </tr>
41
+ <tr>
42
+ <td><?php esc_html_e( 'WP Memory Limit', 'premium-addons-for-elementor' ); ?>:</td>
43
+ <td>
44
+ <?php
45
+ // echo "kok";
46
+ $memory_limit = wp_convert_hr_to_bytes( WP_MEMORY_LIMIT );
47
+ if ( $memory_limit < 67108864 ) {
48
+ echo '<mark>' . sprintf( esc_html__( '%1$s - We recommend setting wp memory at least 64MB.</mark> See: <a href="%2$s" target="_blank">Increasing WP Memory Limit</a>', 'premium-addons-for-elementor' ), esc_html( size_format( $memory_limit ) ), 'https://premiumaddons.com/docs/im-getting-a-blank-page-on-elementor-after-activating-premium-add-ons/' );
49
+ } else {
50
+ echo esc_html( size_format( $memory_limit ) );
51
+ }
52
+ ?>
53
+ </td>
54
+ </tr>
55
+ <tr>
56
+ <td><?php esc_html_e( 'WP Path', 'premium-addons-for-elementor' ); ?>:</td>
57
+ <td><?php echo ABSPATH; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></td>
58
+ </tr>
59
 
60
 
61
+ <tr>
62
+ <td><?php esc_html_e( 'WP Debug Mode', 'premium-addons-for-elementor' ); ?>:</td>
63
+ <td>
64
+ <?php
65
+ if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
66
+ echo '&#10004;';
67
+ } else {
68
+ echo '&ndash;';
69
+ }
70
+ ?>
71
+ </td>
72
+ </tr>
73
+ <tr>
74
+ <td><?php esc_html_e( 'Language', 'premium-addons-for-elementor' ); ?>:</td>
75
+ <td><?php echo esc_html( get_locale() ); ?></td>
76
+ </tr>
77
+ </tbody>
78
  </table>
79
  <br>
80
  <table class="widefat" cellspacing="0">
81
+ <thead>
82
+ <tr>
83
+ <th colspan="2" data-export-label="Server Environment"><b><?php esc_html_e( 'Server Environment', 'premium-addons-for-elementor' ); ?></b></th>
84
+ </tr>
85
+ </thead>
86
+ <tbody>
87
+ <tr>
88
+ <td><?php esc_html_e( 'Server Info', 'premium-addons-for-elementor' ); ?>:</td>
89
+ <td>
90
+ <?php
91
+ $server_sw = isset( $_SERVER['SERVER_SOFTWARE'] ) ? filter_var( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ), FILTER_SANITIZE_STRING ) : '';
92
+ echo esc_html( $server_sw );
93
+ ?>
94
+ </td>
95
+ </tr>
96
+ <tr>
97
+ <td><?php esc_html_e( 'PHP Version', 'premium-addons-for-elementor' ); ?>:</td>
98
+ <td>
99
+ <?php
100
+ // Check if phpversion function exists
101
+ if ( function_exists( 'phpversion' ) ) {
102
+ $php_version = phpversion();
103
 
104
+ echo esc_html( $php_version );
105
+ } else {
106
+ esc_html_e( "Couldn't determine PHP version because phpversion() doesn't exist.", 'premium-addons-for-elementor' );
107
+ }
108
+ ?>
109
+ </td>
110
+ </tr>
111
+ <?php if ( function_exists( 'ini_get' ) ) : ?>
112
+ <tr>
113
+ <td><?php esc_html_e( 'PHP Memory Limit', 'premium-addons-for-elementor' ); ?>:</td>
114
+ <td><?php echo esc_html( size_format( wp_convert_hr_to_bytes( ini_get( 'memory_limit' ) ) ) ); ?></td>
115
+ </tr>
116
+ <tr>
117
+ <td><?php esc_html_e( 'PHP Post Max Size', 'premium-addons-for-elementor' ); ?>:</td>
118
+ <td><?php echo esc_html( size_format( wp_convert_hr_to_bytes( ini_get( 'post_max_size' ) ) ) ); ?></td>
119
+ </tr>
120
+ <tr>
121
+ <td ><?php esc_html_e( 'PHP Time Limit', 'premium-addons-for-elementor' ); ?>:</td>
122
+ <td>
123
+ <?php
124
+ $time_limit = ini_get( 'max_execution_time' );
125
+ if ( $time_limit < 120 && $time_limit != 0 ) {
126
+ echo '<mark>' . sprintf( esc_html_e( '%s - We recommend setting max execution time at least 300.</mark> See: <a href="%2$s" target="_blank">Increasing WP Time Limit</a>', 'premium-addons-for-elementor' ), esc_html( $time_limit ), 'https://premiumaddons.com/docs/im-getting-a-blank-page-on-elementor-after-activating-premium-add-ons/' );
127
+ } else {
128
+ echo esc_html( $time_limit );
129
+ }
130
+ ?>
131
+ </td>
132
+ </tr>
133
+ <tr>
134
+ <td><?php esc_html_e( 'PHP Max Input Vars', 'premium-addons-for-elementor' ); ?>:</td>
135
+ <td><?php echo esc_html( ini_get( 'max_input_vars' ) ); ?></td>
136
+ </tr>
137
+ <tr>
138
+ <td ><?php esc_html_e( 'SUHOSIN Installed', 'premium-addons-for-elementor' ); ?>:</td>
139
+ <td><?php echo extension_loaded( 'suhosin' ) ? '&#10004;' : '&ndash;'; ?></td>
140
+ </tr>
141
+ <?php endif; ?>
142
+ <tr>
143
+ <td><?php esc_html_e( 'MySQL Version', 'premium-addons-for-elementor' ); ?>:</td>
144
+ <td>
145
+ <?php
146
+ /** @global wpdb $wpdb */
147
+ global $wpdb;
148
+ echo esc_html( $wpdb->db_version() );
149
+ ?>
150
+ </td>
151
+ </tr>
152
+ <tr>
153
+ <td><?php esc_html_e( 'Max Upload Size', 'premium-addons-for-elementor' ); ?>:</td>
154
+ <td><?php echo esc_html( size_format( wp_max_upload_size() ) ); ?></td>
155
+ </tr>
156
+ </tbody>
157
  </table>
158
  <br>
159
  <table class="widefat" cellspacing="0">
160
+ <thead>
161
+ <tr>
162
+ <th colspan="2" data-export-label="PHP Extensions"><b><?php esc_html_e( 'PHP Extensions', 'premium-addons-for-elementor' ); ?></b></th>
163
+ </tr>
164
+ </thead>
165
+ <tbody>
166
+ <tr>
167
+ <td><?php esc_html_e( 'cURL', 'premium-addons-for-elementor' ); ?>:</td>
168
+ <td><?php echo ( function_exists( 'curl_init' ) ? 'Supported' : 'Not Supported' ); ?></td>
169
+ </tr>
170
+ <tr>
171
+ <td><?php esc_html_e( 'fsockopen', 'premium-addons-for-elementor' ); ?>:</td>
172
+ <td><?php echo ( function_exists( 'fsockopen' ) ? 'Supported' : 'Not Supported' ); ?></td>
173
+ </tr>
174
+ <tr>
175
+ <td><?php esc_html_e( 'SOAP Client', 'premium-addons-for-elementor' ); ?>:</td>
176
+ <td><?php echo ( class_exists( 'SoapClient' ) ? 'Installed' : 'Not Installed' ); ?></td>
177
+ </tr>
178
+ <tr>
179
+ <td><?php esc_html_e( 'Suhosin', 'premium-addons-for-elementor' ); ?>:</td>
180
+ <td><?php echo ( extension_loaded( 'suhosin' ) ? 'Installed' : 'Not Installed' ); ?></td>
181
+ </tr>
182
+ </tbody>
183
  </table>
184
  <br>
185
  <table class="widefat" cellspacing="0">
186
+ <thead>
187
+ <tr>
188
+ <th colspan="2"><b><?php esc_html_e( 'Active Plugins', 'premium-addons-for-elementor' ); ?> (<?php echo count( (array) get_option( 'active_plugins' ) ); ?>)</b></th>
189
+ </tr>
190
+ </thead>
191
+ <tbody>
192
+ <?php
193
 
194
+ $active_plugins = (array) get_option( 'active_plugins', array() );
195
 
196
+ if ( is_multisite() ) {
197
+ $network_activated_plugins = array_keys( get_site_option( 'active_sitewide_plugins', array() ) );
198
+ $active_plugins = array_merge( $active_plugins, $network_activated_plugins );
199
+ }
200
 
201
+ foreach ( $active_plugins as $plugin ) {
202
 
203
+ $plugin_data = @get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
204
+ $dirname = dirname( $plugin );
205
+ $version_string = '';
206
+ $network_string = '';
207
 
208
+ if ( ! empty( $plugin_data['Name'] ) ) {
209
 
210
+ // link the plugin name to the plugin url if available
211
+ $plugin_name = esc_html( $plugin_data['Name'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
 
213
+ if ( 'Premium Addons for Elementor' === $plugin_name ) {
214
+ $plugin_name = Helper_Functions::name();
215
+ $author = Helper_Functions::author();
216
+ if ( 'Leap13' !== $author ) {
217
+ $plugin_data['Author'] = Helper_Functions::author();
218
+ }
219
+ } elseif ( 'Premium Addons PRO' === $plugin_name ) {
220
+ $plugin_name = Helper::name_pro();
221
+ $author = Helper::author_pro();
222
+ if ( 'Leap13' !== $author ) {
223
+ $plugin_data['Author'] = Helper::author_pro();
224
+ }
225
+ }
226
+
227
+ if ( ! empty( $plugin_data['PluginURI'] ) ) {
228
+ $plugin_name = '<a href="' . esc_url( $plugin_data['PluginURI'] ) . '" title="' . esc_attr__( 'Visit plugin homepage', 'premium-addons-for-elementor' ) . '" target="_blank">' . $plugin_name . '</a>';
229
+ }
230
+ ?>
231
+ <tr>
232
+ <td><?php echo wp_kses_post( $plugin_name ); ?></td>
233
+ <td><?php echo sprintf( esc_html_x( 'by %s', 'by author', 'premium-addons-for-elementor' ), wp_kses_post( $plugin_data['Author'] ) ) . ' &ndash; ' . esc_html( $plugin_data['Version'] ) . wp_kses_post( $version_string ) . wp_kses_post( $network_string ); ?></td>
234
+ </tr>
235
+ <?php
236
+ }
237
+ }
238
+ ?>
239
+ </tbody>
240
+ </table>
admin/includes/templates/integrations.php CHANGED
@@ -23,8 +23,8 @@ $prefix = Helper_Functions::get_prefix();
23
 
24
  <div class="pa-section-info-wrap">
25
  <div class="pa-section-info">
26
- <h4><?php echo __( 'Google API Keys', 'premium-addons-for-elementor' ); ?></h4>
27
- <p><?php echo sprintf( __( 'Google APIs are used in %1$s Google Maps and %1$s Video Box widgets. If you don\'t have one, click %2$shere%3$s to get your key. Click %4$shere%3$s to enable Youtube Data for your API key', 'premium-addons-for-elementor' ), $prefix, '<a href="https://premiumaddons.com/docs/getting-your-api-key-for-google-reviews/" target="_blank">', '</a>', '<a href="https://premiumaddons.com/docs/how-to-enable-youtube-data-api-for-premium-video-box-widget" target="_blank">' ); ?></p>
28
  </div>
29
  </div>
30
 
@@ -33,7 +33,7 @@ $prefix = Helper_Functions::get_prefix();
33
  <tr>
34
  <td>
35
  <span class="pa-maps-circle-icon"></span>
36
- <h4 class="pa-api-title"><?php echo __( 'Youtube Data API Key:', 'premium-addons-for-elementor' ); ?></h4>
37
  </td>
38
  <td>
39
  <input name="premium-youtube-api" id="premium-youtube-api" type="text" placeholder="Youtube API Key" value="<?php echo esc_attr( $settings['premium-youtube-api'] ); ?>">
@@ -43,7 +43,7 @@ $prefix = Helper_Functions::get_prefix();
43
  <tr>
44
  <td>
45
  <span class="pa-maps-circle-icon"></span>
46
- <h4 class="pa-api-title"><?php echo __( 'Google Maps API Key:', 'premium-addons-for-elementor' ); ?></h4>
47
  </td>
48
  <td>
49
  <input name="premium-map-api" id="premium-map-api" type="text" placeholder="Maps API Key" value="<?php echo esc_attr( $settings['premium-map-api'] ); ?>">
@@ -52,11 +52,11 @@ $prefix = Helper_Functions::get_prefix();
52
  <tr>
53
  <td>
54
  <span class="pa-maps-circle-icon"></span>
55
- <h4 class="pa-api-disable-title"><?php echo __( 'Google Maps Localization Language:', 'premium-addons-for-elementor' ); ?></h4>
56
  </td>
57
  <td>
58
  <select name="premium-map-locale" id="premium-map-locale" class="placeholder placeholder-active">
59
- <option value=""><?php _e( 'Default', 'premium-addons-for-elementor' ); ?></option>
60
  <?php
61
  foreach ( $locales as $key => $value ) {
62
  $selected = '';
@@ -64,7 +64,7 @@ $prefix = Helper_Functions::get_prefix();
64
  $selected = 'selected="selected" ';
65
  }
66
  ?>
67
- <option value="<?php echo esc_attr( $key ); ?>" <?php echo $selected; ?>><?php echo esc_attr( $value ); ?></option>
68
  <?php } ?>
69
  </select>
70
  </td>
@@ -72,13 +72,13 @@ $prefix = Helper_Functions::get_prefix();
72
  <tr>
73
  <td>
74
  <span class="pa-maps-circle-icon"></span>
75
- <h4 class="pa-api-disable-title"><?php echo __( 'Load Maps API JS File:', 'premium-addons-for-elementor' ); ?></h4>
76
  </td>
77
  <td>
78
  <input name="premium-map-disable-api" id="premium-map-disable-api" type="checkbox" <?php checked( 1, $settings['premium-map-disable-api'], true ); ?>>
79
  <label for="premium-map-disable-api"></label>
80
  <span>
81
- <?php echo __( 'This will load API JS file if it\'s not loaded by another theme or plugin.', 'premium-addons-for-elementor' ); ?>
82
  </span>
83
  </td>
84
  </tr>
@@ -86,13 +86,13 @@ $prefix = Helper_Functions::get_prefix();
86
  <td>
87
  <span class="pa-maps-circle-icon"></span>
88
  <h4 class="pa-api-disable-title">
89
- <?php echo __( 'Load Markers Clustering JS File:', 'premium-addons-for-elementor' ); ?>
90
  </h4>
91
  </td>
92
  <td>
93
  <input name="premium-map-cluster" id="premium-map-cluster" type="checkbox" <?php checked( 1, $settings['premium-map-cluster'], true ); ?>>
94
  <label for="premium-map-cluster"></label>
95
- <span><?php echo __( 'This will load the JS file for markers clusters.', 'premium-addons-for-elementor' ); ?></span>
96
  </td>
97
  </tr>
98
  </table>
23
 
24
  <div class="pa-section-info-wrap">
25
  <div class="pa-section-info">
26
+ <h4><?php echo esc_html_e( 'Google API Keys', 'premium-addons-for-elementor' ); ?></h4>
27
+ <p><?php echo sprintf( esc_html_e( 'Google APIs are used in %1$s Google Maps and %1$s Video Box widgets. If you don\'t have one, click %2$shere%3$s to get your key. Click %4$shere%3$s to enable Youtube Data for your API key', 'premium-addons-for-elementor' ), esc_html( $prefix ), '<a href="https://premiumaddons.com/docs/getting-your-api-key-for-google-reviews/" target="_blank">', '</a>', '<a href="https://premiumaddons.com/docs/how-to-enable-youtube-data-api-for-premium-video-box-widget" target="_blank">' ); ?></p>
28
  </div>
29
  </div>
30
 
33
  <tr>
34
  <td>
35
  <span class="pa-maps-circle-icon"></span>
36
+ <h4 class="pa-api-title"><?php echo esc_html_e( 'Youtube Data API Key:', 'premium-addons-for-elementor' ); ?></h4>
37
  </td>
38
  <td>
39
  <input name="premium-youtube-api" id="premium-youtube-api" type="text" placeholder="Youtube API Key" value="<?php echo esc_attr( $settings['premium-youtube-api'] ); ?>">
43
  <tr>
44
  <td>
45
  <span class="pa-maps-circle-icon"></span>
46
+ <h4 class="pa-api-title"><?php echo esc_html_e( 'Google Maps API Key:', 'premium-addons-for-elementor' ); ?></h4>
47
  </td>
48
  <td>
49
  <input name="premium-map-api" id="premium-map-api" type="text" placeholder="Maps API Key" value="<?php echo esc_attr( $settings['premium-map-api'] ); ?>">
52
  <tr>
53
  <td>
54
  <span class="pa-maps-circle-icon"></span>
55
+ <h4 class="pa-api-disable-title"><?php echo esc_html_e( 'Google Maps Localization Language:', 'premium-addons-for-elementor' ); ?></h4>
56
  </td>
57
  <td>
58
  <select name="premium-map-locale" id="premium-map-locale" class="placeholder placeholder-active">
59
+ <option value=""><?php esc_html_e( 'Default', 'premium-addons-for-elementor' ); ?></option>
60
  <?php
61
  foreach ( $locales as $key => $value ) {
62
  $selected = '';
64
  $selected = 'selected="selected" ';
65
  }
66
  ?>
67
+ <option value="<?php echo esc_attr( $key ); ?>" <?php echo esc_attr( $selected ); ?>><?php echo esc_attr( $value ); ?></option>
68
  <?php } ?>
69
  </select>
70
  </td>
72
  <tr>
73
  <td>
74
  <span class="pa-maps-circle-icon"></span>
75
+ <h4 class="pa-api-disable-title"><?php echo esc_html_e( 'Load Maps API JS File:', 'premium-addons-for-elementor' ); ?></h4>
76
  </td>
77
  <td>
78
  <input name="premium-map-disable-api" id="premium-map-disable-api" type="checkbox" <?php checked( 1, $settings['premium-map-disable-api'], true ); ?>>
79
  <label for="premium-map-disable-api"></label>
80
  <span>
81
+ <?php echo esc_html_e( 'This will load API JS file if it\'s not loaded by another theme or plugin.', 'premium-addons-for-elementor' ); ?>
82
  </span>
83
  </td>
84
  </tr>
86
  <td>
87
  <span class="pa-maps-circle-icon"></span>
88
  <h4 class="pa-api-disable-title">
89
+ <?php echo esc_html_e( 'Load Markers Clustering JS File:', 'premium-addons-for-elementor' ); ?>
90
  </h4>
91
  </td>
92
  <td>
93
  <input name="premium-map-cluster" id="premium-map-cluster" type="checkbox" <?php checked( 1, $settings['premium-map-cluster'], true ); ?>>
94
  <label for="premium-map-cluster"></label>
95
+ <span><?php echo esc_html_e( 'This will load the JS file for markers clusters.', 'premium-addons-for-elementor' ); ?></span>
96
  </td>
97
  </tr>
98
  </table>
admin/includes/templates/modules-settings.php CHANGED
@@ -1,185 +1,185 @@
1
- <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit;
5
- }
6
-
7
- use PremiumAddons\Includes\Helper_Functions;
8
-
9
- $elements = self::get_elements_list();
10
-
11
- $used_widgets = self::get_used_widgets();
12
-
13
- // Get elements settings
14
- $enabled_elements = self::get_enabled_elements();
15
-
16
- $global_btn = get_option( 'pa_global_btn_value', 'true' );
17
- $enable_btn = 'true' === $global_btn ? 'active' : '';
18
- $disable_btn = 'true' === $global_btn ? '' : 'active';
19
-
20
- $row_meta = Helper_Functions::is_hide_row_meta();
21
-
22
- ?>
23
-
24
- <div class="pa-section-content">
25
- <div class="row">
26
- <div class="col-full">
27
- <form action="" method="POST" id="pa-settings" name="pa-settings" class="pa-settings-form">
28
- <div id="pa-modules" class="pa-settings-tab">
29
-
30
- <div class="pa-section-outer-wrap">
31
- <div class="pa-section-info-wrap">
32
- <div class="pa-section-info">
33
- <h4><?php echo __( 'Dynamic Assets Generate', 'premium-addons-for-elementor' ); ?></h4>
34
- <p><?php echo __( 'Generates CSS/JS files dynamically for each page based on the elements in it. Enable this setting for better performance (recommended).', 'premium-addons-for-elementor' ); ?></p>
35
- </div>
36
-
37
- <div class="pa-section-info-cta">
38
- <label class="switch">
39
- <input type="checkbox" id="premium-assets-generator" name="premium-assets-generator" <?php echo checked( 1, $enabled_elements['premium-assets-generator'], false ); ?>>
40
- <span class="slider round"></span>
41
- </label>
42
- <?php if ( $enabled_elements['premium-assets-generator'] ) : ?>
43
- <button type="button" class="pa-btn-regenerate" title="<?php esc_html_e( 'Clear Generated Assets', 'premium-addons-for-elementor' ); ?>">
44
- <i class="dashicons dashicons-image-rotate"></i>
45
- </button>
46
- <?php endif; ?>
47
- </div>
48
-
49
- </div>
50
- </div>
51
-
52
- <div class="pa-section-info-wrap">
53
- <div class="pa-section-info">
54
- <h4><?php echo __( 'Master Switch', 'premium-addons-for-elementor' ); ?></h4>
55
- <p><?php echo __( 'Use this to switch on or off ALL Widgets & Add-ons at once.', 'premium-addons-for-elementor' ); ?></p>
56
- </div>
57
-
58
- <div class="pa-btn-group">
59
- <button type="button" class="pa-btn pa-btn-enable <?php echo esc_attr( $enable_btn ); ?>"><?php echo __( 'Switch On', 'premium-addons-for-elementor' ); ?></button>
60
- <button type="button" class="pa-btn pa-btn-disable <?php echo esc_attr( $disable_btn ); ?>"><?php echo __( 'Switch Off', 'premium-addons-for-elementor' ); ?></button>
61
- <?php if ( false !== $used_widgets ) { ?>
62
- <button type="button" class="pa-btn-unused"><?php echo __( 'Disable Unused Widgets', 'premium-addons-for-elementor' ); ?></button>
63
- <?php } ?>
64
- </div>
65
- </div>
66
-
67
- <div class="pa-elements-settings">
68
-
69
- <div class="pa-elements-filter">
70
- <label for="premium-elements-filter"><?php _e( 'Filter Widgets', 'premium-addons-for-elementor' ); ?></label>
71
- <input type="text" placeholder="<?php _e( 'Search by name...', 'premium-addons-for-elementor' ); ?>">
72
- <select name="premium-elements-filter" id="premium-elements-filter" class="placeholder placeholder-active">
73
- <option value=""><?php _e( 'All Widgets', 'premium-addons-for-elementor' ); ?></option>
74
- <option value="free"><?php _e( 'Free Widgets', 'premium-addons-for-elementor' ); ?></option>
75
- <option value="pro"><?php _e( 'PRO Widgets', 'premium-addons-for-elementor' ); ?></option>
76
- </select>
77
- </div>
78
-
79
- <div class="pa-elements-tabs">
80
- <ul class="pa-elements-tabs-list">
81
- <?php
82
- foreach ( $elements as $index => $cat ) :
83
- if ( 'cat-11' !== $index ) :
84
- ?>
85
- <li class="pa-elements-tab">
86
- <a class="pa-elements-tab-link" href="pa-elements-tab-<?php echo $index; ?>">
87
- <i class="<?php echo esc_attr( 'pa-dash-cat-' . $cat['icon'] ); ?>"></i>
88
- </a>
89
- <span class="pa-element-tab-tooltip"><?php echo esc_html( $cat['title'] ); ?></span>
90
- </li>
91
- <?php endif; ?>
92
- <?php endforeach; ?>
93
- </ul>
94
- </div>
95
-
96
- <?php
97
- foreach ( $elements as $index => $cat ) :
98
- if ( 'cat-11' !== $index ) :
99
- ?>
100
- <div id="pa-elements-tab-<?php echo $index; ?>" class="pa-switchers-container hidden">
101
- <h3 class="pa-elements-tab-title"><?php echo __( $cat['title'] ); ?></h3>
102
- <div class="pa-switchers">
103
- <?php
104
- foreach ( $cat['elements'] as $index => $elem ) :
105
- $status = ( isset( $elem['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'disabled' : checked( 1, $enabled_elements[ $elem['key'] ], false );
106
- $class = ( isset( $elem['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'pro-' : '';
107
- $switcher_class = $class . 'slider round';
108
- ?>
109
- <div class="pa-switcher
110
- <?php
111
- echo isset( $elem['is_pro'] ) ? 'pro-element' : '';
112
- echo isset( $elem['name'] ) ? ' ' . $elem['name'] : '';
113
- ?>
114
- ">
115
- <div class="pa-element-info">
116
- <div class="pa-element-icon-wrap">
117
- <i class="pa-dash-<?php echo esc_attr( $elem['key'] ); ?> pa-element-icon"></i>
118
- </div>
119
- <div class="pa-element-meta-wrap">
120
- <p class="pa-element-name">
121
- <?php echo $elem['title']; ?>
122
- <span class="pa-total-use" title="Total Use">
123
- <?php
124
- if ( ! isset( $elem['is_global'] ) && is_array( $used_widgets ) ) {
125
- echo esc_html__( in_array( $elem['name'], array_keys( $used_widgets ) ) ? '(' . $used_widgets[ $elem['name'] ] . ')' : '(0)' );}
126
- ?>
127
- </span>
128
- <?php if ( isset( $elem['is_pro'] ) ) : ?>
129
- <span><?php echo __( 'pro', 'premium-addons-for-elementor' ); ?></span>
130
- <?php endif; ?>
131
- </p>
132
- <?php if ( ! $row_meta ) : ?>
133
- <div class="pa-element-meta">
134
- <div>
135
- <?php if ( isset( $elem['demo'] ) ) : ?>
136
- <a class="pa-element-link" href="<?php echo esc_url( $elem['demo'] ); ?>" target="_blank">
137
- <?php echo __( 'Live Demo', 'premium-addons-for-elementor' ); ?>
138
- <span class="pa-element-link-separator"></span>
139
- </a>
140
- <?php endif; ?>
141
- <?php if ( isset( $elem['doc'] ) ) : ?>
142
- <a class="pa-element-link" href="<?php echo esc_url( $elem['doc'] ); ?>" target="_blank">
143
- <?php echo __( 'Docs', 'premium-addons-for-elementor' ); ?>
144
- <?php if ( isset( $elem['tutorial'] ) ) : ?>
145
- <span class="pa-element-link-separator"></span>
146
- <?php endif; ?>
147
- </a>
148
- <?php endif; ?>
149
- <?php if ( isset( $elem['tutorial'] ) ) : ?>
150
- <a class="pa-element-link" href="<?php echo esc_url( $elem['tutorial'] ); ?>" target="_blank">
151
- <?php echo __( 'Video Tutorial', 'premium-addons-for-elementor' ); ?>
152
- </a>
153
- <?php endif; ?>
154
- </div>
155
- <div>
156
- <?php
157
- if ( isset( $elem['draw_svg'] ) ) :
158
- $svg_key = 'svg_' . $elem['key'];
159
- ?>
160
- <input type="checkbox" id="<?php echo esc_attr( $svg_key ); ?>" name="<?php echo esc_attr( $svg_key ); ?>" <?php echo checked( 1, $enabled_elements[ $svg_key ], false ); ?>>
161
- <label for="<?php echo esc_attr( $svg_key ); ?>"></label>
162
- <span><?php _e( 'Enable SVG Draw', 'premium-addons-for-elementor' ); ?></span>
163
- <?php endif; ?>
164
- </div>
165
- </div>
166
- <?php endif; ?>
167
- </div>
168
- </div>
169
- <label class="switch">
170
- <input type="checkbox" id="<?php echo esc_attr( $elem['key'] ); ?>" name="<?php echo esc_attr( $elem['key'] ); ?>" <?php echo $status; ?>>
171
- <span class="<?php echo esc_attr( $switcher_class ); ?>"></span>
172
- </label>
173
- </div>
174
- <?php endforeach; ?>
175
- </div>
176
- </div>
177
- <?php endif; ?>
178
- <?php endforeach; ?>
179
- </div>
180
-
181
- </div>
182
- </form> <!-- End Form -->
183
- </div>
184
- </div>
185
- </div> <!-- End Section Content -->
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ use PremiumAddons\Includes\Helper_Functions;
8
+
9
+ $elements = self::get_elements_list();
10
+
11
+ $used_widgets = self::get_used_widgets();
12
+
13
+ // Get elements settings
14
+ $enabled_elements = self::get_enabled_elements();
15
+
16
+ $global_btn = get_option( 'pa_global_btn_value', 'true' );
17
+ $enable_btn = 'true' === $global_btn ? 'active' : '';
18
+ $disable_btn = 'true' === $global_btn ? '' : 'active';
19
+
20
+ $row_meta = Helper_Functions::is_hide_row_meta();
21
+
22
+ ?>
23
+
24
+ <div class="pa-section-content">
25
+ <div class="row">
26
+ <div class="col-full">
27
+ <form action="" method="POST" id="pa-settings" name="pa-settings" class="pa-settings-form">
28
+ <div id="pa-modules" class="pa-settings-tab">
29
+
30
+ <div class="pa-section-outer-wrap">
31
+ <div class="pa-section-info-wrap">
32
+ <div class="pa-section-info">
33
+ <h4><?php echo esc_html_e( 'Dynamic Assets Generate', 'premium-addons-for-elementor' ); ?></h4>
34
+ <p><?php echo esc_html_e( 'Generates CSS/JS files dynamically for each page based on the elements in it. Enable this setting for better performance (recommended).', 'premium-addons-for-elementor' ); ?></p>
35
+ </div>
36
+
37
+ <div class="pa-section-info-cta">
38
+ <label class="switch">
39
+ <input type="checkbox" id="premium-assets-generator" name="premium-assets-generator" <?php echo checked( 1, $enabled_elements['premium-assets-generator'], false ); ?>>
40
+ <span class="slider round"></span>
41
+ </label>
42
+ <?php if ( $enabled_elements['premium-assets-generator'] ) : ?>
43
+ <button type="button" class="pa-btn-regenerate" title="<?php esc_html_e( 'Clear Generated Assets', 'premium-addons-for-elementor' ); ?>">
44
+ <i class="dashicons dashicons-image-rotate"></i>
45
+ </button>
46
+ <?php endif; ?>
47
+ </div>
48
+
49
+ </div>
50
+ </div>
51
+
52
+ <div class="pa-section-info-wrap">
53
+ <div class="pa-section-info">
54
+ <h4><?php echo esc_html_e( 'Master Switch', 'premium-addons-for-elementor' ); ?></h4>
55
+ <p><?php echo esc_html_e( 'Use this to switch on or off ALL Widgets & Add-ons at once.', 'premium-addons-for-elementor' ); ?></p>
56
+ </div>
57
+
58
+ <div class="pa-btn-group">
59
+ <button type="button" class="pa-btn pa-btn-enable <?php echo esc_attr( $enable_btn ); ?>"><?php echo esc_html_e( 'Switch On', 'premium-addons-for-elementor' ); ?></button>
60
+ <button type="button" class="pa-btn pa-btn-disable <?php echo esc_attr( $disable_btn ); ?>"><?php echo esc_html_e( 'Switch Off', 'premium-addons-for-elementor' ); ?></button>
61
+ <?php if ( false !== $used_widgets ) { ?>
62
+ <button type="button" class="pa-btn-unused"><?php echo esc_html_e( 'Disable Unused Widgets', 'premium-addons-for-elementor' ); ?></button>
63
+ <?php } ?>
64
+ </div>
65
+ </div>
66
+
67
+ <div class="pa-elements-settings">
68
+
69
+ <div class="pa-elements-filter">
70
+ <label for="premium-elements-filter"><?php esc_html_e( 'Filter Widgets', 'premium-addons-for-elementor' ); ?></label>
71
+ <input type="text" placeholder="<?php esc_html_e( 'Search by name...', 'premium-addons-for-elementor' ); ?>">
72
+ <select name="premium-elements-filter" id="premium-elements-filter" class="placeholder placeholder-active">
73
+ <option value=""><?php esc_html_e( 'All Widgets', 'premium-addons-for-elementor' ); ?></option>
74
+ <option value="free"><?php esc_html_e( 'Free Widgets', 'premium-addons-for-elementor' ); ?></option>
75
+ <option value="pro"><?php esc_html_e( 'PRO Widgets', 'premium-addons-for-elementor' ); ?></option>
76
+ </select>
77
+ </div>
78
+
79
+ <div class="pa-elements-tabs">
80
+ <ul class="pa-elements-tabs-list">
81
+ <?php
82
+ foreach ( $elements as $index => $cat ) :
83
+ if ( 'cat-11' !== $index ) :
84
+ ?>
85
+ <li class="pa-elements-tab">
86
+ <a class="pa-elements-tab-link" href="pa-elements-tab-<?php echo esc_attr( $index ); ?>">
87
+ <i class="<?php echo esc_attr( 'pa-dash-cat-' . $cat['icon'] ); ?>"></i>
88
+ </a>
89
+ <span class="pa-element-tab-tooltip"><?php echo esc_html( $cat['title'] ); ?></span>
90
+ </li>
91
+ <?php endif; ?>
92
+ <?php endforeach; ?>
93
+ </ul>
94
+ </div>
95
+
96
+ <?php
97
+ foreach ( $elements as $index => $cat ) :
98
+ if ( 'cat-11' !== $index ) :
99
+ ?>
100
+ <div id="pa-elements-tab-<?php echo esc_attr( $index ); ?>" class="pa-switchers-container hidden">
101
+ <h3 class="pa-elements-tab-title"><?php echo esc_attr( $cat['title'] ); ?></h3>
102
+ <div class="pa-switchers">
103
+ <?php
104
+ foreach ( $cat['elements'] as $index => $elem ) :
105
+ $status = ( isset( $elem['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'disabled' : checked( 1, $enabled_elements[ $elem['key'] ], false );
106
+ $class = ( isset( $elem['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'pro-' : '';
107
+ $switcher_class = $class . 'slider round';
108
+ ?>
109
+ <div class="pa-switcher
110
+ <?php
111
+ echo isset( $elem['is_pro'] ) ? 'pro-element' : '';
112
+ echo isset( $elem['name'] ) ? ' ' . esc_html( $elem['name'] ) : '';
113
+ ?>
114
+ ">
115
+ <div class="pa-element-info">
116
+ <div class="pa-element-icon-wrap">
117
+ <i class="pa-dash-<?php echo esc_attr( $elem['key'] ); ?> pa-element-icon"></i>
118
+ </div>
119
+ <div class="pa-element-meta-wrap">
120
+ <p class="pa-element-name">
121
+ <?php echo esc_html( $elem['title'] ); ?>
122
+ <span class="pa-total-use" title="Total Use">
123
+ <?php
124
+ if ( ! isset( $elem['is_global'] ) && is_array( $used_widgets ) ) {
125
+ echo esc_html__( in_array( $elem['name'], array_keys( $used_widgets ) ) ? '(' . $used_widgets[ $elem['name'] ] . ')' : '(0)' );}
126
+ ?>
127
+ </span>
128
+ <?php if ( isset( $elem['is_pro'] ) ) : ?>
129
+ <span><?php echo esc_html_e( 'pro', 'premium-addons-for-elementor' ); ?></span>
130
+ <?php endif; ?>
131
+ </p>
132
+ <?php if ( ! $row_meta ) : ?>
133
+ <div class="pa-element-meta">
134
+ <div>
135
+ <?php if ( isset( $elem['demo'] ) ) : ?>
136
+ <a class="pa-element-link" href="<?php echo esc_url( $elem['demo'] ); ?>" target="_blank">
137
+ <?php echo esc_html_e( 'Live Demo', 'premium-addons-for-elementor' ); ?>
138
+ <span class="pa-element-link-separator"></span>
139
+ </a>
140
+ <?php endif; ?>
141
+ <?php if ( isset( $elem['doc'] ) ) : ?>
142
+ <a class="pa-element-link" href="<?php echo esc_url( $elem['doc'] ); ?>" target="_blank">
143
+ <?php echo esc_html_e( 'Docs', 'premium-addons-for-elementor' ); ?>
144
+ <?php if ( isset( $elem['tutorial'] ) ) : ?>
145
+ <span class="pa-element-link-separator"></span>
146
+ <?php endif; ?>
147
+ </a>
148
+ <?php endif; ?>
149
+ <?php if ( isset( $elem['tutorial'] ) ) : ?>
150
+ <a class="pa-element-link" href="<?php echo esc_url( $elem['tutorial'] ); ?>" target="_blank">
151
+ <?php echo esc_html_e( 'Video Tutorial', 'premium-addons-for-elementor' ); ?>
152
+ </a>
153
+ <?php endif; ?>
154
+ </div>
155
+ <div>
156
+ <?php
157
+ if ( isset( $elem['draw_svg'] ) ) :
158
+ $svg_key = 'svg_' . $elem['key'];
159
+ ?>
160
+ <input type="checkbox" id="<?php echo esc_attr( $svg_key ); ?>" name="<?php echo esc_attr( $svg_key ); ?>" <?php echo checked( 1, $enabled_elements[ $svg_key ], false ); ?>>
161
+ <label for="<?php echo esc_attr( $svg_key ); ?>"></label>
162
+ <span><?php esc_html_e( 'Enable SVG Draw', 'premium-addons-for-elementor' ); ?></span>
163
+ <?php endif; ?>
164
+ </div>
165
+ </div>
166
+ <?php endif; ?>
167
+ </div>
168
+ </div>
169
+ <label class="switch">
170
+ <input type="checkbox" id="<?php echo esc_attr( $elem['key'] ); ?>" name="<?php echo esc_attr( $elem['key'] ); ?>" <?php echo esc_attr( $status ); ?>>
171
+ <span class="<?php echo esc_attr( $switcher_class ); ?>"></span>
172
+ </label>
173
+ </div>
174
+ <?php endforeach; ?>
175
+ </div>
176
+ </div>
177
+ <?php endif; ?>
178
+ <?php endforeach; ?>
179
+ </div>
180
+
181
+ </div>
182
+ </form> <!-- End Form -->
183
+ </div>
184
+ </div>
185
+ </div> <!-- End Section Content -->
admin/includes/templates/nav-menu-settings.php CHANGED
@@ -1,220 +1,220 @@
1
- <?php
2
- /**
3
- * PA Menu Settings Popup.
4
- *
5
- * @package Templates
6
- */
7
-
8
- defined( 'ABSPATH' ) || exit;
9
- ?>
10
-
11
- <div class="premium-menu-settings-modal">
12
- <div class="dialog-widget dialog-lightbox-widget dialog-type-buttons dialog-type-lightbox elementor-templates-modal premium-dynamic-content-modal" id="elementor-template-nav-menu-modal-container" style="display:none">
13
- <div class="dialog-widget-content dialog-lightbox-widget-content">
14
-
15
- <div class="dialog-header dialog-lightbox-header">
16
- <div class="elementor-templates-modal__header">
17
- <div class="elementor-templates-modal__header__logo-area">
18
- <div class="elementor-templates-modal__header__logo">
19
- <span class="elementor-templates-modal__header__logo__icon-wrapper" id="pa-menu-logo">
20
- <span class="premium-template-modal-header-logo-icon">
21
- <img src="<?php echo esc_url( PREMIUM_ADDONS_URL . 'admin/images/pa-logo-symbol.png' ); ?>">
22
- </span>
23
- </span>
24
- <span class="elementor-templates-modal__header__logo__title"><?php esc_html_e( 'Premium Mega Menu Settings', 'premium-addons-for-elementor' ); ?></span>
25
- </div>
26
- </div>
27
- <div class="elementor-templates-modal__header__items-area">
28
- <div class="elementor-templates-modal__header__close elementor-templates-modal__header__close--normal elementor-templates-modal__header__item">
29
- <i class="eicon-close" aria-hidden="true" title="<?php echo esc_attr__( 'Close', 'premium-addons-for-elementor' ); ?>"></i>
30
- <span class="elementor-screen-only"><?php esc_html_e( 'Close', 'premium-addons-for-elementor' ); ?></span>
31
- </div>
32
- </div>
33
- </div>
34
- </div>
35
-
36
- <div class="dialog-message dialog-lightbox-message">
37
- <div class="dialog-content dialog-lightbox-content" style="display: block;">
38
- <div id="elementor-template-library-templates" data-template-source="remote">
39
- <div id="elementor-template-library-templates-container">
40
- <!-- mega content settings -->
41
- <div class="premium-megamenu-settings premium-setting-container">
42
- <div class="premium-menu-control-meta">
43
- <label for="pa-megamenu-switcher"><?php esc_html_e( 'Enable Mega Menu', 'premium-addons-for-elementor' ); ?></label>
44
- </div>
45
- <div class="premium-menu-control" id="pa-megamenu-switcher">
46
- <label class="switch">
47
- <input type="checkbox">
48
- <span class="slider round"></span>
49
- </label>
50
- </div>
51
- </div>
52
-
53
- <div class="premium-megamenu-settings premium-setting-container">
54
- <div class="premium-menu-control-meta">
55
- <label for="pa-megamenu-content"><?php esc_html_e( 'Create/Edit Mega Menu Content', 'premium-addons-for-elementor' ); ?></label>
56
- </div>
57
- <div class="premium-menu-control" id="pa-megamenu-content">
58
- <span class="premium-menu-btn"><?php esc_html_e( 'Edit Mega Content', 'premium-addons-for-elementor' ); ?></span>
59
- </div>
60
- </div>
61
-
62
- <div class="premium-megamenu-settings premium-setting-container">
63
- <div class="premium-menu-control-meta premium-has-desc">
64
- <label for="pa-megamenu-content-pos"><?php esc_html_e( 'Menu Content Position', 'premium-addons-for-elementor' ); ?></label>
65
- <div class="premium-megamenu-des"><?php esc_html_e( 'mega content parent position', 'premium-addons-for-elementor' ); ?></div>
66
- </div>
67
- <div class="premium-menu-control" id="pa-megamenu-content-pos">
68
- <select id="pa-megamenu-position">
69
- <option value="default">Default</option>
70
- <option value="relative">Relative</option>
71
- </select>
72
- </div>
73
- </div>
74
-
75
- <div class="premium-megamenu-settings premium-setting-container pa-depth-0-control premium-setting-hidden">
76
- <div class="premium-menu-control-meta premium-has-desc">
77
- <label for="pa-megamenu-content-pos"><?php esc_html_e( 'Full Width Content', 'premium-addons-for-elementor' ); ?></label>
78
- <div class="premium-megamenu-des"><?php esc_html_e( 'Works only on horizontal-layout menus', 'premium-addons-for-elementor' ); ?></div>
79
- </div>
80
- <div class="premium-menu-control" id="pa-full-width-switcher">
81
- <label class="switch">
82
- <input type="checkbox">
83
- <span class="slider round"></span>
84
- </label>
85
- </div>
86
- </div>
87
-
88
- <div class="premium-megamenu-settings premium-setting-container">
89
- <div class="premium-menu-control-meta premium-has-desc">
90
- <label for="pa-megamenu-content-width"><?php esc_html_e( 'Menu Content Width (PX)', 'premium-addons-for-elementor' ); ?></label>
91
- <div class="premium-megamenu-des"><?php esc_html_e( 'Default is 1170 px', 'premium-addons-for-elementor' ); ?></div>
92
- </div>
93
- <div class="premium-menu-control" id="pa-megamenu-content-width">
94
- <input type="number" id="pa-mega-content-width" min="1" max="2000">
95
- </div>
96
- </div>
97
- <!-- icon settings -->
98
- <div class="premium-icon-select premium-setting-container">
99
- <div class="premium-menu-control-meta">
100
- <label for="pa-item-icon-type"><?php esc_html_e( 'Icon Type', 'premium-addons-for-elementor' ); ?></label>
101
- </div>
102
- <div class="premium-menu-control" id="pa-item-icon-type">
103
- <select id="pa-megamenu-icon-type">
104
- <option value="icon">Icon</option>
105
- <option value="lottie">Lottie Animation</option>
106
- </select>
107
- </div>
108
- </div>
109
-
110
- <div class="premium-lottie-settings premium-setting-container">
111
- <div class="premium-menu-control-meta premium-has-desc">
112
- <label for="pa-item-lottie"><?php esc_html_e( 'Lottie URL', 'premium-addons-for-elementor' ); ?></label>
113
- <div class="premium-megamenu-des"><?php echo __( 'Get JSON code URL from <a href="https://lottiefiles.com/" target="_blank">here</a>', 'premium-addons-for-elementor' ); ?></div>
114
- </div>
115
- <div class="premium-menu-control" id="pa-item-lottie">
116
- <input type="text" id="premium-lottie-url" class="premium-icon-picker">
117
- </div>
118
- </div>
119
-
120
- <div class="premium-icon-settings premium-setting-container">
121
- <div class="premium-menu-control-meta">
122
- <label for="pa-item-icon-picker"><?php esc_html_e( 'Select Icon', 'premium-addons-for-elementor' ); ?></label>
123
- </div>
124
- <div class="premium-menu-control" id="pa-item-icon-picker">
125
- <input type="text" id="premium-icon-field" class="premium-icon-picker" >
126
- </div>
127
- </div>
128
-
129
- <div class="premium-icon-settings premium-setting-container">
130
- <div class="premium-menu-control-meta">
131
- <label for="pa-item-icon-color"><?php esc_html_e( 'Icon Color', 'premium-addons-for-elementor' ); ?></label>
132
- </div>
133
- <div class="premium-menu-control" id="pa-item-icon-color">
134
- <input type="text" id="premium-icon-color-field" class="premium-color-picker" value="#bada55">
135
- </div>
136
- </div>
137
-
138
- <div class="premium-badge-settings premium-setting-container">
139
- <div class="premium-menu-control-meta">
140
- <label for="premium-badge-text-field"><?php esc_html_e( 'Item Badge Text', 'premium-addons-for-elementor' ); ?></label>
141
- </div>
142
- <div class="premium-menu-control" id="pa-item-badge">
143
- <input type="text" id="premium-badge-text-field" class="premium-text-picker" placeholder="Badge Text">
144
- </div>
145
- </div>
146
-
147
- <div class="premium-badge-settings premium-setting-container">
148
- <div class="premium-menu-control-meta">
149
- <label for="premium-badge-color-field"><?php esc_html_e( 'Badge Color', 'premium-addons-for-elementor' ); ?></label>
150
- </div>
151
- <div class="premium-menu-control" id="pa-item-badge-color">
152
- <input type="text" id="premium-badge-color-field" class="premium-color-picker" value="#bada55">
153
- </div>
154
- </div>
155
-
156
- <div class="premium-badge-settings premium-setting-container">
157
- <div class="premium-menu-control-meta">
158
- <label for="premium-badge-bg-field"><?php esc_html_e( 'Badge Background', 'premium-addons-for-elementor' ); ?></label>
159
- </div>
160
- <div class="premium-menu-control" id="pa-item-badge-color">
161
- <input type="text" id="premium-badge-bg-field" class="premium-color-picker" value="#bada55">
162
- </div>
163
- </div>
164
-
165
- </div>
166
- </div>
167
- </div>
168
- </div>
169
-
170
- <div class="premium-menu-dialog-footer">
171
- <div class="premium-menu-save-btn">
172
- <button id="premium-menu-save" class="premium-menu-btn" type="button">
173
- <span>
174
- <?php esc_html_e( 'Save Settings', 'premium-addons-for-elementor' ); ?>
175
- </span>
176
- <i class="dashicons dashicons-admin-generic loader-hidden"></i>
177
- </span>
178
- </div>
179
- </div>
180
- </div>
181
- </div>
182
- </div>
183
- <!-- End of nav settings popup -->
184
- <!-- Start Live Editor popup -->
185
- <?php defined( 'ABSPATH' ) || exit; ?>
186
- <div class="premium-live-editor-iframe-modal">
187
- <div class="dialog-widget dialog-lightbox-widget dialog-type-buttons dialog-type-lightbox elementor-templates-modal premium-dynamic-content-modal" id="elementor-template-pa-live-editor-modal-container" style="display:none">
188
- <div class="dialog-widget-content dialog-lightbox-widget-content">
189
- <div class="premium-menu-temp-close">
190
- <i class="eicon-close"></i>
191
- </div>
192
- <div class="dialog-message dialog-lightbox-message">
193
- <div class="dialog-content dialog-lightbox-content" style="display: block;">
194
- <div id="elementor-template-library-templates" data-template-source="remote">
195
-
196
- <div id="elementor-template-library-templates-container">
197
- <iframe id="pa-live-editor-control-iframe"></iframe>
198
- </div>
199
- </div>
200
- </div>
201
- <div class="dialog-loading dialog-lightbox-loading" style="display: block;">
202
- <div id="elementor-template-library-loading">
203
- <div class="elementor-loader-wrapper">
204
- <div class="elementor-loader">
205
- <div class="elementor-loader-boxes">
206
- <div class="elementor-loader-box"></div>
207
- <div class="elementor-loader-box"></div>
208
- <div class="elementor-loader-box"></div>
209
- <div class="elementor-loader-box"></div>
210
- </div>
211
- </div>
212
- <div class="elementor-loading-title"><?php esc_html_e( 'Loading', 'premium-addons-for-elementor' ); ?></div>
213
- </div>
214
- </div>
215
- </div>
216
- </div>
217
- <div class="dialog-buttons-wrapper dialog-lightbox-buttons-wrapper"></div>
218
- </div>
219
- </div>
220
- </div>
1
+ <?php
2
+ /**
3
+ * PA Menu Settings Popup.
4
+ *
5
+ * @package Templates
6
+ */
7
+
8
+ defined( 'ABSPATH' ) || exit;
9
+ ?>
10
+
11
+ <div class="premium-menu-settings-modal">
12
+ <div class="dialog-widget dialog-lightbox-widget dialog-type-buttons dialog-type-lightbox elementor-templates-modal premium-dynamic-content-modal" id="elementor-template-nav-menu-modal-container" style="display:none">
13
+ <div class="dialog-widget-content dialog-lightbox-widget-content">
14
+
15
+ <div class="dialog-header dialog-lightbox-header">
16
+ <div class="elementor-templates-modal__header">
17
+ <div class="elementor-templates-modal__header__logo-area">
18
+ <div class="elementor-templates-modal__header__logo">
19
+ <span class="elementor-templates-modal__header__logo__icon-wrapper" id="pa-menu-logo">
20
+ <span class="premium-template-modal-header-logo-icon">
21
+ <img src="<?php echo esc_url( PREMIUM_ADDONS_URL . 'admin/images/pa-logo-symbol.png' ); ?>">
22
+ </span>
23
+ </span>
24
+ <span class="elementor-templates-modal__header__logo__title"><?php esc_html_e( 'Premium Mega Menu Settings', 'premium-addons-for-elementor' ); ?></span>
25
+ </div>
26
+ </div>
27
+ <div class="elementor-templates-modal__header__items-area">
28
+ <div class="elementor-templates-modal__header__close elementor-templates-modal__header__close--normal elementor-templates-modal__header__item">
29
+ <i class="eicon-close" aria-hidden="true" title="<?php echo esc_attr__( 'Close', 'premium-addons-for-elementor' ); ?>"></i>
30
+ <span class="elementor-screen-only"><?php esc_html_e( 'Close', 'premium-addons-for-elementor' ); ?></span>
31
+ </div>
32
+ </div>
33
+ </div>
34
+ </div>
35
+
36
+ <div class="dialog-message dialog-lightbox-message">
37
+ <div class="dialog-content dialog-lightbox-content" style="display: block;">
38
+ <div id="elementor-template-library-templates" data-template-source="remote">
39
+ <div id="elementor-template-library-templates-container">
40
+ <!-- mega content settings -->
41
+ <div class="premium-megamenu-settings premium-setting-container">
42
+ <div class="premium-menu-control-meta">
43
+ <label for="pa-megamenu-switcher"><?php esc_html_e( 'Enable Mega Menu', 'premium-addons-for-elementor' ); ?></label>
44
+ </div>
45
+ <div class="premium-menu-control" id="pa-megamenu-switcher">
46
+ <label class="switch">
47
+ <input type="checkbox">
48
+ <span class="slider round"></span>
49
+ </label>
50
+ </div>
51
+ </div>
52
+
53
+ <div class="premium-megamenu-settings premium-setting-container">
54
+ <div class="premium-menu-control-meta">
55
+ <label for="pa-megamenu-content"><?php esc_html_e( 'Create/Edit Mega Menu Content', 'premium-addons-for-elementor' ); ?></label>
56
+ </div>
57
+ <div class="premium-menu-control" id="pa-megamenu-content">
58
+ <span class="premium-menu-btn"><?php esc_html_e( 'Edit Mega Content', 'premium-addons-for-elementor' ); ?></span>
59
+ </div>
60
+ </div>
61
+
62
+ <div class="premium-megamenu-settings premium-setting-container">
63
+ <div class="premium-menu-control-meta premium-has-desc">
64
+ <label for="pa-megamenu-content-pos"><?php esc_html_e( 'Menu Content Position', 'premium-addons-for-elementor' ); ?></label>
65
+ <div class="premium-megamenu-des"><?php esc_html_e( 'mega content parent position', 'premium-addons-for-elementor' ); ?></div>
66
+ </div>
67
+ <div class="premium-menu-control" id="pa-megamenu-content-pos">
68
+ <select id="pa-megamenu-position">
69
+ <option value="default">Default</option>
70
+ <option value="relative">Relative</option>
71
+ </select>
72
+ </div>
73
+ </div>
74
+
75
+ <div class="premium-megamenu-settings premium-setting-container pa-depth-0-control premium-setting-hidden">
76
+ <div class="premium-menu-control-meta premium-has-desc">
77
+ <label for="pa-megamenu-content-pos"><?php esc_html_e( 'Full Width Content', 'premium-addons-for-elementor' ); ?></label>
78
+ <div class="premium-megamenu-des"><?php esc_html_e( 'Works only on horizontal-layout menus', 'premium-addons-for-elementor' ); ?></div>
79
+ </div>
80
+ <div class="premium-menu-control" id="pa-full-width-switcher">
81
+ <label class="switch">
82
+ <input type="checkbox">
83
+ <span class="slider round"></span>
84
+ </label>
85
+ </div>
86
+ </div>
87
+
88
+ <div class="premium-megamenu-settings premium-setting-container">
89
+ <div class="premium-menu-control-meta premium-has-desc">
90
+ <label for="pa-megamenu-content-width"><?php esc_html_e( 'Menu Content Width (PX)', 'premium-addons-for-elementor' ); ?></label>
91
+ <div class="premium-megamenu-des"><?php esc_html_e( 'Default is 1170 px', 'premium-addons-for-elementor' ); ?></div>
92
+ </div>
93
+ <div class="premium-menu-control" id="pa-megamenu-content-width">
94
+ <input type="number" id="pa-mega-content-width" min="1" max="2000">
95
+ </div>
96
+ </div>
97
+ <!-- icon settings -->
98
+ <div class="premium-icon-select premium-setting-container">
99
+ <div class="premium-menu-control-meta">
100
+ <label for="pa-item-icon-type"><?php esc_html_e( 'Icon Type', 'premium-addons-for-elementor' ); ?></label>
101
+ </div>
102
+ <div class="premium-menu-control" id="pa-item-icon-type">
103
+ <select id="pa-megamenu-icon-type">
104
+ <option value="icon">Icon</option>
105
+ <option value="lottie">Lottie Animation</option>
106
+ </select>
107
+ </div>
108
+ </div>
109
+
110
+ <div class="premium-lottie-settings premium-setting-container">
111
+ <div class="premium-menu-control-meta premium-has-desc">
112
+ <label for="pa-item-lottie"><?php esc_html_e( 'Lottie URL', 'premium-addons-for-elementor' ); ?></label>
113
+ <div class="premium-megamenu-des"><?php echo wp_kses_post( 'Get JSON code URL from <a href="https://lottiefiles.com/" target="_blank">here</a>', 'premium-addons-for-elementor' ); ?></div>
114
+ </div>
115
+ <div class="premium-menu-control" id="pa-item-lottie">
116
+ <input type="text" id="premium-lottie-url" class="premium-icon-picker">
117
+ </div>
118
+ </div>
119
+
120
+ <div class="premium-icon-settings premium-setting-container">
121
+ <div class="premium-menu-control-meta">
122
+ <label for="pa-item-icon-picker"><?php esc_html_e( 'Select Icon', 'premium-addons-for-elementor' ); ?></label>
123
+ </div>
124
+ <div class="premium-menu-control" id="pa-item-icon-picker">
125
+ <input type="text" id="premium-icon-field" class="premium-icon-picker" >
126
+ </div>
127
+ </div>
128
+
129
+ <div class="premium-icon-settings premium-setting-container">
130
+ <div class="premium-menu-control-meta">
131
+ <label for="pa-item-icon-color"><?php esc_html_e( 'Icon Color', 'premium-addons-for-elementor' ); ?></label>
132
+ </div>
133
+ <div class="premium-menu-control" id="pa-item-icon-color">
134
+ <input type="text" id="premium-icon-color-field" class="premium-color-picker" value="#bada55">
135
+ </div>
136
+ </div>
137
+
138
+ <div class="premium-badge-settings premium-setting-container">
139
+ <div class="premium-menu-control-meta">
140
+ <label for="premium-badge-text-field"><?php esc_html_e( 'Item Badge Text', 'premium-addons-for-elementor' ); ?></label>
141
+ </div>
142
+ <div class="premium-menu-control" id="pa-item-badge">
143
+ <input type="text" id="premium-badge-text-field" class="premium-text-picker" placeholder="Badge Text">
144
+ </div>
145
+ </div>
146
+
147
+ <div class="premium-badge-settings premium-setting-container">
148
+ <div class="premium-menu-control-meta">
149
+ <label for="premium-badge-color-field"><?php esc_html_e( 'Badge Color', 'premium-addons-for-elementor' ); ?></label>
150
+ </div>
151
+ <div class="premium-menu-control" id="pa-item-badge-color">
152
+ <input type="text" id="premium-badge-color-field" class="premium-color-picker" value="#bada55">
153
+ </div>
154
+ </div>
155
+
156
+ <div class="premium-badge-settings premium-setting-container">
157
+ <div class="premium-menu-control-meta">
158
+ <label for="premium-badge-bg-field"><?php esc_html_e( 'Badge Background', 'premium-addons-for-elementor' ); ?></label>
159
+ </div>
160
+ <div class="premium-menu-control" id="pa-item-badge-color">
161
+ <input type="text" id="premium-badge-bg-field" class="premium-color-picker" value="#bada55">
162
+ </div>
163
+ </div>
164
+
165
+ </div>
166
+ </div>
167
+ </div>
168
+ </div>
169
+
170
+ <div class="premium-menu-dialog-footer">
171
+ <div class="premium-menu-save-btn">
172
+ <button id="premium-menu-save" class="premium-menu-btn" type="button">
173
+ <span>
174
+ <?php esc_html_e( 'Save Settings', 'premium-addons-for-elementor' ); ?>
175
+ </span>
176
+ <i class="dashicons dashicons-admin-generic loader-hidden"></i>
177
+ </span>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ <!-- End of nav settings popup -->
184
+ <!-- Start Live Editor popup -->
185
+ <?php defined( 'ABSPATH' ) || exit; ?>
186
+ <div class="premium-live-editor-iframe-modal">
187
+ <div class="dialog-widget dialog-lightbox-widget dialog-type-buttons dialog-type-lightbox elementor-templates-modal premium-dynamic-content-modal" id="elementor-template-pa-live-editor-modal-container" style="display:none">
188
+ <div class="dialog-widget-content dialog-lightbox-widget-content">
189
+ <div class="premium-menu-temp-close">
190
+ <i class="eicon-close"></i>
191
+ </div>
192
+ <div class="dialog-message dialog-lightbox-message">
193
+ <div class="dialog-content dialog-lightbox-content" style="display: block;">
194
+ <div id="elementor-template-library-templates" data-template-source="remote">
195
+
196
+ <div id="elementor-template-library-templates-container">
197
+ <iframe id="pa-live-editor-control-iframe"></iframe>
198
+ </div>
199
+ </div>
200
+ </div>
201
+ <div class="dialog-loading dialog-lightbox-loading" style="display: block;">
202
+ <div id="elementor-template-library-loading">
203
+ <div class="elementor-loader-wrapper">
204
+ <div class="elementor-loader">
205
+ <div class="elementor-loader-boxes">
206
+ <div class="elementor-loader-box"></div>
207
+ <div class="elementor-loader-box"></div>
208
+ <div class="elementor-loader-box"></div>
209
+ <div class="elementor-loader-box"></div>
210
+ </div>
211
+ </div>
212
+ <div class="elementor-loading-title"><?php esc_html_e( 'Loading', 'premium-addons-for-elementor' ); ?></div>
213
+ </div>
214
+ </div>
215
+ </div>
216
+ </div>
217
+ <div class="dialog-buttons-wrapper dialog-lightbox-buttons-wrapper"></div>
218
+ </div>
219
+ </div>
220
+ </div>
admin/includes/templates/version-control.php CHANGED
@@ -19,17 +19,17 @@ $settings = self::get_integrations_settings();
19
 
20
  <div class="pa-section-info-wrap">
21
  <div class="pa-section-info">
22
- <h4><?php echo __( 'Rollback to Previous Version', 'premium-addons-for-elementor' ); ?></h4>
23
- <p><?php echo sprintf( __( 'Experiencing an issue with Premium Addons for Elementor version %s? Rollback to a previous version before the issue appeared.', 'premium-addons-for-elementor' ), PREMIUM_ADDONS_VERSION ); ?></p>
24
  </div>
25
 
26
  <div class="pa-section-info-cta">
27
  <a target="_blank" href="<?php echo esc_url( wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?>" class="button pa-btn pa-rollback-button">
28
- <?php echo __( 'Rollback to Version ' . PREMIUM_ADDONS_STABLE_VERSION, 'premium-addons-for-elementor' ); ?>
29
  </a>
30
  <span class="pa-section-info-warning">
31
  <i class="dashicons dashicons-info-outline"></i>
32
- <?php echo __( 'Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor' ); ?>
33
  </span>
34
  </p>
35
  </div>
@@ -37,24 +37,24 @@ $settings = self::get_integrations_settings();
37
 
38
  <div class="pa-section-info-wrap">
39
  <div class="pa-section-info">
40
- <h4><?php echo __( 'Become a Beta Tester', 'premium-addons-for-elementor' ); ?></h4>
41
- <p><?php echo __( 'Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.', 'premium-addons-for-elementor' ); ?></p>
42
  </div>
43
 
44
  <div class="pa-section-info-cta">
45
  <input name="is-beta-tester" id="is-beta-tester" type="checkbox" <?php checked( 1, $settings['is-beta-tester'], true ); ?>>
46
  <label for="is-beta-tester"></label>
47
  <span class="pa-section-info-label">
48
- <?php echo __( 'Check this box to get updates for beta versions', 'premium-addons-for-elementor' ); ?>
49
  </span>
50
  <span class="pa-section-info-warning">
51
  <i class="dashicons dashicons-info-outline"></i>
52
- <?php echo __( 'We do not recommend updating to a beta version on production sites.', 'premium-addons-for-elementor' ); ?>
53
  </span>
54
  </p>
55
  </div>
56
  </div>
57
-
58
  </div>
59
  </form> <!-- End Form -->
60
  </div>
19
 
20
  <div class="pa-section-info-wrap">
21
  <div class="pa-section-info">
22
+ <h4><?php echo esc_html_e( 'Rollback to Previous Version', 'premium-addons-for-elementor' ); ?></h4>
23
+ <p><?php echo sprintf( esc_html_e( 'Experiencing an issue with Premium Addons for Elementor version %s? Rollback to a previous version before the issue appeared.', 'premium-addons-for-elementor' ), esc_attr( PREMIUM_ADDONS_VERSION ) ); ?></p>
24
  </div>
25
 
26
  <div class="pa-section-info-cta">
27
  <a target="_blank" href="<?php echo esc_url( wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?>" class="button pa-btn pa-rollback-button">
28
+ <?php echo esc_html_e( 'Rollback to Version ' . PREMIUM_ADDONS_STABLE_VERSION, 'premium-addons-for-elementor' ); ?>
29
  </a>
30
  <span class="pa-section-info-warning">
31
  <i class="dashicons dashicons-info-outline"></i>
32
+ <?php echo esc_html_e( 'Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor' ); ?>
33
  </span>
34
  </p>
35
  </div>
37
 
38
  <div class="pa-section-info-wrap">
39
  <div class="pa-section-info">
40
+ <h4><?php echo esc_html_e( 'Become a Beta Tester', 'premium-addons-for-elementor' ); ?></h4>
41
+ <p><?php echo esc_html_e( 'Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.', 'premium-addons-for-elementor' ); ?></p>
42
  </div>
43
 
44
  <div class="pa-section-info-cta">
45
  <input name="is-beta-tester" id="is-beta-tester" type="checkbox" <?php checked( 1, $settings['is-beta-tester'], true ); ?>>
46
  <label for="is-beta-tester"></label>
47
  <span class="pa-section-info-label">
48
+ <?php echo esc_html_e( 'Check this box to get updates for beta versions', 'premium-addons-for-elementor' ); ?>
49
  </span>
50
  <span class="pa-section-info-warning">
51
  <i class="dashicons dashicons-info-outline"></i>
52
+ <?php echo esc_html_e( 'We do not recommend updating to a beta version on production sites.', 'premium-addons-for-elementor' ); ?>
53
  </span>
54
  </p>
55
  </div>
56
  </div>
57
+
58
  </div>
59
  </form> <!-- End Form -->
60
  </div>
assets/frontend/css/premium-addons.css CHANGED
@@ -7551,6 +7551,16 @@ ul.premium-person-social-list {
7551
 
7552
  .premium-mscroll-yes.elementor-widget-premium-addon-video-box div {
7553
  cursor: default; }
 
 
 
 
 
 
 
 
 
 
7554
 
7555
  /************ Premium Vertical Scroll ************/
7556
  /*************************************************/
7551
 
7552
  .premium-mscroll-yes.elementor-widget-premium-addon-video-box div {
7553
  cursor: default; }
7554
+
7555
+ .premium-video-box-background {
7556
+ width: 100%; }
7557
+
7558
+ .premium-video-box-background + div {
7559
+ position: absolute;
7560
+ width: 80%;
7561
+ height: 80%;
7562
+ top: 0;
7563
+ left: 0; }
7564
 
7565
  /************ Premium Vertical Scroll ************/
7566
  /*************************************************/
assets/frontend/css/premium-video-box.css CHANGED
@@ -415,3 +415,13 @@
415
 
416
  .premium-mscroll-yes.elementor-widget-premium-addon-video-box div {
417
  cursor: default; }
 
 
 
 
 
 
 
 
 
 
415
 
416
  .premium-mscroll-yes.elementor-widget-premium-addon-video-box div {
417
  cursor: default; }
418
+
419
+ .premium-video-box-background {
420
+ width: 100%; }
421
+
422
+ .premium-video-box-background + div {
423
+ position: absolute;
424
+ width: 80%;
425
+ height: 80%;
426
+ top: 0;
427
+ left: 0; }
assets/frontend/js/premium-addons.js CHANGED
@@ -1,2870 +1,2870 @@
1
- (function ($) {
2
-
3
- $(window).on('elementor/frontend/init', function () {
4
-
5
- var ModuleHandler = elementorModules.frontend.handlers.Base;
6
-
7
- /****** Premium Progress Bar Handler ******/
8
- var PremiumProgressBarWidgetHandler = function ($scope, trigger) {
9
-
10
- var $progressbarElem = $scope.find(".premium-progressbar-container"),
11
- settings = $progressbarElem.data("settings"),
12
- length = settings.progress_length,
13
- speed = settings.speed,
14
- type = settings.type;
15
-
16
-
17
- if ("line" === type) {
18
-
19
- var $progressbar = $progressbarElem.find(".premium-progressbar-bar");
20
-
21
- if (settings.gradient)
22
- $progressbar.css("background", "linear-gradient(-45deg, " + settings.gradient + ")");
23
-
24
- $progressbar.animate({
25
- width: length + "%"
26
- }, speed);
27
-
28
- } else if ("circle" === type || "half-circle" === type) {
29
- if (length > 100)
30
- length = 100;
31
-
32
- var degreesFactor = 1.8 * (elementorFrontend.config.is_rtl ? -1 : 1);
33
-
34
- $progressbarElem.find(".premium-progressbar-hf-circle-progress").css({
35
- transform: "rotate(" + length * degreesFactor + "deg)",
36
- });
37
-
38
- $progressbarElem.prop({
39
- 'counter': 0
40
- }).animate({
41
- counter: length
42
- }, {
43
- duration: speed,
44
- easing: 'linear',
45
- step: function (counter) {
46
- var rotate = (counter * 3.6);
47
-
48
- $progressbarElem.find(".premium-progressbar-right-label").text(Math.ceil(counter) + "%");
49
-
50
- $progressbarElem.find(".premium-progressbar-circle-left").css('transform', "rotate(" + rotate + "deg)");
51
-
52
-
53
- if ('circle' === type && rotate > 180) {
54
-
55
- $progressbarElem.find(".premium-progressbar-circle").css({
56
- '-webkit-clip-path': 'inset(0)',
57
- 'clip-path': 'inset(0)',
58
- });
59
-
60
- $progressbarElem.find(".premium-progressbar-circle-right").css('visibility', 'visible');
61
- }
62
- }
63
- });
64
-
65
- } else {
66
-
67
- var $progressbar = $progressbarElem.find(".premium-progressbar-bar-wrap"),
68
- width = $progressbarElem.outerWidth(),
69
- dotSize = settings.dot || 25,
70
- dotSpacing = settings.spacing || 10,
71
- numberOfCircles = Math.ceil(width / (dotSize + dotSpacing)),
72
- circlesToFill = numberOfCircles * (length / 100),
73
- numberOfTotalFill = Math.floor(circlesToFill),
74
- fillPercent = 100 * (circlesToFill - numberOfTotalFill);
75
-
76
- $progressbar.attr('data-circles', numberOfCircles);
77
- $progressbar.attr('data-total-fill', numberOfTotalFill);
78
- $progressbar.attr('data-partial-fill', fillPercent);
79
-
80
- var className = "progress-segment";
81
- for (var i = 0; i < numberOfCircles; i++) {
82
- className = "progress-segment";
83
- var innerHTML = '';
84
-
85
- if (i < numberOfTotalFill) {
86
- innerHTML = "<div class='segment-inner'></div>";
87
- } else if (i === numberOfTotalFill) {
88
-
89
- innerHTML = "<div class='segment-inner'></div>";
90
- }
91
-
92
- $progressbar.append("<div class='" + className + "'>" + innerHTML + "</div>");
93
-
94
- }
95
-
96
- if ("frontend" !== trigger) {
97
- PremiumProgressDotsHandler($scope);
98
- }
99
-
100
- }
101
-
102
- };
103
-
104
- var PremiumProgressDotsHandler = function ($scope) {
105
-
106
- var $progressbarElem = $scope.find(".premium-progressbar-container"),
107
- settings = $progressbarElem.data("settings"),
108
- $progressbar = $scope.find(".premium-progressbar-bar-wrap"),
109
- data = $progressbar.data(),
110
- speed = settings.speed,
111
- increment = 0;
112
-
113
- var numberOfTotalFill = data.totalFill,
114
- numberOfCircles = data.circles,
115
- fillPercent = data.partialFill;
116
-
117
- dotIncrement(increment);
118
-
119
- function dotIncrement(inc) {
120
-
121
- var $dot = $progressbar.find(".progress-segment").eq(inc),
122
- dotWidth = 100;
123
-
124
- if (inc === numberOfTotalFill)
125
- dotWidth = fillPercent
126
-
127
- $dot.find(".segment-inner").animate({
128
- width: dotWidth + '%'
129
- }, speed / numberOfCircles, function () {
130
- increment++;
131
- if (increment <= numberOfTotalFill) {
132
- dotIncrement(increment);
133
- }
134
-
135
- });
136
- }
137
- };
138
-
139
- /****** Premium Progress Bar Scroll Handler *****/
140
- var PremiumProgressBarScrollWidgetHandler = function ($scope, $) {
141
-
142
- var $progressbarElem = $scope.find(".premium-progressbar-container"),
143
- settings = $progressbarElem.data("settings"),
144
- type = settings.type;
145
-
146
- if ("dots" === type) {
147
- PremiumProgressBarWidgetHandler($scope, "frontend");
148
- }
149
-
150
- elementorFrontend.waypoint($scope, function () {
151
- if ("dots" !== type) {
152
- PremiumProgressBarWidgetHandler($(this));
153
- } else {
154
- PremiumProgressDotsHandler($(this));
155
- }
156
-
157
- });
158
- };
159
-
160
- /****** Premium Video Box Handler ******/
161
- var PremiumVideoBoxWidgetHandler = function ($scope, $) {
162
-
163
- var $videoBoxElement = $scope.find(".premium-video-box-container"),
164
- $videoListElement = $scope.find(".premium-video-box-playlist-container"),
165
- $videoContainer = $videoBoxElement.find(".premium-video-box-video-container"), //should be clicked
166
- $videoInnerContainer = $videoBoxElement.find('.premium-video-box-inner-wrap'),
167
- $videoImageContainer = $videoInnerContainer.find('.premium-video-box-image-container'),
168
- type = $videoBoxElement.data("type"),
169
- thumbnail = $videoBoxElement.data("thumbnail"),
170
- sticky = $videoBoxElement.data('sticky'),
171
- stickyOnPlay = $videoBoxElement.data('sticky-play'),
172
- hoverEffect = $videoBoxElement.data('hover'),
173
- $lighboxContainer = $videoListElement.length ? $videoListElement : $videoBoxElement,
174
- lightBox = $lighboxContainer.data('lightbox') ? $lighboxContainer.data('lightbox') : false,
175
- video, vidSrc;
176
-
177
- if (lightBox) {
178
-
179
- if ('prettyphoto' === lightBox.type) {
180
- $lighboxContainer.find(".premium-vid-lightbox-container[data-rel^='prettyPhoto']").prettyPhoto(getPrettyPhotoSettings(lightBox.theme));
181
- }
182
-
183
- $lighboxContainer.find('.premium-video-box-image-container, .premium-video-box-play-icon-container').on('click', function (e) {
184
- triggerLightbox($lighboxContainer, lightBox.type);
185
- });
186
-
187
- } else {
188
- // Youtube playlist option.
189
- if ($videoListElement.length) {
190
-
191
- //Make sure that video were pulled from the API.
192
- if (!$videoContainer.length)
193
- return;
194
-
195
- $videoContainer.each(function (index, item) {
196
-
197
- var vidSrc,
198
- $videoContainer = $(item),
199
- $videoBoxElement = $videoContainer.closest(".premium-video-box-container"),
200
- $trigger = $videoContainer.closest(".premium-video-box-trigger");
201
-
202
- vidSrc = $videoContainer.data("src");
203
- vidSrc = vidSrc + "&autoplay=1";
204
-
205
- $trigger.on("click", function () {
206
-
207
- var $iframe = $("<iframe/>");
208
-
209
- $iframe.attr({
210
- "src": vidSrc,
211
- "frameborder": "0",
212
- "allowfullscreen": "1",
213
- "allow": "autoplay;encrypted-media;"
214
- });
215
- $videoContainer.css("background", "#000");
216
- $videoContainer.html($iframe);
217
-
218
- $videoBoxElement.find(
219
- ".premium-video-box-image-container, .premium-video-box-play-icon-container"
220
- ).remove();
221
-
222
- });
223
-
224
- });
225
-
226
- return;
227
- }
228
-
229
- if ("self" === type) {
230
-
231
- video = $videoContainer.find("video");
232
- vidSrc = video.attr("src");
233
-
234
- if ($videoBoxElement.data("play-viewport")) {
235
- elementorFrontend.waypoint($videoBoxElement, function () {
236
- playVideo();
237
- }, {
238
- offset: 0,
239
- triggerOnce: false
240
- });
241
-
242
- if ($videoBoxElement.data("play-reset")) {
243
- elementorFrontend.waypoint($videoBoxElement, function (direction) {
244
-
245
- if ('up' === direction)
246
- restartVideo();
247
- }, {
248
- offset: "100%",
249
- triggerOnce: false
250
- });
251
- }
252
- }
253
-
254
- } else {
255
-
256
- vidSrc = $videoContainer.data("src");
257
-
258
- if (!thumbnail || -1 !== vidSrc.indexOf("autoplay=1")) {
259
-
260
- //Check if Autoplay on viewport option is enabled
261
- if ($videoBoxElement.data("play-viewport")) {
262
- elementorFrontend.waypoint($videoBoxElement, function () {
263
- playVideo();
264
- }, {
265
- offset: 0
266
- });
267
- } else {
268
- playVideo();
269
- }
270
-
271
- } else {
272
- vidSrc = vidSrc + "&autoplay=1";
273
- }
274
-
275
- }
276
-
277
- $videoBoxElement.on("click", function () {
278
- playVideo();
279
- });
280
-
281
- if ("yes" !== sticky || "yes" === stickyOnPlay)
282
- return;
283
-
284
- stickyOption();
285
- }
286
-
287
- function playVideo() {
288
-
289
- if ($videoBoxElement.hasClass("playing")) return;
290
-
291
- $videoBoxElement.addClass("playing");
292
-
293
- if (stickyOnPlay === 'yes')
294
- stickyOption();
295
-
296
- if ("self" === type) {
297
-
298
- $(video).get(0).play();
299
-
300
- $videoContainer.css({
301
- opacity: "1",
302
- visibility: "visible"
303
- });
304
-
305
- } else {
306
-
307
- var $iframe = $("<iframe/>");
308
-
309
- $iframe.attr({
310
- "src": vidSrc,
311
- "frameborder": "0",
312
- "allowfullscreen": "1",
313
- "allow": "autoplay;encrypted-media;"
314
- });
315
- $videoContainer.css("background", "#000");
316
- $videoContainer.html($iframe);
317
- }
318
-
319
- $videoBoxElement.find(
320
- ".premium-video-box-image-container, .premium-video-box-play-icon-container, .premium-video-box-description-container"
321
- ).remove();
322
-
323
- if ("vimeo" === type)
324
- $videoBoxElement.find(".premium-video-box-vimeo-wrap").remove();
325
- }
326
-
327
- function restartVideo() {
328
-
329
- $videoBoxElement.removeClass("playing");
330
-
331
- $(video).get(0).pause();
332
- $(video).get(0).currentTime = 0;
333
-
334
- }
335
-
336
- function triggerLightbox($container, type) {
337
- if ('elementor' === type) {
338
- $container.find('.premium-video-box-video-container').click();
339
- } else {
340
- $container.find(".premium-vid-lightbox-container[data-rel^='prettyPhoto']").click();
341
- }
342
- }
343
-
344
- function stickyOption() {
345
-
346
- var stickyDesktop = $videoBoxElement.data('hide-desktop'),
347
- stickyTablet = $videoBoxElement.data('hide-tablet'),
348
- stickyMobile = $videoBoxElement.data('hide-mobile'),
349
- stickyMargin = $videoBoxElement.data('sticky-margin');
350
-
351
- $videoBoxElement.off('click').on('click', function (e) {
352
- // if ('yes' === sticky) {
353
- var stickyTarget = e.target.className;
354
- if ((stickyTarget.toString().indexOf('premium-video-box-sticky-close') >= 0) || (stickyTarget.toString().indexOf('premium-video-box-sticky-close') >= 0)) {
355
- return false;
356
- }
357
- // }
358
- playVideo();
359
-
360
- });
361
-
362
- //Make sure Elementor Waypoint is defined
363
- if (typeof elementorFrontend.waypoint !== 'undefined') {
364
-
365
- var stickyWaypoint = elementorFrontend.waypoint(
366
- $videoBoxElement,
367
- function (direction) {
368
- if ('down' === direction) {
369
-
370
- $videoBoxElement.removeClass('premium-video-box-sticky-hide').addClass('premium-video-box-sticky-apply premium-video-box-filter-sticky');
371
-
372
- //Fix conflict with Elementor motion effects
373
- if ($scope.hasClass("elementor-motion-effects-parent")) {
374
- $scope.removeClass("elementor-motion-effects-perspective").find(".elementor-widget-container").addClass("premium-video-box-transform");
375
- }
376
-
377
- if ($videoBoxElement.data("mask")) {
378
- //Fix Sticky position issue when drop-shadow is applied
379
- $scope.find(".premium-video-box-mask-filter").removeClass("premium-video-box-mask-filter");
380
-
381
- $videoBoxElement.find(':first-child').removeClass('premium-video-box-mask-media');
382
-
383
- $videoImageContainer.removeClass(hoverEffect).removeClass('premium-video-box-mask-media').css({
384
- 'transition': 'width 0.2s, height 0.2s',
385
- '-webkit-transition': 'width 0.2s, height 0.2s'
386
- });
387
- }
388
-
389
- $(document).trigger('premium_after_sticky_applied', [$scope]);
390
-
391
- // Entrance Animation Option
392
- if ($videoInnerContainer.data("video-animation") && " " != $videoInnerContainer.data("video-animation")) {
393
- $videoInnerContainer.css("opacity", "0");
394
- var animationDelay = $videoInnerContainer.data('delay-animation');
395
- setTimeout(function () {
396
-
397
- $videoInnerContainer.css("opacity", "1").addClass("animated " + $videoInnerContainer.data("video-animation"));
398
-
399
- }, animationDelay * 1000);
400
- }
401
-
402
- } else {
403
-
404
- $videoBoxElement.removeClass('premium-video-box-sticky-apply premium-video-box-filter-sticky').addClass('premium-video-box-sticky-hide');
405
-
406
- //Fix conflict with Elementor motion effects
407
- if ($scope.hasClass("elementor-motion-effects-parent")) {
408
- $scope.addClass("elementor-motion-effects-perspective").find(".elementor-widget-container").removeClass("premium-video-box-transform");
409
- }
410
-
411
- if ($videoBoxElement.data("mask")) {
412
- //Fix Sticky position issue when drop-shadow is applied
413
- $videoBoxElement.parent().addClass("premium-video-box-mask-filter");
414
-
415
- $videoBoxElement.find(':first-child').eq(0).addClass('premium-video-box-mask-media');
416
- $videoImageContainer.addClass('premium-video-box-mask-media');
417
- }
418
-
419
- $videoImageContainer.addClass(hoverEffect).css({
420
- 'transition': 'all 0.2s',
421
- '-webkit-transition': 'all 0.2s'
422
- });
423
-
424
- $videoInnerContainer.removeClass("animated " + $videoInnerContainer.data("video-animation"));
425
- }
426
- }, {
427
- offset: 0 + '%',
428
- triggerOnce: false
429
- }
430
- );
431
- }
432
-
433
- var closeBtn = $scope.find('.premium-video-box-sticky-close');
434
-
435
- closeBtn.off('click.closetrigger').on('click.closetrigger', function (e) {
436
- e.stopPropagation();
437
- stickyWaypoint[0].disable();
438
-
439
- $videoBoxElement.removeClass('premium-video-box-sticky-apply premium-video-box-sticky-hide');
440
-
441
- //Fix conflict with Elementor motion effects
442
- if ($scope.hasClass("elementor-motion-effects-parent")) {
443
- $scope.addClass("elementor-motion-effects-perspective").find(".elementor-widget-container").removeClass("premium-video-box-transform");
444
- }
445
-
446
- if ($videoBoxElement.data("mask")) {
447
- //Fix Sticky position issue when drop-shadow is applied
448
- $videoBoxElement.parent().addClass("premium-video-box-mask-filter");
449
-
450
- //Necessary classes for mask shape option
451
- $videoBoxElement.find(':first-child').eq(0).addClass('premium-video-box-mask-media');
452
- $videoImageContainer.addClass('premium-video-box-mask-media');
453
- }
454
-
455
-
456
- });
457
-
458
- checkResize(stickyWaypoint);
459
-
460
- checkScroll();
461
-
462
- window.addEventListener("scroll", checkScroll);
463
-
464
- $(window).resize(function (e) {
465
- checkResize(stickyWaypoint);
466
- });
467
-
468
- function checkResize(stickyWaypoint) {
469
- var currentDeviceMode = elementorFrontend.getCurrentDeviceMode();
470
-
471
- if ('' !== stickyDesktop && currentDeviceMode == stickyDesktop) {
472
- disableSticky(stickyWaypoint);
473
- } else if ('' !== stickyTablet && currentDeviceMode == stickyTablet) {
474
- disableSticky(stickyWaypoint);
475
- } else if ('' !== stickyMobile && currentDeviceMode == stickyMobile) {
476
- disableSticky(stickyWaypoint);
477
- } else {
478
- stickyWaypoint[0].enable();
479
- }
480
- }
481
-
482
- function disableSticky(stickyWaypoint) {
483
- stickyWaypoint[0].disable();
484
- $videoBoxElement.removeClass('premium-video-box-sticky-apply premium-video-box-sticky-hide');
485
- }
486
-
487
- function checkScroll() {
488
- if ($videoBoxElement.hasClass('premium-video-box-sticky-apply')) {
489
- $videoInnerContainer.draggable({
490
- start: function () {
491
- $(this).css({
492
- transform: "none",
493
- top: $(this).offset().top + "px",
494
- left: $(this).offset().left + "px"
495
- });
496
- },
497
- containment: 'window'
498
- });
499
- }
500
- }
501
-
502
- $(document).on('premium_after_sticky_applied', function (e, $scope) {
503
- var infobar = $scope.find('.premium-video-box-sticky-infobar');
504
-
505
- if (0 !== infobar.length) {
506
- var infobarHeight = infobar.outerHeight();
507
-
508
- if ($scope.hasClass('premium-video-sticky-center-left') || $scope.hasClass('premium-video-sticky-center-right')) {
509
- infobarHeight = Math.ceil(infobarHeight / 2);
510
- $videoInnerContainer.css('top', 'calc( 50% - ' + infobarHeight + 'px )');
511
- }
512
-
513
- if ($scope.hasClass('premium-video-sticky-bottom-left') || $scope.hasClass('premium-video-sticky-bottom-right')) {
514
- if ('' !== stickyMargin) {
515
- infobarHeight = Math.ceil(infobarHeight);
516
- var stickBottom = infobarHeight + stickyMargin;
517
- $videoInnerContainer.css('bottom', stickBottom);
518
- }
519
- }
520
- }
521
- });
522
-
523
- }
524
-
525
- function getPrettyPhotoSettings(theme) {
526
- return {
527
- theme: theme,
528
- hook: "data-rel",
529
- opacity: 0.7,
530
- show_title: false,
531
- deeplinking: false,
532
- overlay_gallery: true,
533
- custom_markup: "",
534
- default_width: 900,
535
- default_height: 506,
536
- social_tools: ""
537
- };
538
- }
539
- };
540
-
541
- /****** Premium Media Grid Handler ******/
542
- var PremiumGridWidgetHandler = ModuleHandler.extend({
543
-
544
- settings: {},
545
-
546
- getDefaultSettings: function () {
547
- return {
548
- selectors: {
549
- galleryElement: '.premium-gallery-container',
550
- filters: '.premium-gallery-cats-container li',
551
- gradientLayer: '.premium-gallery-gradient-layer',
552
- loadMore: '.premium-gallery-load-more',
553
- loadMoreDiv: '.premium-gallery-load-more div',
554
- vidWrap: '.premium-gallery-video-wrap',
555
- }
556
- }
557
- },
558
-
559
- getDefaultElements: function () {
560
-
561
- var selectors = this.getSettings('selectors'),
562
- elements = {
563
- $galleryElement: this.$element.find(selectors.galleryElement),
564
- $filters: this.$element.find(selectors.filters),
565
- $gradientLayer: this.$element.find(selectors.gradientLayer),
566
- $vidWrap: this.$element.find(selectors.vidWrap)
567
- };
568
-
569
- elements.$loadMore = elements.$galleryElement.parent().find(selectors.loadMore)
570
- elements.$loadMoreDiv = elements.$galleryElement.parent().find(selectors.loadMoreDiv)
571
-
572
- return elements;
573
- },
574
-
575
- bindEvents: function () {
576
- this.getGlobalSettings();
577
- this.run();
578
- },
579
-
580
- getGlobalSettings: function () {
581
- var $galleryElement = this.elements.$galleryElement,
582
- settings = $galleryElement.data('settings');
583
-
584
- this.settings = {
585
- layout: settings.img_size,
586
- loadMore: settings.load_more,
587
- columnWidth: null,
588
- filter: null,
589
- isFilterClicked: false,
590
- minimum: settings.minimum,
591
- imageToShow: settings.click_images,
592
- counter: settings.minimum,
593
- ltrMode: settings.ltr_mode,
594
- shuffle: settings.shuffle,
595
- active_cat: settings.active_cat,
596
- theme: settings.theme,
597
- overlay: settings.overlay,
598
- sort_by: settings.sort_by,
599
- light_box: settings.light_box,
600
- flag: settings.flag,
601
- lightbox_type: settings.lightbox_type
602
- }
603
- },
604
-
605
- updateCounter: function () {
606
-
607
- if (this.settings.isFilterClicked) {
608
-
609
- this.settings.counter = this.settings.minimum;
610
-
611
- this.settings.isFilterClicked = false;
612
-
613
- } else {
614
- this.settings.counter = this.settings.counter;
615
- }
616
-
617
- this.settings.counter = this.settings.counter + this.settings.imageToShow;
618
- },
619
-
620
- updateGrid: function (gradHeight, $isotopeGallery, $loadMoreDiv) {
621
- $.ajax({
622
- url: this.appendItems(this.settings.counter, gradHeight, $isotopeGallery),
623
- beforeSend: function () {
624
- $loadMoreDiv.removeClass("premium-gallery-item-hidden");
625
- },
626
- success: function () {
627
- $loadMoreDiv.addClass("premium-gallery-item-hidden");
628
- }
629
- });
630
- },
631
-
632
- loadMore: function (gradHeight, $isotopeGallery) {
633
-
634
- var $galleryElement = this.elements.$galleryElement,
635
- $loadMoreDiv = this.elements.$loadMoreDiv,
636
- $loadMore = this.elements.$loadMore,
637
- _this = this;
638
-
639
- $loadMoreDiv.addClass("premium-gallery-item-hidden");
640
-
641
- if ($galleryElement.find(".premium-gallery-item").length > this.settings.minimum) {
642
-
643
- $loadMore.removeClass("premium-gallery-item-hidden");
644
-
645
- $galleryElement.parent().on("click", ".premium-gallery-load-less", function () {
646
- _this.settings.counter = _this.settings.counter - _this.settings.imageToShow;
647
- });
648
-
649
- $galleryElement.parent().on("click", ".premium-gallery-load-more-btn:not(.premium-gallery-load-less)", function () {
650
- _this.updateCounter();
651
- _this.updateGrid(gradHeight, $isotopeGallery, $loadMoreDiv);
652
- });
653
-
654
- }
655
-
656
- },
657
-
658
- getItemsToHide: function (instance, imagesToShow) {
659
- var items = instance.filteredItems.slice(imagesToShow, instance
660
- .filteredItems.length).map(function (item) {
661
- return item.element;
662
- });
663
-
664
- return items;
665
- },
666
-
667
- appendItems: function (imagesToShow, gradHeight, $isotopeGallery) {
668
-
669
- var $galleryElement = this.elements.$galleryElement,
670
- $gradientLayer = this.elements.$gradientLayer,
671
- instance = $galleryElement.data("isotope"),
672
- itemsToHide = this.getItemsToHide(instance, imagesToShow);
673
-
674
- $gradientLayer.outerHeight(gradHeight);
675
-
676
- $galleryElement.find(".premium-gallery-item-hidden").removeClass("premium-gallery-item-hidden");
677
-
678
- $galleryElement.parent().find(".premium-gallery-load-more").removeClass("premium-gallery-item-hidden");
679
-
680
- $(itemsToHide).addClass("premium-gallery-item-hidden");
681
-
682
- $isotopeGallery.isotope("layout");
683
-
684
- if (0 == itemsToHide) {
685
-
686
- $gradientLayer.addClass("premium-gallery-item-hidden");
687
-
688
- $galleryElement.parent().find(".premium-gallery-load-more").addClass("premium-gallery-item-hidden");
689
- }
690
- },
691
-
692
- triggerFilerTabs: function (url) {
693
- var filterIndex = url.searchParams.get(this.settings.flag),
694
- $filters = this.elements.$filters;
695
-
696
- if (filterIndex) {
697
-
698
- var $targetFilter = $filters.eq(filterIndex).find("a");
699
-
700
- $targetFilter.trigger('click');
701
-
702
- }
703
- },
704
-
705
- onReady: function ($isotopeGallery) {
706
- var _this = this;
707
-
708
- $isotopeGallery.isotope("layout");
709
-
710
- // $isotopeGallery.isotope({
711
- // filter: _this.settings.active_cat
712
- // });
713
-
714
- var url = new URL(window.location.href);
715
-
716
- if (url)
717
- _this.triggerFilerTabs(url);
718
-
719
- //Show the widget after making sure everything is ready.
720
- _this.$element.find(".category.active").trigger('click');
721
- _this.$element.find(".elementor-invisible").removeClass("elementor-invisible");
722
-
723
- },
724
-
725
- onResize: function ($isotopeGallery) {
726
- var _this = this;
727
-
728
- _this.setMetroLayout();
729
-
730
- $isotopeGallery.isotope({
731
- itemSelector: ".premium-gallery-item",
732
- masonry: {
733
- columnWidth: _this.settings.columnWidth
734
- },
735
- });
736
-
737
- },
738
-
739
- lightBoxDisabled: function () {
740
- var _this = this,
741
- $vidWrap = this.elements.$vidWrap;
742
-
743
- $vidWrap.each(function (index, item) {
744
- var type = $(item).data("type");
745
-
746
- $(item).closest(".premium-gallery-item").on("click", function () {
747
- var $this = $(this);
748
-
749
- $this.find(".pa-gallery-img-container").css("background", "#000");
750
-
751
- $this.find("img, .pa-gallery-icons-caption-container, .pa-gallery-icons-wrapper").css("visibility", "hidden");
752
-
753
- if ("style3" !== _this.settings.skin)
754
- $this.find(".premium-gallery-caption").css("visibility", "hidden");
755
-
756
- if ("hosted" !== type) {
757
- _this.playVid($this);
758
- } else {
759
- _this.playHostedVid(item);
760
- }
761
- });
762
- });
763
-
764
- },
765
-
766
- playVid: function ($this) {
767
- var $iframeWrap = $this.find(".premium-gallery-iframe-wrap"),
768
- src = $iframeWrap.data("src");
769
-
770
- src = src.replace("&mute", "&autoplay=1&mute");
771
-
772
- var $iframe = $("<iframe/>");
773
-
774
- $iframe.attr({
775
- "src": src,
776
- "frameborder": "0",
777
- "allowfullscreen": "1",
778
- "allow": "autoplay;encrypted-media;"
779
- });
780
-
781
- $iframeWrap.html($iframe);
782
-
783
- $iframe.css("visibility", "visible");
784
- },
785
-
786
- playHostedVid: function (item) {
787
- var $video = $(item).find("video");
788
-
789
- $video.get(0).play();
790
- $video.css("visibility", "visible");
791
- },
792
-
793
- run: function () {
794
-
795
- var $galleryElement = this.elements.$galleryElement,
796
- $vidWrap = this.elements.$vidWrap,
797
- $filters = this.elements.$filters,
798
- _this = this;
799
-
800
- if ('metro' === this.settings.layout) {
801
-
802
- this.setMetroLayout();
803
-
804
- this.settings.layout = "masonry";
805
-
806
- $(window).resize(function () { _this.onResize($isotopeGallery); });
807
- }
808
-
809
- var $isotopeGallery = $galleryElement.isotope(this.getIsoTopeSettings());
810
-
811
- $isotopeGallery.imagesLoaded().progress(function () {
812
- $isotopeGallery.isotope("layout");
813
- });
814
-
815
- $(document).ready(function () { _this.onReady($isotopeGallery); });
816
-
817
- if (this.settings.loadMore) {
818
-
819
- var $gradientLayer = this.elements.$gradientLayer,
820
- gradHeight = null;
821
-
822
- setTimeout(function () {
823
- gradHeight = $gradientLayer.outerHeight();
824
- }, 200);
825
-
826
- this.loadMore(gradHeight, $isotopeGallery);
827
- }
828
-
829
- if ("yes" !== this.settings.light_box)
830
- this.lightBoxDisabled();
831
-
832
- $filters.find("a").click(function (e) {
833
- e.preventDefault();
834
-
835
- _this.isFilterClicked = true;
836
-
837
- $filters.find(".active").removeClass("active");
838
-
839
- $(this).addClass("active");
840
-
841
- _this.settings.filter = $(this).attr("data-filter");
842
-
843
- $isotopeGallery.isotope({
844
- filter: _this.settings.filter
845
- });
846
-
847
- if (_this.settings.shuffle) $isotopeGallery.isotope("shuffle");
848
-
849
- if (_this.settings.loadMore) _this.appendItems(_this.settings.minimum, gradHeight, $isotopeGallery);
850
-
851
- return false;
852
- });
853
-
854
- if ("default" === this.settings.lightbox_type)
855
- this.$element.find(".premium-img-gallery a[data-rel^='prettyPhoto']").prettyPhoto(this.getPrettyPhotoSettings());
856
- },
857
-
858
- getPrettyPhotoSettings: function () {
859
- return {
860
- theme: this.settings.theme,
861
- hook: "data-rel",
862
- opacity: 0.7,
863
- show_title: false,
864
- deeplinking: false,
865
- overlay_gallery: this.settings.overlay,
866
- custom_markup: "",
867
- default_width: 900,
868
- default_height: 506,
869
- social_tools: ""
870
- }
871
- },
872
-
873
- getIsoTopeSettings: function () {
874
- return {
875
- itemSelector: '.premium-gallery-item',
876
- percentPosition: true,
877
- animationOptions: {
878
- duration: 750,
879
- easing: 'linear'
880
- },
881
- filter: this.settings.active_cat,
882
- layoutMode: this.settings.layout,
883
- originLeft: this.settings.ltrMode,
884
- masonry: {
885
- columnWidth: this.settings.columnWidth
886
- },
887
- sortBy: this.settings.sort_by
888
- }
889
- },
890
-
891
- getRepeaterSettings: function () {
892
- return this.getElementSettings('premium_gallery_img_content');
893
- },
894
-
895
- setMetroLayout: function () {
896
-
897
- var $galleryElement = this.elements.$galleryElement,
898
- gridWidth = $galleryElement.width(),
899
- cellSize = Math.floor(gridWidth / 12),
900
- deviceType = elementorFrontend.getCurrentDeviceMode(),
901
- suffix = 'desktop' === deviceType ? '' : '_' + deviceType,
902
- repeater = this.getRepeaterSettings();
903
-
904
- $galleryElement.find(".premium-gallery-item").each(function (index, item) { //should be added to selectors and elements
905
-
906
- var cells = repeater[index]['premium_gallery_image_cell' + suffix].size,
907
- vCells = repeater[index]['premium_gallery_image_vcell' + suffix].size;
908
-
909
- if ("" === cells || undefined == cells) {
910
- cells = repeater[index].premium_gallery_image_cell;
911
- }
912
-
913
- if ("" === vCells || undefined == vCells) {
914
- vCells = repeater[index].premium_gallery_image_vcell;
915
- }
916
-
917
- $(item).css({
918
- width: Math.ceil(cells * cellSize),
919
- height: Math.ceil(vCells * cellSize)
920
- });
921
- });
922
-
923
- this.settings.columnWidth = cellSize;
924
- }
925
-
926
- });
927
-
928
- /****** Premium Counter Handler ******/
929
- var PremiumCounterHandler = function ($scope, $) {
930
-
931
- var $counterElement = $scope.find(".premium-counter"),
932
- isHScrollWidget = $counterElement.closest(".premium-hscroll-temp"),
933
- counterSettings = $counterElement.data(),
934
- incrementElement = $counterElement.find(".premium-counter-init"),
935
- iconElement = $counterElement.find(".icon");
936
-
937
- if (!isHScrollWidget.length) {
938
- elementorFrontend.waypoint($counterElement, function () {
939
-
940
- $(incrementElement).numerator(counterSettings);
941
-
942
- $(iconElement).addClass("animated " + iconElement.data("animation"));
943
-
944
- });
945
- } else {
946
-
947
- $(window).on("scroll", function () {
948
-
949
- if ($(window).scrollTop() >= isHScrollWidget.data("scroll-offset")) {
950
- $(incrementElement).numerator(counterSettings);
951
-
952
- $(iconElement).addClass("animated " + iconElement.data("animation"));
953
- }
954
-
955
- });
956
-
957
- }
958
-
959
- };
960
-
961
- /****** Premium Fancy Text Handler ******/
962
- var PremiumFancyTextHandler = function ($scope, $) {
963
-
964
- var $elem = $scope.find(".premium-fancy-text-wrapper"),
965
- settings = $elem.data("settings"),
966
- loadingSpeed = settings.delay || 2500,
967
- itemCount = $elem.find('.premium-fancy-list-items').length,
968
- loopCount = ('' === settings.count && !['typing', 'slide', 'autofade'].includes(settings.effect)) ? 'infinite' : (settings.count * itemCount);
969
-
970
- function escapeHtml(unsafe) {
971
- return unsafe.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(
972
- /"/g, "&quot;");
973
- }
974
-
975
- if ("typing" === settings.effect) {
976
-
977
- var fancyStrings = [];
978
-
979
- settings.strings.forEach(function (item) {
980
- fancyStrings.push(escapeHtml(item));
981
- });
982
-
983
- var fancyTextID = '#' + $elem.find('.premium-fancy-text').attr('id');
984
- var typedInstance = new Typed(fancyTextID, {
985
- strings: fancyStrings,
986
- typeSpeed: settings.typeSpeed,
987
- backSpeed: settings.backSpeed,
988
- startDelay: settings.startDelay,
989
- backDelay: settings.backDelay,
990
- showCursor: settings.showCursor,
991
- cursorChar: settings.cursorChar,
992
- loop: settings.loop
993
- });
994
-
995
- //To start/stop programmatically.
996
- if ($scope.hasClass("fancy-text-stop")) {
997
- typedInstance.stop();
998
- }
999
-
1000
- $(".fancy-text-stop").bind("fancy-text-start", function () {
1001
- typedInstance.start();
1002
- });
1003
-
1004
- } else if ("slide" === settings.effect) {
1005
- loadingSpeed = settings.pause;
1006
-
1007
- $elem.find(".premium-fancy-text").vTicker({
1008
- speed: settings.speed,
1009
- showItems: settings.showItems,
1010
- pause: settings.pause,
1011
- mousePause: settings.mousePause,
1012
- direction: "up"
1013
- });
1014
-
1015
- } else if ('auto-fade' === settings.effect) {
1016
- var $items = $elem.find(".premium-fancy-list-items"),
1017
- len = $items.length;
1018
-
1019
- if (0 === len) {
1020
- return;
1021
- }
1022
-
1023
- var delay = settings.duration / len,
1024
- itemDelay = 0;
1025
-
1026
- loadingSpeed = delay;
1027
-
1028
- $items.each(function ($index, $item) {
1029
- $item.style.animationDelay = itemDelay + 'ms';
1030
- itemDelay += delay;
1031
- });
1032
-
1033
- } else {
1034
-
1035
- setFancyAnimation();
1036
-
1037
- function setFancyAnimation() {
1038
-
1039
- var $item = $elem.find(".premium-fancy-list-items"),
1040
- current = 1;
1041
-
1042
- //Get effect settings
1043
- var delay = settings.delay || 2500,
1044
- loopCount = settings.count;
1045
-
1046
- //If Loop Count option is set
1047
- if (loopCount) {
1048
- var currentLoop = 1,
1049
- fancyStringsCount = $elem.find(".premium-fancy-list-items").length;
1050
- }
1051
-
1052
- var loopInterval = setInterval(function () {
1053
-
1054
- var animationClass = "";
1055
-
1056
- //Add animation class
1057
- if (settings.effect === "custom")
1058
- animationClass = "animated " + settings.animation;
1059
-
1060
- //Show current active item
1061
- $item.eq(current).addClass("premium-fancy-item-visible " + animationClass).removeClass("premium-fancy-item-hidden");
1062
-
1063
- var $inactiveItems = $item.filter(function (index) {
1064
- return index !== current;
1065
- });
1066
-
1067
- //Hide inactive items
1068
- $inactiveItems.addClass("premium-fancy-item-hidden").removeClass("premium-fancy-item-visible " + animationClass);
1069
-
1070
- current++;
1071
-
1072
- //Restart loop
1073
- if ($item.length === current)
1074
- current = 0;
1075
-
1076
- //Increment interval and check if loop count is reached
1077
- if (loopCount) {
1078
- currentLoop++;
1079
-
1080
- if ((fancyStringsCount * loopCount) === currentLoop)
1081
- clearInterval(loopInterval);
1082
- }
1083
-
1084
-
1085
- }, delay);
1086
-
1087
- }
1088
- }
1089
-
1090
- //Show the strings after the layout is set.
1091
- if ("typing" !== settings.effect) {
1092
- setTimeout(function () {
1093
- $elem.find(".premium-fancy-text").css('opacity', '1');
1094
- }, 500);
1095
-
1096
- }
1097
-
1098
- if ('loading' === settings.loading && 'typing' !== settings.effect) {
1099
- $scope.find('.premium-fancy-text').append('<span class="premium-loading-bar"></span>');
1100
- $scope.find('.premium-loading-bar').css({
1101
- 'animation-iteration-count': loopCount,
1102
- 'animation-duration': loadingSpeed + 'ms'
1103
- });
1104
- }
1105
-
1106
- };
1107
-
1108
- /****** Premium Countdown Handler ******/
1109
- var PremiumCountDownHandler = function ($scope, $) {
1110
-
1111
- var $countDownElement = $scope.find(".premium-countdown"),
1112
- settings = $countDownElement.data("settings"),
1113
- id = $scope.data('id'),
1114
- label1 = settings.label1,
1115
- label2 = settings.label2,
1116
- newLabe1 = label1.split(","),
1117
- newLabel2 = label2.split(","),
1118
- timerType = settings.timerType,
1119
- until = 'evergreen' === timerType ? settings.until.date.replace(/ /g, "T") : settings.until,
1120
- layout = '',
1121
- map = {
1122
- y: { index: 0, oldVal: '' },
1123
- o: { index: 1, oldVal: '' },
1124
- w: { index: 2, oldVal: '' },
1125
- d: { index: 3, oldVal: '' },
1126
- h: { index: 4, oldVal: '' },
1127
- m: { index: 5, oldVal: '' },
1128
- s: { index: 6, oldVal: '' }
1129
- };
1130
-
1131
- if ($countDownElement.find('#countdown-' + id).hasClass('premium-countdown-flip')) {
1132
- settings.format.split('').forEach(function (unit) {
1133
- var lowercased = unit.toLowerCase();
1134
-
1135
- layout += '<div class="premium-countdown-block premium-countdown-' + lowercased + '"><div class="pre_time-mid"> <div class="premium-countdown-figure"><span class="top">{' + lowercased + 'nn}</span><span class="top-back"><span>{' + lowercased + 'nn}</span></span><span class="bottom">{' + lowercased + 'nn}</span><span class="bottom-back"><span>{' + lowercased + 'nn}</span></span></div><span class="premium-countdown-label">{' + lowercased + 'l}</span></div><span class="countdown_separator">{sep}</span></div>';
1136
- });
1137
- }
1138
-
1139
- $countDownElement.find('#countdown-' + id).countdown({
1140
- layout: layout,
1141
- labels: newLabel2,
1142
- labels1: newLabe1,
1143
- until: new Date(until),
1144
- format: settings.format,
1145
- padZeroes: true,
1146
- timeSeparator: settings.separator,
1147
- onTick: function (periods) {
1148
-
1149
- equalWidth();
1150
-
1151
- if ($countDownElement.find('#countdown-' + id).hasClass('premium-countdown-flip')) {
1152
- animateFigure(periods, map);
1153
- }
1154
- },
1155
- onExpiry: function () {
1156
- if ('onExpiry' === settings.event) {
1157
- $countDownElement.find('#countdown-' + id).html(settings.text);
1158
- }
1159
- },
1160
- serverSync: function () {
1161
- return new Date(settings.serverSync);
1162
- }
1163
- });
1164
-
1165
- if (settings.reset) {
1166
- $countDownElement.find('.premium-countdown-init').countdown('option', 'until', new Date(until));
1167
- }
1168
-
1169
- if ('expiryUrl' === settings.event) {
1170
- $countDownElement.find('#countdown-' + id).countdown('option', 'expiryUrl', (elementorFrontend.isEditMode()) ? '' : settings.text);
1171
- }
1172
-
1173
- function equalWidth() {
1174
- var width = 0;
1175
- $countDownElement.find('#countdown-' + id + ' .countdown-amount').each(function (index, slot) {
1176
- if (width < $(slot).outerWidth()) {
1177
- width = $(slot).outerWidth();
1178
- }
1179
- });
1180
-
1181
- $countDownElement.find('#countdown-' + id + ' .countdown-amount').css('width', width);
1182
- }
1183
-
1184
- function animateFigure(periods, map) {
1185
- settings.format.split('').forEach(function (unit) {
1186
-
1187
- var lowercased = unit.toLowerCase(),
1188
- index = map[lowercased].index,
1189
- oldVal = map[lowercased].oldVal;
1190
-
1191
- if (periods[index] !== oldVal) {
1192
-
1193
- map[lowercased].oldVal = periods[index];
1194
-
1195
- var $top = $('#countdown-' + id).find('.premium-countdown-' + lowercased + ' .top'),
1196
- $back_top = $('#countdown-' + id).find('.premium-countdown-' + lowercased + ' .top-back');
1197
-
1198
- TweenMax.to($top, 0.8, {
1199
- rotationX: '-180deg',
1200
- transformPerspective: 300,
1201
- ease: Quart.easeOut,
1202
- onComplete: function () {
1203
- TweenMax.set($top, { rotationX: 0 });
1204
- }
1205
- });
1206
-
1207
- TweenMax.to($back_top, 0.8, {
1208
- rotationX: 0,
1209
- transformPerspective: 300,
1210
- ease: Quart.easeOut,
1211
- clearProps: 'all'
1212
- });
1213
- }
1214
- });
1215
- }
1216
-
1217
- times = $countDownElement.find('#countdown-' + id).countdown("getTimes");
1218
-
1219
- function runTimer(el) {
1220
- return el == 0;
1221
- }
1222
-
1223
- if (times.every(runTimer)) {
1224
-
1225
- if ('onExpiry' === settings.event) {
1226
- $countDownElement.find('#countdown-' + id).html(settings.text);
1227
- } else if ('expiryUrl' === settings.event && !elementorFrontend.isEditMode()) {
1228
- var editMode = $('body').find('#elementor').length;
1229
- if (0 < editMode) {
1230
- $countDownElement.find('#countdown-' + id).html(
1231
- "<h1>You can not redirect url from elementor Editor!!</h1>");
1232
- } else {
1233
- if (!elementorFrontend.isEditMode()) {
1234
- window.location.href = settings.text;
1235
- }
1236
- }
1237
-
1238
- }
1239
- }
1240
-
1241
- };
1242
-
1243
- /****** Premium Carousel Handler ******/
1244
- var PremiumCarouselHandler = function ($scope, $) {
1245
-
1246
- var $carouselElem = $scope.find(".premium-carousel-wrapper"),
1247
- settings = $($carouselElem).data("settings"),
1248
- isEdit = elementorFrontend.isEditMode();
1249
-
1250
- if ($carouselElem.find(".item-wrapper").length < 1)
1251
- return;
1252
-
1253
- function slideToShow(slick) {
1254
-
1255
- var slidesToShow = slick.options.slidesToShow,
1256
- windowWidth = $(window).width();
1257
- if (windowWidth > settings.tabletBreak) {
1258
- slidesToShow = settings.slidesDesk;
1259
- }
1260
- if (windowWidth <= settings.tabletBreak) {
1261
- slidesToShow = settings.slidesTab;
1262
- }
1263
- if (windowWidth <= settings.mobileBreak) {
1264
- slidesToShow = settings.slidesMob;
1265
- }
1266
- return slidesToShow;
1267
-
1268
- }
1269
-
1270
- //Get templates content on the editor page
1271
- if (isEdit) {
1272
-
1273
- $carouselElem.find(".item-wrapper").each(function (index, slide) {
1274
-
1275
- var templateID = $(slide).data("template");
1276
-
1277
- if (undefined !== templateID && '' !== templateID) {
1278
- $.ajax({
1279
- type: "GET",
1280
- url: PremiumSettings.ajaxurl,
1281
- dataType: "html",
1282
- data: {
1283
- action: "get_elementor_template_content",
1284
- templateID: templateID
1285
- }
1286
- }).success(function (response) {
1287
-
1288
- var data = JSON.parse(response).data;
1289
-
1290
- if (undefined !== data.template_content) {
1291
-
1292
- $(slide).html(data.template_content);
1293
- $carouselElem.find(".premium-carousel-inner").slick("refresh");
1294
-
1295
- }
1296
- });
1297
- }
1298
- });
1299
-
1300
- }
1301
-
1302
- $carouselElem.on("init", function (event) {
1303
-
1304
- event.preventDefault();
1305
-
1306
- setTimeout(function () {
1307
- resetAnimations("init");
1308
- }, 500);
1309
-
1310
- $(this).find("item-wrapper.slick-active").each(function () {
1311
- var $this = $(this);
1312
- $this.addClass($this.data("animation"));
1313
- });
1314
-
1315
- $(".slick-track").addClass("translate");
1316
-
1317
- });
1318
-
1319
- $carouselElem.find(".premium-carousel-inner").slick({
1320
- vertical: settings.vertical,
1321
- slidesToScroll: settings.slidesToScroll,
1322
- slidesToShow: settings.slidesToShow,
1323
- responsive: [{
1324
- breakpoint: settings.tabletBreak,
1325
- settings: {
1326
- slidesToShow: settings.slidesTab,
1327
- slidesToScroll: settings.slidesTab,
1328
- swipe: settings.touchMove,
1329
- }
1330
- },
1331
- {
1332
- breakpoint: settings.mobileBreak,
1333
- settings: {
1334
- slidesToShow: settings.slidesMob,
1335
- slidesToScroll: settings.slidesMob,
1336
- swipe: settings.touchMove,
1337
- }
1338
- }
1339
- ],
1340
- useTransform: true,
1341
- fade: settings.fade,
1342
- infinite: settings.infinite,
1343
- speed: settings.speed,
1344
- autoplay: settings.autoplay,
1345
- autoplaySpeed: settings.autoplaySpeed,
1346
- rows: 0,
1347
- draggable: settings.draggable,
1348
- rtl: settings.rtl,
1349
- adaptiveHeight: settings.adaptiveHeight,
1350
- pauseOnHover: settings.pauseOnHover,
1351
- centerMode: settings.centerMode,
1352
- centerPadding: settings.centerPadding,
1353
- arrows: settings.arrows,
1354
- prevArrow: $carouselElem.find(".premium-carousel-nav-arrow-prev").html(),
1355
- nextArrow: $carouselElem.find(".premium-carousel-nav-arrow-next").html(),
1356
- dots: settings.dots,
1357
- variableWidth: settings.variableWidth,
1358
- cssEase: settings.cssEase,
1359
- customPaging: function () {
1360
- var customDot = $carouselElem.find(".premium-carousel-nav-dot").html();
1361
- return customDot;
1362
- }
1363
- });
1364
-
1365
- $scope.find(".premium-carousel-hidden").removeClass("premium-carousel-hidden");
1366
- $carouselElem.find(".premium-carousel-nav-arrow-prev").remove();
1367
- $carouselElem.find(".premium-carousel-nav-arrow-next").remove();
1368
- // $carouselElem.find(".premium-carousel-nav-dot").remove();
1369
-
1370
- if (settings.variableWidth) {
1371
- $carouselElem.find(".elementor-container").css("flex-wrap", "nowrap");
1372
- }
1373
-
1374
- function resetAnimations(event) {
1375
-
1376
- var $slides = $carouselElem.find(".slick-slide");
1377
-
1378
- if ("init" === event)
1379
- $slides = $slides.not(".slick-current");
1380
-
1381
- $slides.find(".animated").each(function (index, elem) {
1382
-
1383
- var settings = $(elem).data("settings");
1384
-
1385
- if (!settings)
1386
- return;
1387
-
1388
- if (!settings._animation && !settings.animation)
1389
- return;
1390
-
1391
- var animation = settings._animation || settings.animation;
1392
-
1393
- $(elem).removeClass("animated " + animation).addClass("elementor-invisible");
1394
- });
1395
- };
1396
-
1397
- function triggerAnimation() {
1398
-
1399
- $carouselElem.find(".slick-active .elementor-invisible").each(function (index, elem) {
1400
-
1401
- var settings = $(elem).data("settings");
1402
-
1403
- if (!settings)
1404
- return;
1405
-
1406
- if (!settings._animation && !settings.animation)
1407
- return;
1408
-
1409
- var delay = settings._animation_delay ? settings._animation_delay : 0,
1410
- animation = settings._animation || settings.animation;
1411
-
1412
- setTimeout(function () {
1413
- $(elem).removeClass("elementor-invisible").addClass(animation +
1414
- ' animated');
1415
- }, delay);
1416
- });
1417
- }
1418
-
1419
- $carouselElem.on("afterChange", function (event, slick, currentSlide) {
1420
-
1421
- var slidesScrolled = slick.options.slidesToScroll,
1422
- slidesToShow = slideToShow(slick),
1423
- centerMode = slick.options.centerMode,
1424
- slideToAnimate = currentSlide + slidesToShow - 1;
1425
-
1426
- //Trigger Aniamtions for the current slide
1427
- triggerAnimation();
1428
-
1429
- if (slidesScrolled === 1) {
1430
- if (!centerMode === true) {
1431
- var $inViewPort = $(this).find("[data-slick-index='" + slideToAnimate +
1432
- "']");
1433
- if ("null" != settings.animation) {
1434
- $inViewPort.find("p, h1, h2, h3, h4, h5, h6, span, a, img, i, button")
1435
- .addClass(settings.animation).removeClass(
1436
- "premium-carousel-content-hidden");
1437
- }
1438
- }
1439
- } else {
1440
- for (var i = slidesScrolled + currentSlide; i >= 0; i--) {
1441
- $inViewPort = $(this).find("[data-slick-index='" + i + "']");
1442
- if ("null" != settings.animation) {
1443
- $inViewPort.find("p, h1, h2, h3, h4, h5, h6, span, a, img, i, button")
1444
- .addClass(settings.animation).removeClass(
1445
- "premium-carousel-content-hidden");
1446
- }
1447
- }
1448
- }
1449
-
1450
- //Fix carousel continues to work after last slide if autoplay is true and infinite is false.
1451
- if (slick.$slides.length - 1 == currentSlide && !settings.infinite) {
1452
- $carouselElem.find(".premium-carousel-inner").slick('slickSetOption', 'autoplay', false, true);
1453
- }
1454
-
1455
- });
1456
-
1457
- $carouselElem.on("beforeChange", function (event, slick, currentSlide) {
1458
-
1459
- //Reset Aniamtions for the other slides
1460
- resetAnimations();
1461
-
1462
- var $inViewPort = $(this).find("[data-slick-index='" + currentSlide + "']");
1463
-
1464
- if ("null" != settings.animation) {
1465
- $inViewPort.siblings().find(
1466
- "p, h1, h2, h3, h4, h5, h6, span, a, img, i, button").removeClass(
1467
- settings.animation).addClass(
1468
- "premium-carousel-content-hidden");
1469
- }
1470
- });
1471
-
1472
- if (settings.vertical) {
1473
-
1474
- var maxHeight = -1;
1475
-
1476
- elementorFrontend.elements.$window.on('load', function () {
1477
- $carouselElem.find(".slick-slide").each(function () {
1478
- if ($(this).height() > maxHeight) {
1479
- maxHeight = $(this).height();
1480
- }
1481
- });
1482
- $carouselElem.find(".slick-slide").each(function () {
1483
- if ($(this).height() < maxHeight) {
1484
- $(this).css("margin", Math.ceil(
1485
- (maxHeight - $(this).height()) / 2) + "px 0");
1486
- }
1487
- });
1488
- });
1489
- }
1490
- var marginFix = {
1491
- element: $("a.ver-carousel-arrow"),
1492
- getWidth: function () {
1493
- var width = this.element.outerWidth();
1494
- return width / 2;
1495
- },
1496
- setWidth: function (type) {
1497
- type = type || "vertical";
1498
- if (type == "vertical") {
1499
- this.element.css("margin-left", "-" + this.getWidth() + "px");
1500
- } else {
1501
- this.element.css("margin-top", "-" + this.getWidth() + "px");
1502
- }
1503
- }
1504
- };
1505
- marginFix.setWidth();
1506
- marginFix.element = $("a.carousel-arrow");
1507
- marginFix.setWidth("horizontal");
1508
-
1509
- $(document).ready(function () {
1510
-
1511
- settings.navigation.map(function (item, index) {
1512
-
1513
- if (item) {
1514
-
1515
- $(item).on("click", function () {
1516
-
1517
- var currentActive = $carouselElem.find(".premium-carousel-inner").slick("slickCurrentSlide");
1518
-
1519
- if (index !== currentActive) {
1520
- $carouselElem.find(".premium-carousel-inner").slick("slickGoTo", index)
1521
- }
1522
-
1523
- })
1524
- }
1525
-
1526
- })
1527
- })
1528
-
1529
- };
1530
-
1531
- var PremiumBannerHandler = ModuleHandler.extend({
1532
-
1533
- getDefaultSettings: function () {
1534
-
1535
- return {
1536
- selectors: {
1537
- bannerImgWrap: '.premium-banner-ib',
1538
- bannerImg: 'img',
1539
- }
1540
- }
1541
-
1542
- },
1543
-
1544
- getDefaultElements: function () {
1545
-
1546
- var selectors = this.getSettings('selectors');
1547
-
1548
- return {
1549
- $bannerImgWrap: this.$element.find(selectors.bannerImgWrap),
1550
- $bannerImg: this.$element.find(selectors.bannerImg)
1551
- }
1552
-
1553
- },
1554
-
1555
- bindEvents: function () {
1556
-
1557
- var _this = this;
1558
-
1559
- _this.elements.$bannerImgWrap.hover(function () {
1560
- _this.elements.$bannerImg.addClass("active");
1561
- }, function () {
1562
- _this.elements.$bannerImg.removeClass("active");
1563
- });
1564
-
1565
- this.run();
1566
- },
1567
-
1568
- run: function () {
1569
-
1570
- var $bannerElement = this.$element;
1571
-
1572
- if ($bannerElement.hasClass("premium-banner-tilt-yes")) {
1573
-
1574
- var reverse = $bannerElement.hasClass("premium-banner-tilt-rev-yes");
1575
-
1576
- UniversalTilt.init({
1577
- elements: $bannerElement.closest(".elementor-widget"),
1578
- settings: {
1579
- reverse: reverse
1580
- },
1581
- callbacks: {
1582
- onMouseLeave: function (el) {
1583
- el.style.boxShadow = "0 45px 100px rgba(255, 255, 255, 0)";
1584
- },
1585
- onDeviceMove: function (el) {
1586
- el.style.boxShadow = "0 45px 100px rgba(255, 255, 255, 0.3)";
1587
- }
1588
- }
1589
- });
1590
-
1591
- }
1592
- }
1593
-
1594
- });
1595
-
1596
- /****** Premium Modal Box Handler ******/
1597
- var PremiumModalBoxHandler = function ($scope, $) {
1598
-
1599
- var $modalElem = $scope.find(".premium-modal-box-container"),
1600
- settings = $modalElem.data("settings"),
1601
- $modal = $modalElem.find(".premium-modal-box-modal-dialog");
1602
-
1603
- if (!settings) {
1604
- return;
1605
- }
1606
-
1607
- if (settings.trigger === "pageload") {
1608
- $(document).ready(function ($) {
1609
- setTimeout(function () {
1610
- $modalElem.find(".premium-modal-box-modal").modal();
1611
- }, settings.delay * 1000);
1612
- });
1613
- }
1614
-
1615
- if ($modal.data("modal-animation") && " " != $modal.data("modal-animation")) {
1616
-
1617
- var animationDelay = $modal.data('delay-animation');
1618
-
1619
- new Waypoint({
1620
- element: $modal,
1621
- handler: function () {
1622
- setTimeout(function () {
1623
- $modal.css("opacity", "1").addClass("animated " + $modal.data("modal-animation"));
1624
- }, animationDelay * 1000);
1625
- this.destroy();
1626
- },
1627
- offset: Waypoint.viewportHeight() - 150,
1628
- });
1629
- }
1630
- };
1631
-
1632
- /****** Premium Blog Handler ******/
1633
- var PremiumBlogHandler = ModuleHandler.extend({
1634
-
1635
- settings: {},
1636
-
1637
- getDefaultSettings: function () {
1638
- return {
1639
- selectors: {
1640
- user: '.fa-user',
1641
- activeCat: '.category.active',
1642
- loading: '.premium-loading-feed',
1643
- blogElement: '.premium-blog-wrap',
1644
- blogFilterTabs: '.premium-blog-filter',
1645
- contentWrapper: '.premium-blog-content-wrapper',
1646
- blogPost: '.premium-blog-post-outer-container',
1647
- metaSeparators: '.premium-blog-meta-separator',
1648
- filterLinks: '.premium-blog-filters-container li a',
1649
- currentPage: '.premium-blog-pagination-container .page-numbers.current',
1650
- activeElememnt: '.premium-blog-filters-container li .active',
1651
- }
1652
- }
1653
- },
1654
-
1655
- getDefaultElements: function () {
1656
- var selectors = this.getSettings('selectors'),
1657
- elements = {
1658
- $blogElement: this.$element.find(selectors.blogElement),
1659
- $blogFilterTabs: this.$element.find(selectors.blogFilterTabs),
1660
- $activeCat: this.$element.find(selectors.activeCat),
1661
- $filterLinks: this.$element.find(selectors.filterLinks),
1662
- $blogPost: this.$element.find(selectors.blogPost),
1663
- $contentWrapper: this.$element.find(selectors.contentWrapper)
1664
- };
1665
-
1666
- return elements;
1667
- },
1668
-
1669
- bindEvents: function () {
1670
- this.setLayoutSettings();
1671
- this.removeMetaSeparators();
1672
- this.run();
1673
- },
1674
-
1675
- setLayoutSettings: function () {
1676
-
1677
- var settings = this.getElementSettings(),
1678
- $blogPost = this.elements.$blogPost;
1679
-
1680
- var layoutSettings = {
1681
- pageNumber: 1,
1682
- isLoaded: true,
1683
- count: 2,
1684
- equalHeight: settings.force_height,
1685
- layout: settings.premium_blog_layout,
1686
- carousel: 'yes' === settings.premium_blog_carousel ? true : false,
1687
- infinite: 'yes' === settings.premium_blog_infinite_scroll ? true : false,
1688
- scrollAfter: 'yes' === settings.scroll_to_offset ? true : false,
1689
- grid: 'yes' === settings.premium_blog_grid ? true : false,
1690
- total: $blogPost.data('total'),
1691
- };
1692
-
1693
-
1694
- if (layoutSettings.carousel) {
1695
-
1696
- layoutSettings.slidesToScroll = settings.slides_to_scroll;
1697
- layoutSettings.spacing = parseInt(settings.premium_blog_carousel_spacing);
1698
- layoutSettings.autoPlay = 'yes' === settings.premium_blog_carousel_play ? true : false;
1699
- layoutSettings.arrows = 'yes' === settings.premium_blog_carousel_arrows ? true : false;
1700
- layoutSettings.fade = 'yes' === settings.premium_blog_carousel_fade ? true : false;
1701
- layoutSettings.center = 'yes' === settings.premium_blog_carousel_center ? true : false;
1702
- layoutSettings.dots = 'yes' === settings.premium_blog_carousel_dots ? true : false;
1703
- layoutSettings.speed = '' !== settings.premium_blog_carousel_autoplay_speed ? parseInt(settings.premium_blog_carousel_autoplay_speed) : 5000;
1704
-
1705
- }
1706
-
1707
- this.settings = layoutSettings;
1708
-
1709
- },
1710
-
1711
- removeMetaSeparators: function () {
1712
-
1713
- var selectors = this.getSettings('selectors'),
1714
- $blogPost = this.$element.find(selectors.blogPost);
1715
-
1716
- var $metaSeparators = $blogPost.first().find(selectors.metaSeparators),
1717
- $user = $blogPost.find(selectors.user);
1718
-
1719
- if (1 === $metaSeparators.length) {
1720
- //If two meta only are enabled. One of them is author meta.
1721
- if (!$user.length) {
1722
- $blogPost.find(selectors.metaSeparators).remove();
1723
- }
1724
-
1725
- } else {
1726
- if (!$user.length) {
1727
- $blogPost.each(function (index, post) {
1728
- $(post).find(selectors.metaSeparators).first().remove();
1729
- });
1730
- }
1731
- }
1732
-
1733
- },
1734
- run: function () {
1735
-
1736
- var _this = this,
1737
- $blogElement = this.elements.$blogElement,
1738
- $activeCategory = this.elements.$activeCat.data('filter'),
1739
- $filterTabs = this.elements.$blogFilterTabs.length,
1740
- pagination = $blogElement.data("pagination");
1741
-
1742
- this.settings.activeCategory = $activeCategory;
1743
- this.settings.filterTabs = $filterTabs;
1744
-
1745
-
1746
-
1747
- if (this.settings.filterTabs) {
1748
- this.filterTabs();
1749
- }
1750
-
1751
- if (!this.settings.filterTabs || "*" === this.settings.activeCategory) {
1752
- if ("masonry" === this.settings.layout && !this.settings.carousel) {
1753
- $blogElement.imagesLoaded(function () {
1754
- $blogElement.isotope(_this.getIsoTopeSettings());
1755
- });
1756
- }
1757
- } else {
1758
- //If `All` categories not exist, then we need to get posts through AJAX.
1759
- this.getPostsByAjax(false);
1760
- }
1761
-
1762
- if (this.settings.carousel) {
1763
- $blogElement.slick(this.getSlickSettings());
1764
-
1765
- $blogElement.removeClass("premium-carousel-hidden");
1766
- }
1767
-
1768
- if ("even" === this.settings.layout && this.settings.equalHeight) {
1769
- $blogElement.imagesLoaded(function () {
1770
- _this.forceEqualHeight();
1771
- });
1772
- }
1773
-
1774
- if (pagination) {
1775
- this.paginate();
1776
- }
1777
-
1778
- if (this.settings.infinite && $blogElement.is(":visible")) {
1779
- this.getInfiniteScrollPosts();
1780
- }
1781
-
1782
- },
1783
-
1784
- paginate: function () {
1785
- var _this = this,
1786
- $scope = this.$element,
1787
- selectors = this.getSettings('selectors');
1788
-
1789
- $scope.on('click', '.premium-blog-pagination-container .page-numbers', function (e) {
1790
-
1791
- e.preventDefault();
1792
-
1793
- if ($(this).hasClass("current")) return;
1794
-
1795
- var currentPage = parseInt($scope.find(selectors.currentPage).html());
1796
-
1797
- if ($(this).hasClass('next')) {
1798
- _this.settings.pageNumber = currentPage + 1;
1799
- } else if ($(this).hasClass('prev')) {
1800
- _this.settings.pageNumber = currentPage - 1;
1801
- } else {
1802
- _this.settings.pageNumber = $(this).html();
1803
- }
1804
-
1805
- _this.getPostsByAjax(_this.settings.scrollAfter);
1806
-
1807
- })
1808
- },
1809
-
1810
- forceEqualHeight: function () {
1811
- var heights = new Array(),
1812
- contentWrapper = this.getSettings('selectors').contentWrapper,
1813
- $blogWrapper = this.$element.find(contentWrapper);
1814
-
1815
- $blogWrapper.each(function (index, post) {
1816
-
1817
- var height = $(post).outerHeight();
1818
-
1819
- heights.push(height);
1820
- });
1821
-
1822
- var maxHeight = Math.max.apply(null, heights);
1823
-
1824
- $blogWrapper.css("height", maxHeight + "px");
1825
- },
1826
-
1827
- getSlickSettings: function () {
1828
-
1829
- var settings = this.settings,
1830
- slickCols = settings.grid ? this.getSlickCols() : null,
1831
- cols = settings.grid ? slickCols.cols : 1,
1832
- colsTablet = settings.grid ? slickCols.colsTablet : 1,
1833
- colsMobile = settings.grid ? slickCols.colsMobile : 1,
1834
- prevArrow = settings.arrows ? '<a type="button" data-role="none" class="carousel-arrow carousel-prev" aria-label="Previous" role="button" style=""><i class="fas fa-angle-left" aria-hidden="true"></i></a>' : '',
1835
- nextArrow = settings.arrows ? '<a type="button" data-role="none" class="carousel-arrow carousel-next" aria-label="Next" role="button" style=""><i class="fas fa-angle-right" aria-hidden="true"></i></a>' : '';
1836
-
1837
- return {
1838
- infinite: true,
1839
- slidesToShow: cols,
1840
- slidesToScroll: settings.slidesToScroll || cols,
1841
- responsive: [{
1842
- breakpoint: 1025,
1843
- settings: {
1844
- slidesToShow: colsTablet,
1845
- slidesToScroll: 1
1846
- }
1847
- },
1848
- {
1849
- breakpoint: 768,
1850
- settings: {
1851
- slidesToShow: colsMobile,
1852
- slidesToScroll: 1
1853
- }
1854
- }
1855
- ],
1856
- autoplay: settings.autoPlay,
1857
- rows: 0,
1858
- autoplaySpeed: settings.speed,
1859
- nextArrow: nextArrow,
1860
- prevArrow: prevArrow,
1861
- fade: settings.fade,
1862
- centerMode: settings.center,
1863
- centerPadding: settings.spacing + "px",
1864
- draggable: true,
1865
- dots: settings.dots,
1866
- customPaging: function () {
1867
- return '<i class="fas fa-circle"></i>';
1868
- }
1869
- }
1870
-
1871
- },
1872
-
1873
- getSlickCols: function () {
1874
- var slickCols = this.getElementSettings(),
1875
- cols = slickCols.premium_blog_columns_number,
1876
- colsTablet = slickCols.premium_blog_columns_number_tablet,
1877
- colsMobile = slickCols.premium_blog_columns_number_mobile;
1878
-
1879
- return {
1880
- cols: parseInt(100 / cols.substr(0, cols.indexOf('%'))),
1881
- colsTablet: parseInt(100 / colsTablet.substr(0, colsTablet.indexOf('%'))),
1882
- colsMobile: parseInt(100 / colsMobile.substr(0, colsMobile.indexOf('%'))),
1883
- }
1884
-
1885
- },
1886
-
1887
- getIsoTopeSettings: function () {
1888
- return {
1889
- itemSelector: ".premium-blog-post-outer-container",
1890
- percentPosition: true,
1891
- filter: this.settings.activeCategory,
1892
- animationOptions: {
1893
- duration: 750,
1894
- easing: "linear",
1895
- queue: false
1896
- }
1897
- }
1898
- },
1899
-
1900
- filterTabs: function () {
1901
-
1902
- var _this = this,
1903
- selectors = this.getSettings('selectors'),
1904
- $filterLinks = this.elements.$filterLinks;
1905
-
1906
- $filterLinks.click(function (e) {
1907
-
1908
- e.preventDefault();
1909
-
1910
- _this.$element.find(selectors.activeElememnt).removeClass("active");
1911
-
1912
- $(this).addClass("active");
1913
-
1914
- //Get clicked tab slug
1915
- _this.settings.activeCategory = $(this).attr("data-filter");
1916
-
1917
- _this.settings.pageNumber = 1;
1918
-
1919
- if (_this.settings.infinite) {
1920
- _this.getPostsByAjax(false);
1921
- _this.settings.count = 2;
1922
- _this.getInfiniteScrollPosts();
1923
- } else {
1924
- //Make sure to reset pagination before sending our AJAX request
1925
- _this.getPostsByAjax(_this.settings.scrollAfter);
1926
- }
1927
-
1928
- });
1929
- },
1930
-
1931
- getPostsByAjax: function (shouldScroll) {
1932
-
1933
- //If filter tabs is not enabled, then always set category to all.
1934
- if ('undefined' === typeof this.settings.activeCategory) {
1935
- this.settings.activeCategory = '*';
1936
- }
1937
-
1938
- var _this = this,
1939
- $blogElement = this.elements.$blogElement,
1940
- selectors = this.getSettings('selectors');
1941
-
1942
- $.ajax({
1943
- url: PremiumSettings.ajaxurl,
1944
- dataType: 'json',
1945
- type: 'POST',
1946
- data: {
1947
- action: 'pa_get_posts',
1948
- page_id: $blogElement.data('page'),
1949
- widget_id: _this.$element.data('id'),
1950
- page_number: _this.settings.pageNumber,
1951
- category: _this.settings.activeCategory,
1952
- nonce: PremiumSettings.nonce,
1953
- },
1954
- beforeSend: function () {
1955
-
1956
- $blogElement.append('<div class="premium-loading-feed"><div class="premium-loader"></div></div>');
1957
-
1958
- if (shouldScroll) {
1959
- $('html, body').animate({
1960
- scrollTop: (($blogElement.offset().top) - 50)
1961
- }, 'slow');
1962
- }
1963
-
1964
- },
1965
- success: function (res) {
1966
- if (!res.data)
1967
- return;
1968
-
1969
- $blogElement.find(selectors.loading).remove();
1970
-
1971
- var posts = res.data.posts,
1972
- paging = res.data.paging;
1973
-
1974
- if (_this.settings.infinite) {
1975
- _this.settings.isLoaded = true;
1976
- if (_this.settings.filterTabs && _this.settings.pageNumber === 1) {
1977
- $blogElement.html(posts);
1978
- } else {
1979
- $blogElement.append(posts);
1980
- }
1981
- } else {
1982
- //Render the new markup into the widget
1983
- $blogElement.html(posts);
1984
-
1985
- _this.$element.find(".premium-blog-footer").html(paging);
1986
- }
1987
-
1988
- _this.removeMetaSeparators();
1989
-
1990
- //Make sure grid option is enabled.
1991
- if (_this.settings.layout) {
1992
- if ("even" === _this.settings.layout) {
1993
- if (_this.settings.equalHeight)
1994
- _this.forceEqualHeight();
1995
-
1996
- } else {
1997
-
1998
- $blogElement.imagesLoaded(function () {
1999
-
2000
- $blogElement.isotope('reloadItems');
2001
- $blogElement.isotope({
2002
- itemSelector: ".premium-blog-post-outer-container",
2003
- animate: false
2004
- });
2005
- });
2006
- }
2007
- }
2008
-
2009
- },
2010
- error: function (err) {
2011
- console.log(err);
2012
- }
2013
-
2014
- });
2015
- },
2016
-
2017
- getInfiniteScrollPosts: function () {
2018
- var windowHeight = jQuery(window).outerHeight() / 1.25,
2019
- _this = this;
2020
-
2021
- $(window).scroll(function () {
2022
-
2023
- if (_this.settings.filterTabs) {
2024
- $blogPost = _this.elements.$blogElement.find(".premium-blog-post-outer-container");
2025
- _this.settings.total = $blogPost.data('total');
2026
- }
2027
-
2028
- if (_this.settings.count <= _this.settings.total) {
2029
- if (($(window).scrollTop() + windowHeight) >= (_this.$element.find('.premium-blog-post-outer-container:last').offset().top)) {
2030
- if (true == _this.settings.isLoaded) {
2031
- _this.settings.pageNumber = _this.settings.count;
2032
- _this.getPostsByAjax(false);
2033
- _this.settings.count++;
2034
- _this.settings.isLoaded = false;
2035
- }
2036
-
2037
- }
2038
- }
2039
- });
2040
- },
2041
-
2042
- });
2043
-
2044
- /****** Premium Image Scroll Handler ******/
2045
- var PremiumImageScrollHandler = function ($scope, $) {
2046
- var scrollElement = $scope.find(".premium-image-scroll-container"),
2047
- scrollOverlay = scrollElement.find(".premium-image-scroll-overlay"),
2048
- scrollVertical = scrollElement.find(".premium-image-scroll-vertical"),
2049
- dataElement = scrollElement.data("settings"),
2050
- imageScroll = scrollElement.find("img"),
2051
- direction = dataElement["direction"],
2052
- reverse = dataElement["reverse"],
2053
- transformOffset = null;
2054
-
2055
- function startTransform() {
2056
- imageScroll.css("transform", (direction === "vertical" ? "translateY" : "translateX") + "( -" +
2057
- transformOffset + "px)");
2058
- }
2059
-
2060
- function endTransform() {
2061
- imageScroll.css("transform", (direction === "vertical" ? "translateY" : "translateX") + "(0px)");
2062
- }
2063
-
2064
- function setTransform() {
2065
- if (direction === "vertical") {
2066
- transformOffset = imageScroll.height() - scrollElement.height();
2067
- } else {
2068
- transformOffset = imageScroll.width() - scrollElement.width();
2069
- }
2070
- }
2071
- if (dataElement["trigger"] === "scroll") {
2072
- scrollElement.addClass("premium-container-scroll");
2073
- if (direction === "vertical") {
2074
- scrollVertical.addClass("premium-image-scroll-ver");
2075
- } else {
2076
- scrollElement.imagesLoaded(function () {
2077
- scrollOverlay.css({
2078
- width: imageScroll.width(),
2079
- height: imageScroll.height()
2080
- });
2081
- });
2082
- }
2083
- } else {
2084
- if (reverse === "yes") {
2085
- scrollElement.imagesLoaded(function () {
2086
- scrollElement.addClass("premium-container-scroll-instant");
2087
- setTransform();
2088
- startTransform();
2089
- });
2090
- }
2091
- if (direction === "vertical") {
2092
- scrollVertical.removeClass("premium-image-scroll-ver");
2093
- }
2094
- scrollElement.mouseenter(function () {
2095
- scrollElement.removeClass("premium-container-scroll-instant");
2096
- setTransform();
2097
- reverse === "yes" ? endTransform() : startTransform();
2098
- });
2099
- scrollElement.mouseleave(function () {
2100
- reverse === "yes" ? startTransform() : endTransform();
2101
- });
2102
- }
2103
- };
2104
-
2105
-
2106
- /****** Premium Contact Form 7 Handler ******/
2107
- var PremiumContactFormHandler = function ($scope, $) {
2108
-
2109
- var $contactForm = $scope.find(".premium-cf7-container");
2110
- var $input = $contactForm.find(
2111
- 'input[type="text"], input[type="email"], textarea, input[type="password"], input[type="date"], input[type="number"], input[type="tel"], input[type="file"], input[type="url"]'
2112
- );
2113
-
2114
- $input.wrap("<span class='wpcf7-span'>");
2115
-
2116
- $input.on("focus blur", function () {
2117
- $(this).closest(".wpcf7-span").toggleClass("is-focused");
2118
- });
2119
- };
2120
-
2121
- /****** Premium Team Members Handler ******/
2122
- var PremiumTeamMembersHandler = ModuleHandler.extend({
2123
-
2124
- getDefaultSettings: function () {
2125
-
2126
- return {
2127
- slick: {
2128
- infinite: true,
2129
- rows: 0,
2130
- prevArrow: '<a type="button" data-role="none" class="carousel-arrow carousel-prev" aria-label="Next" role="button" style=""><i class="fas fa-angle-left" aria-hidden="true"></i></a>',
2131
- nextArrow: '<a type="button" data-role="none" class="carousel-arrow carousel-next" aria-label="Next" role="button" style=""><i class="fas fa-angle-right" aria-hidden="true"></i></a>',
2132
- draggable: true,
2133
- pauseOnHover: true,
2134
- },
2135
- selectors: {
2136
- multiplePersons: '.multiple-persons',
2137
- person: '.premium-person-container',
2138
- personCarousel: '.premium-person-container.slick-active',
2139
- personImg: '.premium-person-image-container img',
2140
-
2141
- }
2142
- }
2143
- },
2144
-
2145
- getDefaultElements: function () {
2146
-
2147
- var selectors = this.getSettings('selectors');
2148
-
2149
- return {
2150
- $multiplePersons: this.$element.find(selectors.multiplePersons),
2151
- $persons: this.$element.find(selectors.person),
2152
- $personImg: this.$element.find(selectors.personImg),
2153
- }
2154
-
2155
- },
2156
- bindEvents: function () {
2157
- this.run();
2158
- },
2159
- getSlickSettings: function () {
2160
-
2161
- var settings = this.getElementSettings(),
2162
- rtl = this.elements.$multiplePersons.data("rtl"),
2163
- colsNumber = settings.persons_per_row,
2164
- colsTablet = settings.persons_per_row_tablet,
2165
- colsMobile = settings.persons_per_row_mobile;
2166
-
2167
- return Object.assign(this.getSettings('slick'), {
2168
-
2169
- slidesToShow: parseInt(100 / colsNumber.substr(0, colsNumber.indexOf('%'))),
2170
- slidesToScroll: parseInt(100 / colsNumber.substr(0, colsNumber.indexOf('%'))),
2171
- responsive: [{
2172
- breakpoint: 1025,
2173
- settings: {
2174
- slidesToShow: parseInt(100 / colsTablet.substr(0, colsTablet.indexOf('%'))),
2175
- slidesToScroll: 1
2176
- }
2177
- },
2178
- {
2179
- breakpoint: 768,
2180
- settings: {
2181
- slidesToShow: parseInt(100 / colsMobile.substr(0, colsMobile.indexOf('%'))),
2182
- slidesToScroll: 1
2183
- }
2184
- }
2185
- ],
2186
- autoplay: settings.carousel_play,
2187
- rtl: rtl ? true : false,
2188
- autoplaySpeed: settings.speed || 5000,
2189
-
2190
- });
2191
-
2192
-
2193
- },
2194
-
2195
- runEqualHeight: function () {
2196
-
2197
- var $persons = this.elements.$persons,
2198
- $personImg = this.elements.$personImg;
2199
-
2200
- var selectors = this.getSettings('selectors'),
2201
- carousel = this.getElementSettings('carousel'),
2202
- heights = new Array();
2203
-
2204
- if (carousel) {
2205
- $persons = this.$element.find(selectors.personCarousel);
2206
- }
2207
-
2208
- $persons.each(function (index, person) {
2209
- $(person).imagesLoaded(function () { }).done(function () {
2210
-
2211
- var imageHeight = $(person).find(selectors.personImg).outerHeight();
2212
-
2213
- heights.push(imageHeight);
2214
- });
2215
- });
2216
-
2217
- $persons.imagesLoaded(function () { }).done(function () {
2218
- var maxHeight = Math.max.apply(null, heights);
2219
- $personImg.css("height", maxHeight + "px");
2220
- });
2221
-
2222
- },
2223
-
2224
- run: function () {
2225
-
2226
- var $multiplePersons = this.elements.$multiplePersons,
2227
- _this = this;
2228
-
2229
- if (!$multiplePersons.length) return;
2230
-
2231
- if ("yes" === $multiplePersons.data("persons-equal")) {
2232
- this.runEqualHeight();
2233
- }
2234
-
2235
- var carousel = this.getElementSettings('carousel');
2236
-
2237
- if (carousel)
2238
- $multiplePersons.slick(this.getSlickSettings());
2239
-
2240
- }
2241
-
2242
- });
2243
-
2244
- /****** Premium Title Handler ******/
2245
- var PremiumTitleHandler = function ($scope, $) {
2246
-
2247
- var $titleContainer = $scope.find(".premium-title-container"),
2248
- $titleElement = $titleContainer.find('.premium-title-text');
2249
-
2250
- if ($titleContainer.hasClass('style9')) {
2251
- var $style9 = $scope.find(".premium-title-style9");
2252
-
2253
- $style9.each(function () {
2254
- var elm = $(this);
2255
- var holdTime = elm.attr('data-blur-delay') * 1000;
2256
- elm.attr('data-animation-blur', 'process')
2257
- elm.find('.premium-title-style9-letter').each(function (index, letter) {
2258
- index += 1;
2259
- var animateDelay;
2260
- if ($('body').hasClass('rtl')) {
2261
- animateDelay = 0.2 / index + 's';
2262
- } else {
2263
- animateDelay = index / 20 + 's';
2264
- }
2265
- $(letter).css({
2266
- '-webkit-animation-delay': animateDelay,
2267
- 'animation-delay': animateDelay
2268
- });
2269
- })
2270
- setInterval(function () {
2271
- elm.attr('data-animation-blur', 'done')
2272
- setTimeout(function () {
2273
- elm.attr('data-animation-blur', 'process')
2274
- }, 150);
2275
- }, holdTime);
2276
- });
2277
- }
2278
-
2279
-
2280
- if ($titleContainer.hasClass('style8')) {
2281
-
2282
- var holdTime = $titleElement.attr('data-shiny-delay') * 1000,
2283
- duration = $titleElement.attr('data-shiny-dur') * 1000;
2284
-
2285
- function shinyEffect() {
2286
- $titleElement.get(0).setAttribute('data-animation', 'shiny');
2287
- setTimeout(function () {
2288
- $titleElement.removeAttr('data-animation')
2289
- }, duration);
2290
- }
2291
-
2292
- (function repeat() {
2293
- shinyEffect();
2294
- setTimeout(repeat, holdTime);
2295
- })();
2296
- }
2297
-
2298
- };
2299
-
2300
- /****** Premium Bullet List Handler ******/
2301
- var PremiumBulletListHandler = function ($scope, $) {
2302
-
2303
- var $listItems = $scope.find(".premium-bullet-list-box"),
2304
- items = $listItems.find(".premium-bullet-list-content");
2305
-
2306
- items.each(function (index, item) {
2307
-
2308
- if ($listItems.data("list-animation") && " " != $listItems.data("list-animation")) {
2309
- elementorFrontend.waypoint($(item), function () {
2310
-
2311
- var element = $(item),
2312
- delay = element.data('delay');
2313
-
2314
- setTimeout(function () {
2315
- element.next('.premium-bullet-list-divider , .premium-bullet-list-divider-inline').css("opacity", "1");
2316
- element.next('.premium-bullet-list-divider-inline , .premium-bullet-list-divider').addClass("animated " + $listItems.data("list-animation"));
2317
-
2318
- element.css("opacity", "1").addClass("animated " + $listItems.data("list-animation"));
2319
- }, delay);
2320
-
2321
- });
2322
- }
2323
-
2324
- });
2325
- };
2326
-
2327
- /****** Premium Grow Effect Handler ******/
2328
- var PremiumButtonHandler = function ($scope, $) {
2329
-
2330
- var $btnGrow = $scope.find('.premium-button-style6-bg');
2331
-
2332
- if ($btnGrow.length !== 0 && $scope.hasClass('premium-mouse-detect-yes')) {
2333
- $scope.on('mouseenter mouseleave', '.premium-button-style6', function (e) {
2334
-
2335
- var parentOffset = $(this).offset(),
2336
- left = e.pageX - parentOffset.left,
2337
- top = e.pageY - parentOffset.top;
2338
-
2339
- $btnGrow.css({
2340
- top: top,
2341
- left: left,
2342
- });
2343
-
2344
- });
2345
- }
2346
-
2347
- };
2348
-
2349
- var PremiumMaskHandler = function ($scope, $) {
2350
- var mask = $scope.hasClass('premium-mask-yes');
2351
-
2352
- if (!mask) return;
2353
-
2354
- if ('premium-addon-title.default' === $scope.data('widget_type')) {
2355
- var target = '.premium-title-header';
2356
- $scope.find(target).find('.premium-title-icon, .premium-title-img').addClass('premium-mask-span');
2357
- } else {
2358
- var target = '.premium-dual-header-first-header';
2359
- }
2360
-
2361
- $scope.find(target).find('span:not(.premium-title-style7-stripe-wrap):not(.premium-title-img)').each(function (index, span) {
2362
- var html = '';
2363
-
2364
- $(this).text().split(' ').forEach(function (item) {
2365
- if ('' !== item) {
2366
- html += ' <span class="premium-mask-span">' + item + '</span>';
2367
- }
2368
- });
2369
-
2370
- $(this).text('').append(html);
2371
- });
2372
-
2373
- elementorFrontend.waypoint($scope, function () {
2374
- $($scope).addClass('premium-mask-active');
2375
- });
2376
- };
2377
-
2378
- /**Premium Nav Menu */
2379
- var PremiumNavMenuHandler = function ($scope, $) {
2380
-
2381
- // we don't need to wait for content dom load since the script is loaded in the footer.
2382
- $scope.find('.premium-nav-widget-container').removeClass('elementor-invisible');
2383
-
2384
- var settings = $scope.find('.premium-nav-widget-container').data('settings');
2385
-
2386
- if (!settings) {
2387
- return;
2388
- }
2389
-
2390
- var $menuContainer = $scope.find('.premium-mobile-menu'),
2391
- $menuToggler = $scope.find('.premium-hamburger-toggle'),
2392
- $hamMenuCloser = $scope.find('.premium-mobile-menu-close'),
2393
- $centeredItems = $scope.find('.premium-mega-content-centered'),
2394
- $fullWidthItems = $scope.find('.premium-nav-menu-container li[data-full-width="true"]'),
2395
- stickyProps = {},
2396
- refreshPos = false,
2397
- stickyIndex = 'stickyPos' + $scope.data('id'),
2398
- stickyWidthIndex = 'stickyWidth' + $scope.data('id');
2399
-
2400
- /**
2401
- * Save current device to use it later to determine if the device changed on resize.
2402
- */
2403
- window.PaCurrStickyDevice = elementorFrontend.getCurrentDeviceMode();
2404
-
2405
- $centeredItems.each(function (index, item) {
2406
- $(item).closest(".premium-nav-menu-item").addClass("premium-mega-item-static");
2407
- });
2408
-
2409
- if ('slide' === settings.mobileLayout || 'slide' === settings.mainLayout) {
2410
- $scope.addClass('premium-ver-hamburger-menu');
2411
- }
2412
-
2413
- var isMobileMenu = isDesktopMenu = null;
2414
- checkBreakPoint(settings);
2415
-
2416
- if ($scope.hasClass('premium-nav-hor')) {
2417
- checkMegaContentWidth();
2418
- }
2419
-
2420
- checkStickyEffect();
2421
-
2422
- // Set menu items to full width.
2423
- function checkMegaContentWidth() {
2424
- $fullWidthItems.each(function (index, item) {
2425
- fullWidthContent($(item));
2426
- });
2427
- }
2428
-
2429
- $hamMenuCloser.on('click', function () {
2430
- $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').removeClass('premium-vertical-toggle-open');
2431
- });
2432
-
2433
- $menuToggler.on('click', function () {
2434
- if ('slide' === settings.mobileLayout || 'slide' === settings.mainLayout) {
2435
- $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').addClass('premium-vertical-toggle-open');
2436
- } else {
2437
- // $menuContainer.toggleClass('premium-active-menu');
2438
- if ($($menuContainer).hasClass('premium-active-menu')) {
2439
- $scope.find('.premium-mobile-menu-container').slideUp('slow', function () {
2440
- $menuContainer.removeClass('premium-active-menu');
2441
- $scope.find('.premium-mobile-menu-container').show();
2442
- });
2443
- } else {
2444
-
2445
- $menuContainer.addClass('premium-active-menu');
2446
- }
2447
- }
2448
-
2449
- $menuToggler.toggleClass('premium-toggle-opened'); // show/hide close icon/text.
2450
- });
2451
-
2452
- $menuContainer.find('.premium-nav-menu-item.menu-item-has-children a, .premium-mega-nav-item a').on('click', function (e) {
2453
-
2454
- if ($(this).find(".premium-dropdown-icon").length < 1)
2455
- return;
2456
-
2457
- var $parent = $(this).parent(".premium-nav-menu-item");
2458
-
2459
- e.stopPropagation();
2460
- e.preventDefault();
2461
-
2462
- //If it was opened, then close it.
2463
- if ($parent.hasClass('premium-active-menu')) {
2464
- $parent.toggleClass('premium-active-menu');
2465
-
2466
- } else {
2467
- //Close any other opened items.
2468
- $menuContainer.find('.premium-active-menu').toggleClass('premium-active-menu');
2469
- //Then, open this item.
2470
- $parent.toggleClass('premium-active-menu');
2471
- // make sure the parent node is always open whenever the child node is opened.
2472
- $($parent).parents('.premium-nav-menu-item.menu-item-has-children').toggleClass('premium-active-menu');
2473
- }
2474
- });
2475
-
2476
- $(document).on('click', '.premium-nav-slide-overlay', function () {
2477
- $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').removeClass('premium-vertical-toggle-open');
2478
- });
2479
-
2480
- $(document).on('click.PaCloseMegaMenu', function (event) {
2481
- var isTabsItem = $(event.target).closest('.premium-tabs-nav-list-item').length,
2482
- isWidgetContainer = $(event.target).closest('.premium-nav-widget-container').length;
2483
-
2484
- if (!isWidgetContainer && !isTabsItem) {
2485
- if ($($menuContainer).hasClass('premium-active-menu')) {
2486
- $menuToggler.click();
2487
- }
2488
- }
2489
- });
2490
-
2491
- $(window).on('resize', function () {
2492
-
2493
- if (window.PaCurrStickyDevice !== elementorFrontend.getCurrentDeviceMode()) {
2494
- refreshPos = true;
2495
- window.PaCurrStickyDevice = elementorFrontend.getCurrentDeviceMode();
2496
- }
2497
-
2498
- checkBreakPoint(settings);
2499
-
2500
- if ($scope.hasClass('premium-nav-hor')) {
2501
- checkMegaContentWidth();
2502
- }
2503
-
2504
- checkStickyEffect();
2505
- });
2506
-
2507
- // vertical toggler.
2508
- if ($scope.hasClass('premium-ver-toggle-yes') && $scope.hasClass('premium-ver-click')) {
2509
- $scope.find('.premium-ver-toggler').on('click', function () {
2510
- $scope.find('.premium-nav-widget-container').toggleClass('premium-ver-collapsed', 500);
2511
- });
2512
- }
2513
-
2514
- /**
2515
- * Full Width Mega Content.
2516
- */
2517
- function fullWidthContent($item) {
2518
-
2519
- var $parentSec = $scope.closest('.elementor-top-section, .e-container--row'),
2520
- width = $parentSec.outerWidth(),
2521
- sectionLeft = $parentSec.offset().left - $item.offset().left;
2522
-
2523
- $($item).removeClass('premium-mega-item-static').find('.premium-mega-content-container, > .premium-sub-menu').css({
2524
- width: width + 'px',
2525
- left: sectionLeft + 'px',
2526
- });
2527
- }
2528
-
2529
- function checkBreakPoint(settings) {
2530
-
2531
- //Trigger small screen menu.
2532
- if (settings.breakpoint >= $(window).width() && !isMobileMenu) {
2533
- // remove the vertical toggler.
2534
- $scope.find('.premium-ver-toggler').css('display', 'none');
2535
- $scope.addClass('premium-hamburger-menu');
2536
- $scope.find('.premium-active-menu').removeClass('premium-active-menu');
2537
- stretchDropdown($scope.find('.premium-stretch-dropdown .premium-mobile-menu-container'));
2538
-
2539
- isMobileMenu = true;
2540
- isDesktopMenu = false;
2541
-
2542
- //Trigger large screen menu.
2543
- } else if (settings.breakpoint < $(window).width() && !isDesktopMenu) {
2544
-
2545
- // show the vertical toggler if enabled.
2546
- if ($scope.hasClass('premium-ver-toggle-yes')) {
2547
- $scope.find('.premium-ver-toggler').css('display', 'flex');
2548
- }
2549
-
2550
- $menuToggler.removeClass('premium-toggle-opened');
2551
- $scope.find(".premium-mobile-menu-container .premium-active-menu").removeClass("premium-active-menu");
2552
- $scope.removeClass('premium-hamburger-menu premium-ham-dropdown');
2553
- $scope.find('.premium-vertical-toggle-open').removeClass('premium-vertical-toggle-open');
2554
- $scope.find('.premium-nav-default').removeClass('premium-nav-default');
2555
-
2556
- isDesktopMenu = true;
2557
- isMobileMenu = false;
2558
- }
2559
-
2560
- }
2561
-
2562
- /**
2563
- * Full Width Option.
2564
- * Shows the mobile menu beneath the widget's parent(section).
2565
- */
2566
- function stretchDropdown($menu) {
2567
-
2568
- var $parentSec = $($scope).closest('.elementor-top-section, .e-container--row'),
2569
- width = $($parentSec).outerWidth(),
2570
- widgetTop = $scope.offset().top,
2571
- parentBottom = $($parentSec).offset().top + $($parentSec).outerHeight(),
2572
- stretchTop = parentBottom - widgetTop,
2573
- stretchLeft = $scope.offset().left - $($parentSec).offset().left;
2574
-
2575
- $($menu).css({
2576
- width: width + 'px',
2577
- left: '-' + stretchLeft + 'px',
2578
- top: stretchTop + 'px',
2579
- });
2580
- }
2581
-
2582
- /**
2583
- * Sticky Effect.
2584
- */
2585
-
2586
- function checkStickyEffect() {
2587
-
2588
- var isSticky = $scope.hasClass('premium-nav-sticky-yes') &&
2589
- // settings.stickyOptions &&
2590
- $('#' + settings.stickyOptions.targetId).length &&
2591
- !settings.stickyOptions.disableOn.includes(elementorFrontend.getCurrentDeviceMode());
2592
-
2593
- if (isSticky) {
2594
- stickyProps = settings.stickyOptions;
2595
-
2596
- stickyProps.spacerClass = 'premium-sticky-spacer-' + $('#' + stickyProps.targetId).data('id');
2597
-
2598
- $('#' + stickyProps.targetId).addClass('premium-sticky-active');
2599
-
2600
- setStickyWidth(stickyProps);
2601
-
2602
- // Add spacer to save the sticky target space in the dom.
2603
- if (0 === $('.' + stickyProps.spacerClass).length) {
2604
- $('<div class="' + stickyProps.spacerClass + '"></div>').insertBefore('#' + stickyProps.targetId);
2605
- }
2606
-
2607
- $(window).on('load', applyStickyEffect);
2608
- $(window).on('scroll.PaStickyNav', applyStickyEffect);
2609
-
2610
- } else {
2611
- $(window).off('scroll.PaStickyNav');
2612
-
2613
- $('<div class="' + stickyProps.spacerClass + '"></div>').remove(); // remove spacer
2614
- $('#' + stickyProps.targetId).removeClass('premium-sticky-parent premium-sticky-active premium-sticky-parent-' + $scope.data('id')).css({ // unset style
2615
- top: 'unset',
2616
- width: 'inherit',
2617
- position: 'relative'
2618
- });
2619
- }
2620
- }
2621
-
2622
- /**
2623
- * we need to get the original width before setting
2624
- * the position to fixed.
2625
- */
2626
- function setStickyWidth(stickyProps) {
2627
- // TODO: check if we can use the spacer's width directly instead.
2628
- var currStickyWidth = stickyWidthIndex + elementorFrontend.getCurrentDeviceMode(),
2629
- isSticky = $('#' + stickyProps.targetId).hasClass('premium-sticky-parent'); // ==> fixed position
2630
-
2631
- if (isSticky) {
2632
- $('#' + stickyProps.targetId).css({
2633
- position: 'relative',
2634
- width: 'inherit'
2635
- });
2636
- }
2637
-
2638
- window[currStickyWidth] = $('#' + stickyProps.targetId).outerWidth() + 'px';
2639
-
2640
- if (isSticky) {
2641
-
2642
- $('#' + stickyProps.targetId).css({
2643
- position: 'fixed',
2644
- width: window[currStickyWidth]
2645
- });
2646
- }
2647
- }
2648
-
2649
- function applyStickyEffect() {
2650
-
2651
- var $adminBarHeight = elementorFrontend.elements.$wpAdminBar.height() ? elementorFrontend.elements.$wpAdminBar.height() : 0,
2652
- scrollTop = $(window).scrollTop() + $adminBarHeight,
2653
- currStickyWidth = stickyWidthIndex + elementorFrontend.getCurrentDeviceMode();
2654
-
2655
- if (!window[stickyIndex] || refreshPos) { // save the offset
2656
- window[stickyIndex] = $('.' + stickyProps.spacerClass).offset().top;
2657
- refreshPos = false;
2658
- }
2659
-
2660
- if (scrollTop >= window[stickyIndex]) {
2661
-
2662
- $('.' + stickyProps.spacerClass).css('height', $('#' + stickyProps.targetId).outerHeight() + 'px');
2663
- $('#' + stickyProps.targetId).addClass('premium-sticky-parent premium-sticky-parent-' + $scope.data('id')).css({
2664
- width: window[currStickyWidth],
2665
- top: $adminBarHeight,
2666
- position: 'fixed'
2667
- });
2668
-
2669
- } else {
2670
- $('.' + stickyProps.spacerClass).css('height', '0px');
2671
- $('#' + stickyProps.targetId).removeClass('premium-sticky-parent premium-sticky-parent-' + $scope.data('id')).css({
2672
- top: 'unset',
2673
- width: 'inherit',
2674
- position: 'relative'
2675
- });
2676
- }
2677
-
2678
- // sticky on scroll option.
2679
- if (stickyProps.onScroll) {
2680
- var $element = document.querySelector('#' + stickyProps.targetId + '.premium-sticky-parent');
2681
-
2682
- if ($element) {
2683
- $('#' + stickyProps.targetId + '.premium-sticky-parent').addClass('premium-sticky-scroll-yes');
2684
- var headroom = new Headroom($element,
2685
- {
2686
- tolerance: 5,
2687
- classes: {
2688
- initial: "animated",
2689
- pinned: "slideDown",
2690
- unpinned: "slideUp",
2691
- offset: {
2692
- up: $('#' + stickyProps.targetId).outerHeight() + 150, // first time only.
2693
- },
2694
- }
2695
- });
2696
-
2697
- headroom.init();
2698
- }
2699
- } else {
2700
- $('#' + stickyProps.targetId + '.premium-sticky-parent').removeClass('premium-sticky-scroll-yes');
2701
- }
2702
- }
2703
- };
2704
-
2705
- var PremiumSVGDrawerHandler = ModuleHandler.extend({
2706
-
2707
- bindEvents: function () {
2708
- this.run();
2709
- },
2710
-
2711
- run: function () {
2712
-
2713
- var $scope = this.$element;
2714
-
2715
- $scope.find(".elementor-invisible").removeClass("elementor-invisible");
2716
-
2717
- //remove title HTML tag
2718
- $scope.find("title").remove();
2719
-
2720
- if (!$scope.hasClass("premium-svg-animated-yes"))
2721
- return;
2722
-
2723
- var elemID = $scope.data("id"),
2724
- settings = this.getElementSettings(),
2725
- scrollAction = settings.scroll_action,
2726
- scrollTrigger = null;
2727
-
2728
-
2729
- if ('automatic' === scrollAction) {
2730
-
2731
- scrollTrigger = 'custom' !== settings.animate_trigger ? settings.animate_trigger : settings.animate_offset.size + "%";
2732
-
2733
- var animRev = settings.anim_rev ? 'pause play reverse' : 'none',
2734
- timeLine = new TimelineMax({
2735
- repeat: settings.loop ? -1 : 0,
2736
- yoyo: settings.yoyo ? true : false,
2737
- scrollTrigger: {
2738
- trigger: '.elementor-element-' + elemID,
2739
- toggleActions: "play " + animRev,
2740
- start: "top " + scrollTrigger, //when the top of the element hits that offset of the viewport.
2741
- }
2742
- });
2743
-
2744
-
2745
- } else {
2746
-
2747
- var timeLine = new TimelineMax({
2748
- repeat: ('hover' === scrollAction && settings.loop) ? -1 : 0,
2749
- yoyo: ('hover' === scrollAction && settings.yoyo) ? true : false,
2750
- });
2751
-
2752
- if ('viewport' === scrollAction)
2753
- scrollTrigger = settings.animate_offset.size / 100;
2754
- }
2755
-
2756
- var fromOrTo = !$scope.hasClass("premium-svg-anim-rev-yes") ? 'from' : 'to',
2757
- $paths = $scope.find("path, circle, rect, square, ellipse, polyline, line"),
2758
- lastPathIndex = 0,
2759
- startOrEndPoint = 'from' === fromOrTo ? settings.animate_start_point.size : settings.animate_end_point.size;
2760
-
2761
- $paths.each(function (pathIndex, path) {
2762
-
2763
- var $path = $(path);
2764
-
2765
- $path.attr("fill", "transparent");
2766
-
2767
- if ($scope.hasClass("premium-svg-sync-yes"))
2768
- pathIndex = 0;
2769
-
2770
- lastPathIndex = pathIndex;
2771
-
2772
- timeLine[fromOrTo]($path, 1, {
2773
- PaSvgDrawer: (startOrEndPoint || 0) + "% 0",
2774
- }, pathIndex);
2775
-
2776
- });
2777
-
2778
- if ('yes' === settings.svg_fill) {
2779
- if (lastPathIndex == 0)
2780
- lastPathIndex = 1;
2781
-
2782
- timeLine.to($paths, 1, {
2783
- fill: settings.svg_color,
2784
- stroke: settings.svg_stroke
2785
- }, lastPathIndex);
2786
- }
2787
-
2788
- if ('viewport' === scrollAction) {
2789
-
2790
- var controller = new ScrollMagic.Controller(),
2791
- scene = new ScrollMagic.Scene({
2792
- triggerElement: '.elementor-element-' + elemID,
2793
- triggerHook: scrollTrigger,
2794
- duration: settings.draw_speed ? settings.draw_speed.size * 1000 : "150%"
2795
- })
2796
-
2797
- scene.setTween(timeLine).addTo(controller);
2798
-
2799
- } else {
2800
-
2801
- if (settings.frames)
2802
- timeLine.duration(settings.frames);
2803
-
2804
- if ('hover' === scrollAction) {
2805
- timeLine.pause();
2806
-
2807
- $scope.find("svg").hover(
2808
- function () {
2809
- timeLine.play();
2810
- },
2811
- function () {
2812
- timeLine.pause();
2813
- });
2814
- }
2815
-
2816
- }
2817
-
2818
- }
2819
-
2820
-
2821
- });
2822
-
2823
- var functionalHandlers = {
2824
- 'premium-addon-dual-header.default': PremiumMaskHandler,
2825
- 'premium-addon-video-box.default': PremiumVideoBoxWidgetHandler,
2826
- 'premium-addon-fancy-text.default': PremiumFancyTextHandler,
2827
- 'premium-counter.default': PremiumCounterHandler,
2828
- 'premium-addon-title.default': [PremiumTitleHandler, PremiumMaskHandler],
2829
- 'premium-countdown-timer.default': PremiumCountDownHandler,
2830
- 'premium-carousel-widget.default': PremiumCarouselHandler,
2831
- 'premium-addon-modal-box.default': PremiumModalBoxHandler,
2832
- 'premium-image-scroll.default': PremiumImageScrollHandler,
2833
- 'premium-contact-form.default': PremiumContactFormHandler,
2834
- 'premium-icon-list.default': PremiumBulletListHandler,
2835
- 'premium-addon-button.default': PremiumButtonHandler,
2836
- 'premium-addon-image-button.default': PremiumButtonHandler,
2837
- 'premium-nav-menu.default': PremiumNavMenuHandler
2838
- };
2839
-
2840
- var classHandlers = {
2841
- 'premium-addon-person': PremiumTeamMembersHandler,
2842
- 'premium-addon-blog': PremiumBlogHandler,
2843
- 'premium-img-gallery': PremiumGridWidgetHandler,
2844
- 'premium-addon-banner': PremiumBannerHandler,
2845
- 'premium-svg-drawer': PremiumSVGDrawerHandler
2846
- };
2847
-
2848
- $.each(functionalHandlers, function (elemName, func) {
2849
- if ('object' === typeof func) {
2850
- $.each(func, function (index, handler) {
2851
- elementorFrontend.hooks.addAction('frontend/element_ready/' + elemName, handler);
2852
- })
2853
- } else {
2854
- elementorFrontend.hooks.addAction('frontend/element_ready/' + elemName, func);
2855
- }
2856
-
2857
- });
2858
-
2859
- $.each(classHandlers, function (elemName, clas) {
2860
- elementorFrontend.elementsHandler.attachHandler(elemName, clas);
2861
- });
2862
-
2863
-
2864
- if (elementorFrontend.isEditMode()) {
2865
- elementorFrontend.hooks.addAction("frontend/element_ready/premium-addon-progressbar.default", PremiumProgressBarWidgetHandler);
2866
- } else {
2867
- elementorFrontend.hooks.addAction("frontend/element_ready/premium-addon-progressbar.default", PremiumProgressBarScrollWidgetHandler);
2868
- }
2869
- });
2870
  })(jQuery);
1
+ (function ($) {
2
+
3
+ $(window).on('elementor/frontend/init', function () {
4
+
5
+ var ModuleHandler = elementorModules.frontend.handlers.Base;
6
+
7
+ /****** Premium Progress Bar Handler ******/
8
+ var PremiumProgressBarWidgetHandler = function ($scope, trigger) {
9
+
10
+ var $progressbarElem = $scope.find(".premium-progressbar-container"),
11
+ settings = $progressbarElem.data("settings"),
12
+ length = settings.progress_length,
13
+ speed = settings.speed,
14
+ type = settings.type;
15
+
16
+
17
+ if ("line" === type) {
18
+
19
+ var $progressbar = $progressbarElem.find(".premium-progressbar-bar");
20
+
21
+ if (settings.gradient)
22
+ $progressbar.css("background", "linear-gradient(-45deg, " + settings.gradient + ")");
23
+
24
+ $progressbar.animate({
25
+ width: length + "%"
26
+ }, speed);
27
+
28
+ } else if ("circle" === type || "half-circle" === type) {
29
+ if (length > 100)
30
+ length = 100;
31
+
32
+ var degreesFactor = 1.8 * (elementorFrontend.config.is_rtl ? -1 : 1);
33
+
34
+ $progressbarElem.find(".premium-progressbar-hf-circle-progress").css({
35
+ transform: "rotate(" + length * degreesFactor + "deg)",
36
+ });
37
+
38
+ $progressbarElem.prop({
39
+ 'counter': 0
40
+ }).animate({
41
+ counter: length
42
+ }, {
43
+ duration: speed,
44
+ easing: 'linear',
45
+ step: function (counter) {
46
+ var rotate = (counter * 3.6);
47
+
48
+ $progressbarElem.find(".premium-progressbar-right-label").text(Math.ceil(counter) + "%");
49
+
50
+ $progressbarElem.find(".premium-progressbar-circle-left").css('transform', "rotate(" + rotate + "deg)");
51
+
52
+
53
+ if ('circle' === type && rotate > 180) {
54
+
55
+ $progressbarElem.find(".premium-progressbar-circle").css({
56
+ '-webkit-clip-path': 'inset(0)',
57
+ 'clip-path': 'inset(0)',
58
+ });
59
+
60
+ $progressbarElem.find(".premium-progressbar-circle-right").css('visibility', 'visible');
61
+ }
62
+ }
63
+ });
64
+
65
+ } else {
66
+
67
+ var $progressbar = $progressbarElem.find(".premium-progressbar-bar-wrap"),
68
+ width = $progressbarElem.outerWidth(),
69
+ dotSize = settings.dot || 25,
70
+ dotSpacing = settings.spacing || 10,
71
+ numberOfCircles = Math.ceil(width / (dotSize + dotSpacing)),
72
+ circlesToFill = numberOfCircles * (length / 100),
73
+ numberOfTotalFill = Math.floor(circlesToFill),
74
+ fillPercent = 100 * (circlesToFill - numberOfTotalFill);
75
+
76
+ $progressbar.attr('data-circles', numberOfCircles);
77
+ $progressbar.attr('data-total-fill', numberOfTotalFill);
78
+ $progressbar.attr('data-partial-fill', fillPercent);
79
+
80
+ var className = "progress-segment";
81
+ for (var i = 0; i < numberOfCircles; i++) {
82
+ className = "progress-segment";
83
+ var innerHTML = '';
84
+
85
+ if (i < numberOfTotalFill) {
86
+ innerHTML = "<div class='segment-inner'></div>";
87
+ } else if (i === numberOfTotalFill) {
88
+
89
+ innerHTML = "<div class='segment-inner'></div>";
90
+ }
91
+
92
+ $progressbar.append("<div class='" + className + "'>" + innerHTML + "</div>");
93
+
94
+ }
95
+
96
+ if ("frontend" !== trigger) {
97
+ PremiumProgressDotsHandler($scope);
98
+ }
99
+
100
+ }
101
+
102
+ };
103
+
104
+ var PremiumProgressDotsHandler = function ($scope) {
105
+
106
+ var $progressbarElem = $scope.find(".premium-progressbar-container"),
107
+ settings = $progressbarElem.data("settings"),
108
+ $progressbar = $scope.find(".premium-progressbar-bar-wrap"),
109
+ data = $progressbar.data(),
110
+ speed = settings.speed,
111
+ increment = 0;
112
+
113
+ var numberOfTotalFill = data.totalFill,
114
+ numberOfCircles = data.circles,
115
+ fillPercent = data.partialFill;
116
+
117
+ dotIncrement(increment);
118
+
119
+ function dotIncrement(inc) {
120
+
121
+ var $dot = $progressbar.find(".progress-segment").eq(inc),
122
+ dotWidth = 100;
123
+
124
+ if (inc === numberOfTotalFill)
125
+ dotWidth = fillPercent
126
+
127
+ $dot.find(".segment-inner").animate({
128
+ width: dotWidth + '%'
129
+ }, speed / numberOfCircles, function () {
130
+ increment++;
131
+ if (increment <= numberOfTotalFill) {
132
+ dotIncrement(increment);
133
+ }
134
+
135
+ });
136
+ }
137
+ };
138
+
139
+ /****** Premium Progress Bar Scroll Handler *****/
140
+ var PremiumProgressBarScrollWidgetHandler = function ($scope, $) {
141
+
142
+ var $progressbarElem = $scope.find(".premium-progressbar-container"),
143
+ settings = $progressbarElem.data("settings"),
144
+ type = settings.type;
145
+
146
+ if ("dots" === type) {
147
+ PremiumProgressBarWidgetHandler($scope, "frontend");
148
+ }
149
+
150
+ elementorFrontend.waypoint($scope, function () {
151
+ if ("dots" !== type) {
152
+ PremiumProgressBarWidgetHandler($(this));
153
+ } else {
154
+ PremiumProgressDotsHandler($(this));
155
+ }
156
+
157
+ });
158
+ };
159
+
160
+ /****** Premium Video Box Handler ******/
161
+ var PremiumVideoBoxWidgetHandler = function ($scope, $) {
162
+
163
+ var $videoBoxElement = $scope.find(".premium-video-box-container"),
164
+ $videoListElement = $scope.find(".premium-video-box-playlist-container"),
165
+ $videoContainer = $videoBoxElement.find(".premium-video-box-video-container"), //should be clicked
166
+ $videoInnerContainer = $videoBoxElement.find('.premium-video-box-inner-wrap'),
167
+ $videoImageContainer = $videoInnerContainer.find('.premium-video-box-image-container'),
168
+ type = $videoBoxElement.data("type"),
169
+ thumbnail = $videoBoxElement.data("thumbnail"),
170
+ sticky = $videoBoxElement.data('sticky'),
171
+ stickyOnPlay = $videoBoxElement.data('sticky-play'),
172
+ hoverEffect = $videoBoxElement.data('hover'),
173
+ $lighboxContainer = $videoListElement.length ? $videoListElement : $videoBoxElement,
174
+ lightBox = $lighboxContainer.data('lightbox') ? $lighboxContainer.data('lightbox') : false,
175
+ video, vidSrc;
176
+
177
+ if (lightBox) {
178
+
179
+ if ('prettyphoto' === lightBox.type) {
180
+ $lighboxContainer.find(".premium-vid-lightbox-container[data-rel^='prettyPhoto']").prettyPhoto(getPrettyPhotoSettings(lightBox.theme));
181
+ }
182
+
183
+ $lighboxContainer.find('.premium-video-box-image-container, .premium-video-box-play-icon-container').on('click', function (e) {
184
+ triggerLightbox($lighboxContainer, lightBox.type);
185
+ });
186
+
187
+ } else {
188
+ // Youtube playlist option.
189
+ if ($videoListElement.length) {
190
+
191
+ //Make sure that video were pulled from the API.
192
+ if (!$videoContainer.length)
193
+ return;
194
+
195
+ $videoContainer.each(function (index, item) {
196
+
197
+ var vidSrc,
198
+ $videoContainer = $(item),
199
+ $videoBoxElement = $videoContainer.closest(".premium-video-box-container"),
200
+ $trigger = $videoContainer.closest(".premium-video-box-trigger");
201
+
202
+ vidSrc = $videoContainer.data("src");
203
+ vidSrc = vidSrc + "&autoplay=1";
204
+
205
+ $trigger.on("click", function () {
206
+
207
+ var $iframe = $("<iframe/>");
208
+
209
+ $iframe.attr({
210
+ "src": vidSrc,
211
+ "frameborder": "0",
212
+ "allowfullscreen": "1",
213
+ "allow": "autoplay;encrypted-media;"
214
+ });
215
+ $videoContainer.css("background", "#000");
216
+ $videoContainer.html($iframe);
217
+
218
+ $videoBoxElement.find(
219
+ ".premium-video-box-image-container, .premium-video-box-play-icon-container"
220
+ ).remove();
221
+
222
+ });
223
+
224
+ });
225
+
226
+ return;
227
+ }
228
+
229
+ if ("self" === type) {
230
+
231
+ video = $videoContainer.find("video");
232
+ vidSrc = video.attr("src");
233
+
234
+ if ($videoBoxElement.data("play-viewport")) {
235
+ elementorFrontend.waypoint($videoBoxElement, function () {
236
+ playVideo();
237
+ }, {
238
+ offset: 0,
239
+ triggerOnce: false
240
+ });
241
+
242
+ if ($videoBoxElement.data("play-reset")) {
243
+ elementorFrontend.waypoint($videoBoxElement, function (direction) {
244
+
245
+ if ('up' === direction)
246
+ restartVideo();
247
+ }, {
248
+ offset: "100%",
249
+ triggerOnce: false
250
+ });
251
+ }
252
+ }
253
+
254
+ } else {
255
+
256
+ vidSrc = $videoContainer.data("src");
257
+
258
+ if (!thumbnail || -1 !== vidSrc.indexOf("autoplay=1")) {
259
+
260
+ //Check if Autoplay on viewport option is enabled
261
+ if ($videoBoxElement.data("play-viewport")) {
262
+ elementorFrontend.waypoint($videoBoxElement, function () {
263
+ playVideo();
264
+ }, {
265
+ offset: 0
266
+ });
267
+ } else {
268
+ playVideo();
269
+ }
270
+
271
+ } else {
272
+ vidSrc = vidSrc + "&autoplay=1";
273
+ }
274
+
275
+ }
276
+
277
+ $videoBoxElement.on("click", function () {
278
+ playVideo();
279
+ });
280
+
281
+ if ("yes" !== sticky || "yes" === stickyOnPlay)
282
+ return;
283
+
284
+ stickyOption();
285
+ }
286
+
287
+ function playVideo() {
288
+
289
+ if ($videoBoxElement.hasClass("playing")) return;
290
+
291
+ $videoBoxElement.addClass("playing");
292
+
293
+ if (stickyOnPlay === 'yes')
294
+ stickyOption();
295
+
296
+ if ("self" === type) {
297
+
298
+ $(video).get(0).play();
299
+
300
+ $videoContainer.css({
301
+ opacity: "1",
302
+ visibility: "visible"
303
+ });
304
+
305
+ } else {
306
+
307
+ var $iframe = $("<iframe/>");
308
+
309
+ $iframe.attr({
310
+ "src": vidSrc,
311
+ "frameborder": "0",
312
+ "allowfullscreen": "1",
313
+ "allow": "autoplay;encrypted-media;"
314
+ });
315
+ $videoContainer.css("background", "#000");
316
+ $videoContainer.html($iframe);
317
+ }
318
+
319
+ $videoBoxElement.find(
320
+ ".premium-video-box-image-container, .premium-video-box-play-icon-container, .premium-video-box-description-container"
321
+ ).remove();
322
+
323
+ if ("vimeo" === type)
324
+ $videoBoxElement.find(".premium-video-box-vimeo-wrap").remove();
325
+ }
326
+
327
+ function restartVideo() {
328
+
329
+ $videoBoxElement.removeClass("playing");
330
+
331
+ $(video).get(0).pause();
332
+ $(video).get(0).currentTime = 0;
333
+
334
+ }
335
+
336
+ function triggerLightbox($container, type) {
337
+ if ('elementor' === type) {
338
+ $container.find('.premium-video-box-video-container').click();
339
+ } else {
340
+ $container.find(".premium-vid-lightbox-container[data-rel^='prettyPhoto']").click();
341
+ }
342
+ }
343
+
344
+ function stickyOption() {
345
+
346
+ var stickyDesktop = $videoBoxElement.data('hide-desktop'),
347
+ stickyTablet = $videoBoxElement.data('hide-tablet'),
348
+ stickyMobile = $videoBoxElement.data('hide-mobile'),
349
+ stickyMargin = $videoBoxElement.data('sticky-margin');
350
+
351
+ $videoBoxElement.off('click').on('click', function (e) {
352
+ // if ('yes' === sticky) {
353
+ var stickyTarget = e.target.className;
354
+ if ((stickyTarget.toString().indexOf('premium-video-box-sticky-close') >= 0) || (stickyTarget.toString().indexOf('premium-video-box-sticky-close') >= 0)) {
355
+ return false;
356
+ }
357
+ // }
358
+ playVideo();
359
+
360
+ });
361
+
362
+ //Make sure Elementor Waypoint is defined
363
+ if (typeof elementorFrontend.waypoint !== 'undefined') {
364
+
365
+ var stickyWaypoint = elementorFrontend.waypoint(
366
+ $videoBoxElement,
367
+ function (direction) {
368
+ if ('down' === direction) {
369
+
370
+ $videoBoxElement.removeClass('premium-video-box-sticky-hide').addClass('premium-video-box-sticky-apply premium-video-box-filter-sticky');
371
+
372
+ //Fix conflict with Elementor motion effects
373
+ if ($scope.hasClass("elementor-motion-effects-parent")) {
374
+ $scope.removeClass("elementor-motion-effects-perspective").find(".elementor-widget-container").addClass("premium-video-box-transform");
375
+ }
376
+
377
+ if ($videoBoxElement.data("mask")) {
378
+ //Fix Sticky position issue when drop-shadow is applied
379
+ $scope.find(".premium-video-box-mask-filter").removeClass("premium-video-box-mask-filter");
380
+
381
+ $videoBoxElement.find(':first-child').removeClass('premium-video-box-mask-media');
382
+
383
+ $videoImageContainer.removeClass(hoverEffect).removeClass('premium-video-box-mask-media').css({
384
+ 'transition': 'width 0.2s, height 0.2s',
385
+ '-webkit-transition': 'width 0.2s, height 0.2s'
386
+ });
387
+ }
388
+
389
+ $(document).trigger('premium_after_sticky_applied', [$scope]);
390
+
391
+ // Entrance Animation Option
392
+ if ($videoInnerContainer.data("video-animation") && " " != $videoInnerContainer.data("video-animation")) {
393
+ $videoInnerContainer.css("opacity", "0");
394
+ var animationDelay = $videoInnerContainer.data('delay-animation');
395
+ setTimeout(function () {
396
+
397
+ $videoInnerContainer.css("opacity", "1").addClass("animated " + $videoInnerContainer.data("video-animation"));
398
+
399
+ }, animationDelay * 1000);
400
+ }
401
+
402
+ } else {
403
+
404
+ $videoBoxElement.removeClass('premium-video-box-sticky-apply premium-video-box-filter-sticky').addClass('premium-video-box-sticky-hide');
405
+
406
+ //Fix conflict with Elementor motion effects
407
+ if ($scope.hasClass("elementor-motion-effects-parent")) {
408
+ $scope.addClass("elementor-motion-effects-perspective").find(".elementor-widget-container").removeClass("premium-video-box-transform");
409
+ }
410
+
411
+ if ($videoBoxElement.data("mask")) {
412
+ //Fix Sticky position issue when drop-shadow is applied
413
+ $videoBoxElement.parent().addClass("premium-video-box-mask-filter");
414
+
415
+ $videoBoxElement.find(':first-child').eq(0).addClass('premium-video-box-mask-media');
416
+ $videoImageContainer.addClass('premium-video-box-mask-media');
417
+ }
418
+
419
+ $videoImageContainer.addClass(hoverEffect).css({
420
+ 'transition': 'all 0.2s',
421
+ '-webkit-transition': 'all 0.2s'
422
+ });
423
+
424
+ $videoInnerContainer.removeClass("animated " + $videoInnerContainer.data("video-animation"));
425
+ }
426
+ }, {
427
+ offset: 0 + '%',
428
+ triggerOnce: false
429
+ }
430
+ );
431
+ }
432
+
433
+ var closeBtn = $scope.find('.premium-video-box-sticky-close');
434
+
435
+ closeBtn.off('click.closetrigger').on('click.closetrigger', function (e) {
436
+ e.stopPropagation();
437
+ stickyWaypoint[0].disable();
438
+
439
+ $videoBoxElement.removeClass('premium-video-box-sticky-apply premium-video-box-sticky-hide');
440
+
441
+ //Fix conflict with Elementor motion effects
442
+ if ($scope.hasClass("elementor-motion-effects-parent")) {
443
+ $scope.addClass("elementor-motion-effects-perspective").find(".elementor-widget-container").removeClass("premium-video-box-transform");
444
+ }
445
+
446
+ if ($videoBoxElement.data("mask")) {
447
+ //Fix Sticky position issue when drop-shadow is applied
448
+ $videoBoxElement.parent().addClass("premium-video-box-mask-filter");
449
+
450
+ //Necessary classes for mask shape option
451
+ $videoBoxElement.find(':first-child').eq(0).addClass('premium-video-box-mask-media');
452
+ $videoImageContainer.addClass('premium-video-box-mask-media');
453
+ }
454
+
455
+
456
+ });
457
+
458
+ checkResize(stickyWaypoint);
459
+
460
+ checkScroll();
461
+
462
+ window.addEventListener("scroll", checkScroll);
463
+
464
+ $(window).resize(function (e) {
465
+ checkResize(stickyWaypoint);
466
+ });
467
+
468
+ function checkResize(stickyWaypoint) {
469
+ var currentDeviceMode = elementorFrontend.getCurrentDeviceMode();
470
+
471
+ if ('' !== stickyDesktop && currentDeviceMode == stickyDesktop) {
472
+ disableSticky(stickyWaypoint);
473
+ } else if ('' !== stickyTablet && currentDeviceMode == stickyTablet) {
474
+ disableSticky(stickyWaypoint);
475
+ } else if ('' !== stickyMobile && currentDeviceMode == stickyMobile) {
476
+ disableSticky(stickyWaypoint);
477
+ } else {
478
+ stickyWaypoint[0].enable();
479
+ }
480
+ }
481
+
482
+ function disableSticky(stickyWaypoint) {
483
+ stickyWaypoint[0].disable();
484
+ $videoBoxElement.removeClass('premium-video-box-sticky-apply premium-video-box-sticky-hide');
485
+ }
486
+
487
+ function checkScroll() {
488
+ if ($videoBoxElement.hasClass('premium-video-box-sticky-apply')) {
489
+ $videoInnerContainer.draggable({
490
+ start: function () {
491
+ $(this).css({
492
+ transform: "none",
493
+ top: $(this).offset().top + "px",
494
+ left: $(this).offset().left + "px"
495
+ });
496
+ },
497
+ containment: 'window'
498
+ });
499
+ }
500
+ }
501
+
502
+ $(document).on('premium_after_sticky_applied', function (e, $scope) {
503
+ var infobar = $scope.find('.premium-video-box-sticky-infobar');
504
+
505
+ if (0 !== infobar.length) {
506
+ var infobarHeight = infobar.outerHeight();
507
+
508
+ if ($scope.hasClass('premium-video-sticky-center-left') || $scope.hasClass('premium-video-sticky-center-right')) {
509
+ infobarHeight = Math.ceil(infobarHeight / 2);
510
+ $videoInnerContainer.css('top', 'calc( 50% - ' + infobarHeight + 'px )');
511
+ }
512
+
513
+ if ($scope.hasClass('premium-video-sticky-bottom-left') || $scope.hasClass('premium-video-sticky-bottom-right')) {
514
+ if ('' !== stickyMargin) {
515
+ infobarHeight = Math.ceil(infobarHeight);
516
+ var stickBottom = infobarHeight + stickyMargin;
517
+ $videoInnerContainer.css('bottom', stickBottom);
518
+ }
519
+ }
520
+ }
521
+ });
522
+
523
+ }
524
+
525
+ function getPrettyPhotoSettings(theme) {
526
+ return {
527
+ theme: theme,
528
+ hook: "data-rel",
529
+ opacity: 0.7,
530
+ show_title: false,
531
+ deeplinking: false,
532
+ overlay_gallery: true,
533
+ custom_markup: "",
534
+ default_width: 900,
535
+ default_height: 506,
536
+ social_tools: ""
537
+ };
538
+ }
539
+ };
540
+
541
+ /****** Premium Media Grid Handler ******/
542
+ var PremiumGridWidgetHandler = ModuleHandler.extend({
543
+
544
+ settings: {},
545
+
546
+ getDefaultSettings: function () {
547
+ return {
548
+ selectors: {
549
+ galleryElement: '.premium-gallery-container',
550
+ filters: '.premium-gallery-cats-container li',
551
+ gradientLayer: '.premium-gallery-gradient-layer',
552
+ loadMore: '.premium-gallery-load-more',
553
+ loadMoreDiv: '.premium-gallery-load-more div',
554
+ vidWrap: '.premium-gallery-video-wrap',
555
+ }
556
+ }
557
+ },
558
+
559
+ getDefaultElements: function () {
560
+
561
+ var selectors = this.getSettings('selectors'),
562
+ elements = {
563
+ $galleryElement: this.$element.find(selectors.galleryElement),
564
+ $filters: this.$element.find(selectors.filters),
565
+ $gradientLayer: this.$element.find(selectors.gradientLayer),
566
+ $vidWrap: this.$element.find(selectors.vidWrap)
567
+ };
568
+
569
+ elements.$loadMore = elements.$galleryElement.parent().find(selectors.loadMore)
570
+ elements.$loadMoreDiv = elements.$galleryElement.parent().find(selectors.loadMoreDiv)
571
+
572
+ return elements;
573
+ },
574
+
575
+ bindEvents: function () {
576
+ this.getGlobalSettings();
577
+ this.run();
578
+ },
579
+
580
+ getGlobalSettings: function () {
581
+ var $galleryElement = this.elements.$galleryElement,
582
+ settings = $galleryElement.data('settings');
583
+
584
+ this.settings = {
585
+ layout: settings.img_size,
586
+ loadMore: settings.load_more,
587
+ columnWidth: null,
588
+ filter: null,
589
+ isFilterClicked: false,
590
+ minimum: settings.minimum,
591
+ imageToShow: settings.click_images,
592
+ counter: settings.minimum,
593
+ ltrMode: settings.ltr_mode,
594
+ shuffle: settings.shuffle,
595
+ active_cat: settings.active_cat,
596
+ theme: settings.theme,
597
+ overlay: settings.overlay,
598
+ sort_by: settings.sort_by,
599
+ light_box: settings.light_box,
600
+ flag: settings.flag,
601
+ lightbox_type: settings.lightbox_type
602
+ }
603
+ },
604
+
605
+ updateCounter: function () {
606
+
607
+ if (this.settings.isFilterClicked) {
608
+
609
+ this.settings.counter = this.settings.minimum;
610
+
611
+ this.settings.isFilterClicked = false;
612
+
613
+ } else {
614
+ this.settings.counter = this.settings.counter;
615
+ }
616
+
617
+ this.settings.counter = this.settings.counter + this.settings.imageToShow;
618
+ },
619
+
620
+ updateGrid: function (gradHeight, $isotopeGallery, $loadMoreDiv) {
621
+ $.ajax({
622
+ url: this.appendItems(this.settings.counter, gradHeight, $isotopeGallery),
623
+ beforeSend: function () {
624
+ $loadMoreDiv.removeClass("premium-gallery-item-hidden");
625
+ },
626
+ success: function () {
627
+ $loadMoreDiv.addClass("premium-gallery-item-hidden");
628
+ }
629
+ });
630
+ },
631
+
632
+ loadMore: function (gradHeight, $isotopeGallery) {
633
+
634
+ var $galleryElement = this.elements.$galleryElement,
635
+ $loadMoreDiv = this.elements.$loadMoreDiv,
636
+ $loadMore = this.elements.$loadMore,
637
+ _this = this;
638
+
639
+ $loadMoreDiv.addClass("premium-gallery-item-hidden");
640
+
641
+ if ($galleryElement.find(".premium-gallery-item").length > this.settings.minimum) {
642
+
643
+ $loadMore.removeClass("premium-gallery-item-hidden");
644
+
645
+ $galleryElement.parent().on("click", ".premium-gallery-load-less", function () {
646
+ _this.settings.counter = _this.settings.counter - _this.settings.imageToShow;
647
+ });
648
+
649
+ $galleryElement.parent().on("click", ".premium-gallery-load-more-btn:not(.premium-gallery-load-less)", function () {
650
+ _this.updateCounter();
651
+ _this.updateGrid(gradHeight, $isotopeGallery, $loadMoreDiv);
652
+ });
653
+
654
+ }
655
+
656
+ },
657
+
658
+ getItemsToHide: function (instance, imagesToShow) {
659
+ var items = instance.filteredItems.slice(imagesToShow, instance
660
+ .filteredItems.length).map(function (item) {
661
+ return item.element;
662
+ });
663
+
664
+ return items;
665
+ },
666
+
667
+ appendItems: function (imagesToShow, gradHeight, $isotopeGallery) {
668
+
669
+ var $galleryElement = this.elements.$galleryElement,
670
+ $gradientLayer = this.elements.$gradientLayer,
671
+ instance = $galleryElement.data("isotope"),
672
+ itemsToHide = this.getItemsToHide(instance, imagesToShow);
673
+
674
+ $gradientLayer.outerHeight(gradHeight);
675
+
676
+ $galleryElement.find(".premium-gallery-item-hidden").removeClass("premium-gallery-item-hidden");
677
+
678
+ $galleryElement.parent().find(".premium-gallery-load-more").removeClass("premium-gallery-item-hidden");
679
+
680
+ $(itemsToHide).addClass("premium-gallery-item-hidden");
681
+
682
+ $isotopeGallery.isotope("layout");
683
+
684
+ if (0 == itemsToHide) {
685
+
686
+ $gradientLayer.addClass("premium-gallery-item-hidden");
687
+
688
+ $galleryElement.parent().find(".premium-gallery-load-more").addClass("premium-gallery-item-hidden");
689
+ }
690
+ },
691
+
692
+ triggerFilerTabs: function (url) {
693
+ var filterIndex = url.searchParams.get(this.settings.flag),
694
+ $filters = this.elements.$filters;
695
+
696
+ if (filterIndex) {
697
+
698
+ var $targetFilter = $filters.eq(filterIndex).find("a");
699
+
700
+ $targetFilter.trigger('click');
701
+
702
+ }
703
+ },
704
+
705
+ onReady: function ($isotopeGallery) {
706
+ var _this = this;
707
+
708
+ $isotopeGallery.isotope("layout");
709
+
710
+ // $isotopeGallery.isotope({
711
+ // filter: _this.settings.active_cat
712
+ // });
713
+
714
+ var url = new URL(window.location.href);
715
+
716
+ if (url)
717
+ _this.triggerFilerTabs(url);
718
+
719
+ //Show the widget after making sure everything is ready.
720
+ _this.$element.find(".category.active").trigger('click');
721
+ _this.$element.find(".elementor-invisible").removeClass("elementor-invisible");
722
+
723
+ },
724
+
725
+ onResize: function ($isotopeGallery) {
726
+ var _this = this;
727
+
728
+ _this.setMetroLayout();
729
+
730
+ $isotopeGallery.isotope({
731
+ itemSelector: ".premium-gallery-item",
732
+ masonry: {
733
+ columnWidth: _this.settings.columnWidth
734
+ },
735
+ });
736
+
737
+ },
738
+
739
+ lightBoxDisabled: function () {
740
+ var _this = this,
741
+ $vidWrap = this.elements.$vidWrap;
742
+
743
+ $vidWrap.each(function (index, item) {
744
+ var type = $(item).data("type");
745
+
746
+ $(item).closest(".premium-gallery-item").on("click", function () {
747
+ var $this = $(this);
748
+
749
+ $this.find(".pa-gallery-img-container").css("background", "#000");
750
+
751
+ $this.find("img, .pa-gallery-icons-caption-container, .pa-gallery-icons-wrapper").css("visibility", "hidden");
752
+
753
+ if ("style3" !== _this.settings.skin)
754
+ $this.find(".premium-gallery-caption").css("visibility", "hidden");
755
+
756
+ if ("hosted" !== type) {
757
+ _this.playVid($this);
758
+ } else {
759
+ _this.playHostedVid(item);
760
+ }
761
+ });
762
+ });
763
+
764
+ },
765
+
766
+ playVid: function ($this) {
767
+ var $iframeWrap = $this.find(".premium-gallery-iframe-wrap"),
768
+ src = $iframeWrap.data("src");
769
+
770
+ src = src.replace("&mute", "&autoplay=1&mute");
771
+
772
+ var $iframe = $("<iframe/>");
773
+
774
+ $iframe.attr({
775
+ "src": src,
776
+ "frameborder": "0",
777
+ "allowfullscreen": "1",
778
+ "allow": "autoplay;encrypted-media;"
779
+ });
780
+
781
+ $iframeWrap.html($iframe);
782
+
783
+ $iframe.css("visibility", "visible");
784
+ },
785
+
786
+ playHostedVid: function (item) {
787
+ var $video = $(item).find("video");
788
+
789
+ $video.get(0).play();
790
+ $video.css("visibility", "visible");
791
+ },
792
+
793
+ run: function () {
794
+
795
+ var $galleryElement = this.elements.$galleryElement,
796
+ $vidWrap = this.elements.$vidWrap,
797
+ $filters = this.elements.$filters,
798
+ _this = this;
799
+
800
+ if ('metro' === this.settings.layout) {
801
+
802
+ this.setMetroLayout();
803
+
804
+ this.settings.layout = "masonry";
805
+
806
+ $(window).resize(function () { _this.onResize($isotopeGallery); });
807
+ }
808
+
809
+ var $isotopeGallery = $galleryElement.isotope(this.getIsoTopeSettings());
810
+
811
+ $isotopeGallery.imagesLoaded().progress(function () {
812
+ $isotopeGallery.isotope("layout");
813
+ });
814
+
815
+ $(document).ready(function () { _this.onReady($isotopeGallery); });
816
+
817
+ if (this.settings.loadMore) {
818
+
819
+ var $gradientLayer = this.elements.$gradientLayer,
820
+ gradHeight = null;
821
+
822
+ setTimeout(function () {
823
+ gradHeight = $gradientLayer.outerHeight();
824
+ }, 200);
825
+
826
+ this.loadMore(gradHeight, $isotopeGallery);
827
+ }
828
+
829
+ if ("yes" !== this.settings.light_box)
830
+ this.lightBoxDisabled();
831
+
832
+ $filters.find("a").click(function (e) {
833
+ e.preventDefault();
834
+
835
+ _this.isFilterClicked = true;
836
+
837
+ $filters.find(".active").removeClass("active");
838
+
839
+ $(this).addClass("active");
840
+
841
+ _this.settings.filter = $(this).attr("data-filter");
842
+
843
+ $isotopeGallery.isotope({
844
+ filter: _this.settings.filter
845
+ });
846
+
847
+ if (_this.settings.shuffle) $isotopeGallery.isotope("shuffle");
848
+
849
+ if (_this.settings.loadMore) _this.appendItems(_this.settings.minimum, gradHeight, $isotopeGallery);
850
+
851
+ return false;
852
+ });
853
+
854
+ if ("default" === this.settings.lightbox_type)
855
+ this.$element.find(".premium-img-gallery a[data-rel^='prettyPhoto']").prettyPhoto(this.getPrettyPhotoSettings());
856
+ },
857
+
858
+ getPrettyPhotoSettings: function () {
859
+ return {
860
+ theme: this.settings.theme,
861
+ hook: "data-rel",
862
+ opacity: 0.7,
863
+ show_title: false,
864
+ deeplinking: false,
865
+ overlay_gallery: this.settings.overlay,
866
+ custom_markup: "",
867
+ default_width: 900,
868
+ default_height: 506,
869
+ social_tools: ""
870
+ }
871
+ },
872
+
873
+ getIsoTopeSettings: function () {
874
+ return {
875
+ itemSelector: '.premium-gallery-item',
876
+ percentPosition: true,
877
+ animationOptions: {
878
+ duration: 750,
879
+ easing: 'linear'
880
+ },
881
+ filter: this.settings.active_cat,
882
+ layoutMode: this.settings.layout,
883
+ originLeft: this.settings.ltrMode,
884
+ masonry: {
885
+ columnWidth: this.settings.columnWidth
886
+ },
887
+ sortBy: this.settings.sort_by
888
+ }
889
+ },
890
+
891
+ getRepeaterSettings: function () {
892
+ return this.getElementSettings('premium_gallery_img_content');
893
+ },
894
+
895
+ setMetroLayout: function () {
896
+
897
+ var $galleryElement = this.elements.$galleryElement,
898
+ gridWidth = $galleryElement.width(),
899
+ cellSize = Math.floor(gridWidth / 12),
900
+ deviceType = elementorFrontend.getCurrentDeviceMode(),
901
+ suffix = 'desktop' === deviceType ? '' : '_' + deviceType,
902
+ repeater = this.getRepeaterSettings();
903
+
904
+ $galleryElement.find(".premium-gallery-item").each(function (index, item) { //should be added to selectors and elements
905
+
906
+ var cells = repeater[index]['premium_gallery_image_cell' + suffix].size,
907
+ vCells = repeater[index]['premium_gallery_image_vcell' + suffix].size;
908
+
909
+ if ("" === cells || undefined == cells) {
910
+ cells = repeater[index].premium_gallery_image_cell;
911
+ }
912
+
913
+ if ("" === vCells || undefined == vCells) {
914
+ vCells = repeater[index].premium_gallery_image_vcell;
915
+ }
916
+
917
+ $(item).css({
918
+ width: Math.ceil(cells * cellSize),
919
+ height: Math.ceil(vCells * cellSize)
920
+ });
921
+ });
922
+
923
+ this.settings.columnWidth = cellSize;
924
+ }
925
+
926
+ });
927
+
928
+ /****** Premium Counter Handler ******/
929
+ var PremiumCounterHandler = function ($scope, $) {
930
+
931
+ var $counterElement = $scope.find(".premium-counter"),
932
+ isHScrollWidget = $counterElement.closest(".premium-hscroll-temp"),
933
+ counterSettings = $counterElement.data(),
934
+ incrementElement = $counterElement.find(".premium-counter-init"),
935
+ iconElement = $counterElement.find(".icon");
936
+
937
+ if (!isHScrollWidget.length) {
938
+ elementorFrontend.waypoint($counterElement, function () {
939
+
940
+ $(incrementElement).numerator(counterSettings);
941
+
942
+ $(iconElement).addClass("animated " + iconElement.data("animation"));
943
+
944
+ });
945
+ } else {
946
+
947
+ $(window).on("scroll", function () {
948
+
949
+ if ($(window).scrollTop() >= isHScrollWidget.data("scroll-offset")) {
950
+ $(incrementElement).numerator(counterSettings);
951
+
952
+ $(iconElement).addClass("animated " + iconElement.data("animation"));
953
+ }
954
+
955
+ });
956
+
957
+ }
958
+
959
+ };
960
+
961
+ /****** Premium Fancy Text Handler ******/
962
+ var PremiumFancyTextHandler = function ($scope, $) {
963
+
964
+ var $elem = $scope.find(".premium-fancy-text-wrapper"),
965
+ settings = $elem.data("settings"),
966
+ loadingSpeed = settings.delay || 2500,
967
+ itemCount = $elem.find('.premium-fancy-list-items').length,
968
+ loopCount = ('' === settings.count && !['typing', 'slide', 'autofade'].includes(settings.effect)) ? 'infinite' : (settings.count * itemCount);
969
+
970
+ function escapeHtml(unsafe) {
971
+ return unsafe.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(
972
+ /"/g, "&quot;");
973
+ }
974
+
975
+ if ("typing" === settings.effect) {
976
+
977
+ var fancyStrings = [];
978
+
979
+ settings.strings.forEach(function (item) {
980
+ fancyStrings.push(escapeHtml(item));
981
+ });
982
+
983
+ var fancyTextID = '#' + $elem.find('.premium-fancy-text').attr('id');
984
+ var typedInstance = new Typed(fancyTextID, {
985
+ strings: fancyStrings,
986
+ typeSpeed: settings.typeSpeed,
987
+ backSpeed: settings.backSpeed,
988
+ startDelay: settings.startDelay,
989
+ backDelay: settings.backDelay,
990
+ showCursor: settings.showCursor,
991
+ cursorChar: settings.cursorChar,
992
+ loop: settings.loop
993
+ });
994
+
995
+ //To start/stop programmatically.
996
+ if ($scope.hasClass("fancy-text-stop")) {
997
+ typedInstance.stop();
998
+ }
999
+
1000
+ $(".fancy-text-stop").bind("fancy-text-start", function () {
1001
+ typedInstance.start();
1002
+ });
1003
+
1004
+ } else if ("slide" === settings.effect) {
1005
+ loadingSpeed = settings.pause;
1006
+
1007
+ $elem.find(".premium-fancy-text").vTicker({
1008
+ speed: settings.speed,
1009
+ showItems: settings.showItems,
1010
+ pause: settings.pause,
1011
+ mousePause: settings.mousePause,
1012
+ direction: "up"
1013
+ });
1014
+
1015
+ } else if ('auto-fade' === settings.effect) {
1016
+ var $items = $elem.find(".premium-fancy-list-items"),
1017
+ len = $items.length;
1018
+
1019
+ if (0 === len) {
1020
+ return;
1021
+ }
1022
+
1023
+ var delay = settings.duration / len,
1024
+ itemDelay = 0;
1025
+
1026
+ loadingSpeed = delay;
1027
+
1028
+ $items.each(function ($index, $item) {
1029
+ $item.style.animationDelay = itemDelay + 'ms';
1030
+ itemDelay += delay;
1031
+ });
1032
+
1033
+ } else {
1034
+
1035
+ setFancyAnimation();
1036
+
1037
+ function setFancyAnimation() {
1038
+
1039
+ var $item = $elem.find(".premium-fancy-list-items"),
1040
+ current = 1;
1041
+
1042
+ //Get effect settings
1043
+ var delay = settings.delay || 2500,
1044
+ loopCount = settings.count;
1045
+
1046
+ //If Loop Count option is set
1047
+ if (loopCount) {
1048
+ var currentLoop = 1,
1049
+ fancyStringsCount = $elem.find(".premium-fancy-list-items").length;
1050
+ }
1051
+
1052
+ var loopInterval = setInterval(function () {
1053
+
1054
+ var animationClass = "";
1055
+
1056
+ //Add animation class
1057
+ if (settings.effect === "custom")
1058
+ animationClass = "animated " + settings.animation;
1059
+
1060
+ //Show current active item
1061
+ $item.eq(current).addClass("premium-fancy-item-visible " + animationClass).removeClass("premium-fancy-item-hidden");
1062
+
1063
+ var $inactiveItems = $item.filter(function (index) {
1064
+ return index !== current;
1065
+ });
1066
+
1067
+ //Hide inactive items
1068
+ $inactiveItems.addClass("premium-fancy-item-hidden").removeClass("premium-fancy-item-visible " + animationClass);
1069
+
1070
+ current++;
1071
+
1072
+ //Restart loop
1073
+ if ($item.length === current)
1074
+ current = 0;
1075
+
1076
+ //Increment interval and check if loop count is reached
1077
+ if (loopCount) {
1078
+ currentLoop++;
1079
+
1080
+ if ((fancyStringsCount * loopCount) === currentLoop)
1081
+ clearInterval(loopInterval);
1082
+ }
1083
+
1084
+
1085
+ }, delay);
1086
+
1087
+ }
1088
+ }
1089
+
1090
+ //Show the strings after the layout is set.
1091
+ if ("typing" !== settings.effect) {
1092
+ setTimeout(function () {
1093
+ $elem.find(".premium-fancy-text").css('opacity', '1');
1094
+ }, 500);
1095
+
1096
+ }
1097
+
1098
+ if ('loading' === settings.loading && 'typing' !== settings.effect) {
1099
+ $scope.find('.premium-fancy-text').append('<span class="premium-loading-bar"></span>');
1100
+ $scope.find('.premium-loading-bar').css({
1101
+ 'animation-iteration-count': loopCount,
1102
+ 'animation-duration': loadingSpeed + 'ms'
1103
+ });
1104
+ }
1105
+
1106
+ };
1107
+
1108
+ /****** Premium Countdown Handler ******/
1109
+ var PremiumCountDownHandler = function ($scope, $) {
1110
+
1111
+ var $countDownElement = $scope.find(".premium-countdown"),
1112
+ settings = $countDownElement.data("settings"),
1113
+ id = $scope.data('id'),
1114
+ label1 = settings.label1,
1115
+ label2 = settings.label2,
1116
+ newLabe1 = label1.split(","),
1117
+ newLabel2 = label2.split(","),
1118
+ timerType = settings.timerType,
1119
+ until = 'evergreen' === timerType ? settings.until.date.replace(/ /g, "T") : settings.until,
1120
+ layout = '',
1121
+ map = {
1122
+ y: { index: 0, oldVal: '' },
1123
+ o: { index: 1, oldVal: '' },
1124
+ w: { index: 2, oldVal: '' },
1125
+ d: { index: 3, oldVal: '' },
1126
+ h: { index: 4, oldVal: '' },
1127
+ m: { index: 5, oldVal: '' },
1128
+ s: { index: 6, oldVal: '' }
1129
+ };
1130
+
1131
+ if ($countDownElement.find('#countdown-' + id).hasClass('premium-countdown-flip')) {
1132
+ settings.format.split('').forEach(function (unit) {
1133
+ var lowercased = unit.toLowerCase();
1134
+
1135
+ layout += '<div class="premium-countdown-block premium-countdown-' + lowercased + '"><div class="pre_time-mid"> <div class="premium-countdown-figure"><span class="top">{' + lowercased + 'nn}</span><span class="top-back"><span>{' + lowercased + 'nn}</span></span><span class="bottom">{' + lowercased + 'nn}</span><span class="bottom-back"><span>{' + lowercased + 'nn}</span></span></div><span class="premium-countdown-label">{' + lowercased + 'l}</span></div><span class="countdown_separator">{sep}</span></div>';
1136
+ });
1137
+ }
1138
+
1139
+ $countDownElement.find('#countdown-' + id).countdown({
1140
+ layout: layout,
1141
+ labels: newLabel2,
1142
+ labels1: newLabe1,
1143
+ until: new Date(until),
1144
+ format: settings.format,
1145
+ padZeroes: true,
1146
+ timeSeparator: settings.separator,
1147
+ onTick: function (periods) {
1148
+
1149
+ equalWidth();
1150
+
1151
+ if ($countDownElement.find('#countdown-' + id).hasClass('premium-countdown-flip')) {
1152
+ animateFigure(periods, map);
1153
+ }
1154
+ },
1155
+ onExpiry: function () {
1156
+ if ('onExpiry' === settings.event) {
1157
+ $countDownElement.find('#countdown-' + id).html(settings.text);
1158
+ }
1159
+ },
1160
+ serverSync: function () {
1161
+ return new Date(settings.serverSync);
1162
+ }
1163
+ });
1164
+
1165
+ if (settings.reset) {
1166
+ $countDownElement.find('.premium-countdown-init').countdown('option', 'until', new Date(until));
1167
+ }
1168
+
1169
+ if ('expiryUrl' === settings.event) {
1170
+ $countDownElement.find('#countdown-' + id).countdown('option', 'expiryUrl', (elementorFrontend.isEditMode()) ? '' : settings.text);
1171
+ }
1172
+
1173
+ function equalWidth() {
1174
+ var width = 0;
1175
+ $countDownElement.find('#countdown-' + id + ' .countdown-amount').each(function (index, slot) {
1176
+ if (width < $(slot).outerWidth()) {
1177
+ width = $(slot).outerWidth();
1178
+ }
1179
+ });
1180
+
1181
+ $countDownElement.find('#countdown-' + id + ' .countdown-amount').css('width', width);
1182
+ }
1183
+
1184
+ function animateFigure(periods, map) {
1185
+ settings.format.split('').forEach(function (unit) {
1186
+
1187
+ var lowercased = unit.toLowerCase(),
1188
+ index = map[lowercased].index,
1189
+ oldVal = map[lowercased].oldVal;
1190
+
1191
+ if (periods[index] !== oldVal) {
1192
+
1193
+ map[lowercased].oldVal = periods[index];
1194
+
1195
+ var $top = $('#countdown-' + id).find('.premium-countdown-' + lowercased + ' .top'),
1196
+ $back_top = $('#countdown-' + id).find('.premium-countdown-' + lowercased + ' .top-back');
1197
+
1198
+ TweenMax.to($top, 0.8, {
1199
+ rotationX: '-180deg',
1200
+ transformPerspective: 300,
1201
+ ease: Quart.easeOut,
1202
+ onComplete: function () {
1203
+ TweenMax.set($top, { rotationX: 0 });
1204
+ }
1205
+ });
1206
+
1207
+ TweenMax.to($back_top, 0.8, {
1208
+ rotationX: 0,
1209
+ transformPerspective: 300,
1210
+ ease: Quart.easeOut,
1211
+ clearProps: 'all'
1212
+ });
1213
+ }
1214
+ });
1215
+ }
1216
+
1217
+ times = $countDownElement.find('#countdown-' + id).countdown("getTimes");
1218
+
1219
+ function runTimer(el) {
1220
+ return el == 0;
1221
+ }
1222
+
1223
+ if (times.every(runTimer)) {
1224
+
1225
+ if ('onExpiry' === settings.event) {
1226
+ $countDownElement.find('#countdown-' + id).html(settings.text);
1227
+ } else if ('expiryUrl' === settings.event && !elementorFrontend.isEditMode()) {
1228
+ var editMode = $('body').find('#elementor').length;
1229
+ if (0 < editMode) {
1230
+ $countDownElement.find('#countdown-' + id).html(
1231
+ "<h1>You can not redirect url from elementor Editor!!</h1>");
1232
+ } else {
1233
+ if (!elementorFrontend.isEditMode()) {
1234
+ window.location.href = settings.text;
1235
+ }
1236
+ }
1237
+
1238
+ }
1239
+ }
1240
+
1241
+ };
1242
+
1243
+ /****** Premium Carousel Handler ******/
1244
+ var PremiumCarouselHandler = function ($scope, $) {
1245
+
1246
+ var $carouselElem = $scope.find(".premium-carousel-wrapper"),
1247
+ settings = $($carouselElem).data("settings"),
1248
+ isEdit = elementorFrontend.isEditMode();
1249
+
1250
+ if ($carouselElem.find(".item-wrapper").length < 1)
1251
+ return;
1252
+
1253
+ function slideToShow(slick) {
1254
+
1255
+ var slidesToShow = slick.options.slidesToShow,
1256
+ windowWidth = $(window).width();
1257
+ if (windowWidth > settings.tabletBreak) {
1258
+ slidesToShow = settings.slidesDesk;
1259
+ }
1260
+ if (windowWidth <= settings.tabletBreak) {
1261
+ slidesToShow = settings.slidesTab;
1262
+ }
1263
+ if (windowWidth <= settings.mobileBreak) {
1264
+ slidesToShow = settings.slidesMob;
1265
+ }
1266
+ return slidesToShow;
1267
+
1268
+ }
1269
+
1270
+ //Get templates content on the editor page
1271
+ if (isEdit) {
1272
+
1273
+ $carouselElem.find(".item-wrapper").each(function (index, slide) {
1274
+
1275
+ var templateID = $(slide).data("template");
1276
+
1277
+ if (undefined !== templateID && '' !== templateID) {
1278
+ $.ajax({
1279
+ type: "GET",
1280
+ url: PremiumSettings.ajaxurl,
1281
+ dataType: "html",
1282
+ data: {
1283
+ action: "get_elementor_template_content",
1284
+ templateID: templateID
1285
+ }
1286
+ }).success(function (response) {
1287
+
1288
+ var data = JSON.parse(response).data;
1289
+
1290
+ if (undefined !== data.template_content) {
1291
+
1292
+ $(slide).html(data.template_content);
1293
+ $carouselElem.find(".premium-carousel-inner").slick("refresh");
1294
+
1295
+ }
1296
+ });
1297
+ }
1298
+ });
1299
+
1300
+ }
1301
+
1302
+ $carouselElem.on("init", function (event) {
1303
+
1304
+ event.preventDefault();
1305
+
1306
+ setTimeout(function () {
1307
+ resetAnimations("init");
1308
+ }, 500);
1309
+
1310
+ $(this).find("item-wrapper.slick-active").each(function () {
1311
+ var $this = $(this);
1312
+ $this.addClass($this.data("animation"));
1313
+ });
1314
+
1315
+ $(".slick-track").addClass("translate");
1316
+
1317
+ });
1318
+
1319
+ $carouselElem.find(".premium-carousel-inner").slick({
1320
+ vertical: settings.vertical,
1321
+ slidesToScroll: settings.slidesToScroll,
1322
+ slidesToShow: settings.slidesToShow,
1323
+ responsive: [{
1324
+ breakpoint: settings.tabletBreak,
1325
+ settings: {
1326
+ slidesToShow: settings.slidesTab,
1327
+ slidesToScroll: settings.slidesTab,
1328
+ swipe: settings.touchMove,
1329
+ }
1330
+ },
1331
+ {
1332
+ breakpoint: settings.mobileBreak,
1333
+ settings: {
1334
+ slidesToShow: settings.slidesMob,
1335
+ slidesToScroll: settings.slidesMob,
1336
+ swipe: settings.touchMove,
1337
+ }
1338
+ }
1339
+ ],
1340
+ useTransform: true,
1341
+ fade: settings.fade,
1342
+ infinite: settings.infinite,
1343
+ speed: settings.speed,
1344
+ autoplay: settings.autoplay,
1345
+ autoplaySpeed: settings.autoplaySpeed,
1346
+ rows: 0,
1347
+ draggable: settings.draggable,
1348
+ rtl: settings.rtl,
1349
+ adaptiveHeight: settings.adaptiveHeight,
1350
+ pauseOnHover: settings.pauseOnHover,
1351
+ centerMode: settings.centerMode,
1352
+ centerPadding: settings.centerPadding,
1353
+ arrows: settings.arrows,
1354
+ prevArrow: $carouselElem.find(".premium-carousel-nav-arrow-prev").html(),
1355
+ nextArrow: $carouselElem.find(".premium-carousel-nav-arrow-next").html(),
1356
+ dots: settings.dots,
1357
+ variableWidth: settings.variableWidth,
1358
+ cssEase: settings.cssEase,
1359
+ customPaging: function () {
1360
+ var customDot = $carouselElem.find(".premium-carousel-nav-dot").html();
1361
+ return customDot;
1362
+ }
1363
+ });
1364
+
1365
+ $scope.find(".premium-carousel-hidden").removeClass("premium-carousel-hidden");
1366
+ $carouselElem.find(".premium-carousel-nav-arrow-prev").remove();
1367
+ $carouselElem.find(".premium-carousel-nav-arrow-next").remove();
1368
+ // $carouselElem.find(".premium-carousel-nav-dot").remove();
1369
+
1370
+ if (settings.variableWidth) {
1371
+ $carouselElem.find(".elementor-container").css("flex-wrap", "nowrap");
1372
+ }
1373
+
1374
+ function resetAnimations(event) {
1375
+
1376
+ var $slides = $carouselElem.find(".slick-slide");
1377
+
1378
+ if ("init" === event)
1379
+ $slides = $slides.not(".slick-current");
1380
+
1381
+ $slides.find(".animated").each(function (index, elem) {
1382
+
1383
+ var settings = $(elem).data("settings");
1384
+
1385
+ if (!settings)
1386
+ return;
1387
+
1388
+ if (!settings._animation && !settings.animation)
1389
+ return;
1390
+
1391
+ var animation = settings._animation || settings.animation;
1392
+
1393
+ $(elem).removeClass("animated " + animation).addClass("elementor-invisible");
1394
+ });
1395
+ };
1396
+
1397
+ function triggerAnimation() {
1398
+
1399
+ $carouselElem.find(".slick-active .elementor-invisible").each(function (index, elem) {
1400
+
1401
+ var settings = $(elem).data("settings");
1402
+
1403
+ if (!settings)
1404
+ return;
1405
+
1406
+ if (!settings._animation && !settings.animation)
1407
+ return;
1408
+
1409
+ var delay = settings._animation_delay ? settings._animation_delay : 0,
1410
+ animation = settings._animation || settings.animation;
1411
+
1412
+ setTimeout(function () {
1413
+ $(elem).removeClass("elementor-invisible").addClass(animation +
1414
+ ' animated');
1415
+ }, delay);
1416
+ });
1417
+ }
1418
+
1419
+ $carouselElem.on("afterChange", function (event, slick, currentSlide) {
1420
+
1421
+ var slidesScrolled = slick.options.slidesToScroll,
1422
+ slidesToShow = slideToShow(slick),
1423
+ centerMode = slick.options.centerMode,
1424
+ slideToAnimate = currentSlide + slidesToShow - 1;
1425
+
1426
+ //Trigger Aniamtions for the current slide
1427
+ triggerAnimation();
1428
+
1429
+ if (slidesScrolled === 1) {
1430
+ if (!centerMode === true) {
1431
+ var $inViewPort = $(this).find("[data-slick-index='" + slideToAnimate +
1432
+ "']");
1433
+ if ("null" != settings.animation) {
1434
+ $inViewPort.find("p, h1, h2, h3, h4, h5, h6, span, a, img, i, button")
1435
+ .addClass(settings.animation).removeClass(
1436
+ "premium-carousel-content-hidden");
1437
+ }
1438
+ }
1439
+ } else {
1440
+ for (var i = slidesScrolled + currentSlide; i >= 0; i--) {
1441
+ $inViewPort = $(this).find("[data-slick-index='" + i + "']");
1442
+ if ("null" != settings.animation) {
1443
+ $inViewPort.find("p, h1, h2, h3, h4, h5, h6, span, a, img, i, button")
1444
+ .addClass(settings.animation).removeClass(
1445
+ "premium-carousel-content-hidden");
1446
+ }
1447
+ }
1448
+ }
1449
+
1450
+ //Fix carousel continues to work after last slide if autoplay is true and infinite is false.
1451
+ if (slick.$slides.length - 1 == currentSlide && !settings.infinite) {
1452
+ $carouselElem.find(".premium-carousel-inner").slick('slickSetOption', 'autoplay', false, true);
1453
+ }
1454
+
1455
+ });
1456
+
1457
+ $carouselElem.on("beforeChange", function (event, slick, currentSlide) {
1458
+
1459
+ //Reset Aniamtions for the other slides
1460
+ resetAnimations();
1461
+
1462
+ var $inViewPort = $(this).find("[data-slick-index='" + currentSlide + "']");
1463
+
1464
+ if ("null" != settings.animation) {
1465
+ $inViewPort.siblings().find(
1466
+ "p, h1, h2, h3, h4, h5, h6, span, a, img, i, button").removeClass(
1467
+ settings.animation).addClass(
1468
+ "premium-carousel-content-hidden");
1469
+ }
1470
+ });
1471
+
1472
+ if (settings.vertical) {
1473
+
1474
+ var maxHeight = -1;
1475
+
1476
+ elementorFrontend.elements.$window.on('load', function () {
1477
+ $carouselElem.find(".slick-slide").each(function () {
1478
+ if ($(this).height() > maxHeight) {
1479
+ maxHeight = $(this).height();
1480
+ }
1481
+ });
1482
+ $carouselElem.find(".slick-slide").each(function () {
1483
+ if ($(this).height() < maxHeight) {
1484
+ $(this).css("margin", Math.ceil(
1485
+ (maxHeight - $(this).height()) / 2) + "px 0");
1486
+ }
1487
+ });
1488
+ });
1489
+ }
1490
+ var marginFix = {
1491
+ element: $("a.ver-carousel-arrow"),
1492
+ getWidth: function () {
1493
+ var width = this.element.outerWidth();
1494
+ return width / 2;
1495
+ },
1496
+ setWidth: function (type) {
1497
+ type = type || "vertical";
1498
+ if (type == "vertical") {
1499
+ this.element.css("margin-left", "-" + this.getWidth() + "px");
1500
+ } else {
1501
+ this.element.css("margin-top", "-" + this.getWidth() + "px");
1502
+ }
1503
+ }
1504
+ };
1505
+ marginFix.setWidth();
1506
+ marginFix.element = $("a.carousel-arrow");
1507
+ marginFix.setWidth("horizontal");
1508
+
1509
+ $(document).ready(function () {
1510
+
1511
+ settings.navigation.map(function (item, index) {
1512
+
1513
+ if (item) {
1514
+
1515
+ $(item).on("click", function () {
1516
+
1517
+ var currentActive = $carouselElem.find(".premium-carousel-inner").slick("slickCurrentSlide");
1518
+
1519
+ if (index !== currentActive) {
1520
+ $carouselElem.find(".premium-carousel-inner").slick("slickGoTo", index)
1521
+ }
1522
+
1523
+ })
1524
+ }
1525
+
1526
+ })
1527
+ })
1528
+
1529
+ };
1530
+
1531
+ var PremiumBannerHandler = ModuleHandler.extend({
1532
+
1533
+ getDefaultSettings: function () {
1534
+
1535
+ return {
1536
+ selectors: {
1537
+ bannerImgWrap: '.premium-banner-ib',
1538
+ bannerImg: 'img',
1539
+ }
1540
+ }
1541
+
1542
+ },
1543
+
1544
+ getDefaultElements: function () {
1545
+
1546
+ var selectors = this.getSettings('selectors');
1547
+
1548
+ return {
1549
+ $bannerImgWrap: this.$element.find(selectors.bannerImgWrap),
1550
+ $bannerImg: this.$element.find(selectors.bannerImg)
1551
+ }
1552
+
1553
+ },
1554
+
1555
+ bindEvents: function () {
1556
+
1557
+ var _this = this;
1558
+
1559
+ _this.elements.$bannerImgWrap.hover(function () {
1560
+ _this.elements.$bannerImg.addClass("active");
1561
+ }, function () {
1562
+ _this.elements.$bannerImg.removeClass("active");
1563
+ });
1564
+
1565
+ this.run();
1566
+ },
1567
+
1568
+ run: function () {
1569
+
1570
+ var $bannerElement = this.$element;
1571
+
1572
+ if ($bannerElement.hasClass("premium-banner-tilt-yes")) {
1573
+
1574
+ var reverse = $bannerElement.hasClass("premium-banner-tilt-rev-yes");
1575
+
1576
+ UniversalTilt.init({
1577
+ elements: $bannerElement.closest(".elementor-widget"),
1578
+ settings: {
1579
+ reverse: reverse
1580
+ },
1581
+ callbacks: {
1582
+ onMouseLeave: function (el) {
1583
+ el.style.boxShadow = "0 45px 100px rgba(255, 255, 255, 0)";
1584
+ },
1585
+ onDeviceMove: function (el) {
1586
+ el.style.boxShadow = "0 45px 100px rgba(255, 255, 255, 0.3)";
1587
+ }
1588
+ }
1589
+ });
1590
+
1591
+ }
1592
+ }
1593
+
1594
+ });
1595
+
1596
+ /****** Premium Modal Box Handler ******/
1597
+ var PremiumModalBoxHandler = function ($scope, $) {
1598
+
1599
+ var $modalElem = $scope.find(".premium-modal-box-container"),
1600
+ settings = $modalElem.data("settings"),
1601
+ $modal = $modalElem.find(".premium-modal-box-modal-dialog");
1602
+
1603
+ if (!settings) {
1604
+ return;
1605
+ }
1606
+
1607
+ if (settings.trigger === "pageload") {
1608
+ $(document).ready(function ($) {
1609
+ setTimeout(function () {
1610
+ $modalElem.find(".premium-modal-box-modal").modal();
1611
+ }, settings.delay * 1000);
1612
+ });
1613
+ }
1614
+
1615
+ if ($modal.data("modal-animation") && " " != $modal.data("modal-animation")) {
1616
+
1617
+ var animationDelay = $modal.data('delay-animation');
1618
+
1619
+ new Waypoint({
1620
+ element: $modal,
1621
+ handler: function () {
1622
+ setTimeout(function () {
1623
+ $modal.css("opacity", "1").addClass("animated " + $modal.data("modal-animation"));
1624
+ }, animationDelay * 1000);
1625
+ this.destroy();
1626
+ },
1627
+ offset: Waypoint.viewportHeight() - 150,
1628
+ });
1629
+ }
1630
+ };
1631
+
1632
+ /****** Premium Blog Handler ******/
1633
+ var PremiumBlogHandler = ModuleHandler.extend({
1634
+
1635
+ settings: {},
1636
+
1637
+ getDefaultSettings: function () {
1638
+ return {
1639
+ selectors: {
1640
+ user: '.fa-user',
1641
+ activeCat: '.category.active',
1642
+ loading: '.premium-loading-feed',
1643
+ blogElement: '.premium-blog-wrap',
1644
+ blogFilterTabs: '.premium-blog-filter',
1645
+ contentWrapper: '.premium-blog-content-wrapper',
1646
+ blogPost: '.premium-blog-post-outer-container',
1647
+ metaSeparators: '.premium-blog-meta-separator',
1648
+ filterLinks: '.premium-blog-filters-container li a',
1649
+ currentPage: '.premium-blog-pagination-container .page-numbers.current',
1650
+ activeElememnt: '.premium-blog-filters-container li .active',
1651
+ }
1652
+ }
1653
+ },
1654
+
1655
+ getDefaultElements: function () {
1656
+ var selectors = this.getSettings('selectors'),
1657
+ elements = {
1658
+ $blogElement: this.$element.find(selectors.blogElement),
1659
+ $blogFilterTabs: this.$element.find(selectors.blogFilterTabs),
1660
+ $activeCat: this.$element.find(selectors.activeCat),
1661
+ $filterLinks: this.$element.find(selectors.filterLinks),
1662
+ $blogPost: this.$element.find(selectors.blogPost),
1663
+ $contentWrapper: this.$element.find(selectors.contentWrapper)
1664
+ };
1665
+
1666
+ return elements;
1667
+ },
1668
+
1669
+ bindEvents: function () {
1670
+ this.setLayoutSettings();
1671
+ this.removeMetaSeparators();
1672
+ this.run();
1673
+ },
1674
+
1675
+ setLayoutSettings: function () {
1676
+
1677
+ var settings = this.getElementSettings(),
1678
+ $blogPost = this.elements.$blogPost;
1679
+
1680
+ var layoutSettings = {
1681
+ pageNumber: 1,
1682
+ isLoaded: true,
1683
+ count: 2,
1684
+ equalHeight: settings.force_height,
1685
+ layout: settings.premium_blog_layout,
1686
+ carousel: 'yes' === settings.premium_blog_carousel ? true : false,
1687
+ infinite: 'yes' === settings.premium_blog_infinite_scroll ? true : false,
1688
+ scrollAfter: 'yes' === settings.scroll_to_offset ? true : false,
1689
+ grid: 'yes' === settings.premium_blog_grid ? true : false,
1690
+ total: $blogPost.data('total'),
1691
+ };
1692
+
1693
+
1694
+ if (layoutSettings.carousel) {
1695
+
1696
+ layoutSettings.slidesToScroll = settings.slides_to_scroll;
1697
+ layoutSettings.spacing = parseInt(settings.premium_blog_carousel_spacing);
1698
+ layoutSettings.autoPlay = 'yes' === settings.premium_blog_carousel_play ? true : false;
1699
+ layoutSettings.arrows = 'yes' === settings.premium_blog_carousel_arrows ? true : false;
1700
+ layoutSettings.fade = 'yes' === settings.premium_blog_carousel_fade ? true : false;
1701
+ layoutSettings.center = 'yes' === settings.premium_blog_carousel_center ? true : false;
1702
+ layoutSettings.dots = 'yes' === settings.premium_blog_carousel_dots ? true : false;
1703
+ layoutSettings.speed = '' !== settings.premium_blog_carousel_autoplay_speed ? parseInt(settings.premium_blog_carousel_autoplay_speed) : 5000;
1704
+
1705
+ }
1706
+
1707
+ this.settings = layoutSettings;
1708
+
1709
+ },
1710
+
1711
+ removeMetaSeparators: function () {
1712
+
1713
+ var selectors = this.getSettings('selectors'),
1714
+ $blogPost = this.$element.find(selectors.blogPost);
1715
+
1716
+ var $metaSeparators = $blogPost.first().find(selectors.metaSeparators),
1717
+ $user = $blogPost.find(selectors.user);
1718
+
1719
+ if (1 === $metaSeparators.length) {
1720
+ //If two meta only are enabled. One of them is author meta.
1721
+ if (!$user.length) {
1722
+ $blogPost.find(selectors.metaSeparators).remove();
1723
+ }
1724
+
1725
+ } else {
1726
+ if (!$user.length) {
1727
+ $blogPost.each(function (index, post) {
1728
+ $(post).find(selectors.metaSeparators).first().remove();
1729
+ });
1730
+ }
1731
+ }
1732
+
1733
+ },
1734
+ run: function () {
1735
+
1736
+ var _this = this,
1737
+ $blogElement = this.elements.$blogElement,
1738
+ $activeCategory = this.elements.$activeCat.data('filter'),
1739
+ $filterTabs = this.elements.$blogFilterTabs.length,
1740
+ pagination = $blogElement.data("pagination");
1741
+
1742
+ this.settings.activeCategory = $activeCategory;
1743
+ this.settings.filterTabs = $filterTabs;
1744
+
1745
+
1746
+
1747
+ if (this.settings.filterTabs) {
1748
+ this.filterTabs();
1749
+ }
1750
+
1751
+ if (!this.settings.filterTabs || "*" === this.settings.activeCategory) {
1752
+ if ("masonry" === this.settings.layout && !this.settings.carousel) {
1753
+ $blogElement.imagesLoaded(function () {
1754
+ $blogElement.isotope(_this.getIsoTopeSettings());
1755
+ });
1756
+ }
1757
+ } else {
1758
+ //If `All` categories not exist, then we need to get posts through AJAX.
1759
+ this.getPostsByAjax(false);
1760
+ }
1761
+
1762
+ if (this.settings.carousel) {
1763
+ $blogElement.slick(this.getSlickSettings());
1764
+
1765
+ $blogElement.removeClass("premium-carousel-hidden");
1766
+ }
1767
+
1768
+ if ("even" === this.settings.layout && this.settings.equalHeight) {
1769
+ $blogElement.imagesLoaded(function () {
1770
+ _this.forceEqualHeight();
1771
+ });
1772
+ }
1773
+
1774
+ if (pagination) {
1775
+ this.paginate();
1776
+ }
1777
+
1778
+ if (this.settings.infinite && $blogElement.is(":visible")) {
1779
+ this.getInfiniteScrollPosts();
1780
+ }
1781
+
1782
+ },
1783
+
1784
+ paginate: function () {
1785
+ var _this = this,
1786
+ $scope = this.$element,
1787
+ selectors = this.getSettings('selectors');
1788
+
1789
+ $scope.on('click', '.premium-blog-pagination-container .page-numbers', function (e) {
1790
+
1791
+ e.preventDefault();
1792
+
1793
+ if ($(this).hasClass("current")) return;
1794
+
1795
+ var currentPage = parseInt($scope.find(selectors.currentPage).html());
1796
+
1797
+ if ($(this).hasClass('next')) {
1798
+ _this.settings.pageNumber = currentPage + 1;
1799
+ } else if ($(this).hasClass('prev')) {
1800
+ _this.settings.pageNumber = currentPage - 1;
1801
+ } else {
1802
+ _this.settings.pageNumber = $(this).html();
1803
+ }
1804
+
1805
+ _this.getPostsByAjax(_this.settings.scrollAfter);
1806
+
1807
+ })
1808
+ },
1809
+
1810
+ forceEqualHeight: function () {
1811
+ var heights = new Array(),
1812
+ contentWrapper = this.getSettings('selectors').contentWrapper,
1813
+ $blogWrapper = this.$element.find(contentWrapper);
1814
+
1815
+ $blogWrapper.each(function (index, post) {
1816
+
1817
+ var height = $(post).outerHeight();
1818
+
1819
+ heights.push(height);
1820
+ });
1821
+
1822
+ var maxHeight = Math.max.apply(null, heights);
1823
+
1824
+ $blogWrapper.css("height", maxHeight + "px");
1825
+ },
1826
+
1827
+ getSlickSettings: function () {
1828
+
1829
+ var settings = this.settings,
1830
+ slickCols = settings.grid ? this.getSlickCols() : null,
1831
+ cols = settings.grid ? slickCols.cols : 1,
1832
+ colsTablet = settings.grid ? slickCols.colsTablet : 1,
1833
+ colsMobile = settings.grid ? slickCols.colsMobile : 1,
1834
+ prevArrow = settings.arrows ? '<a type="button" data-role="none" class="carousel-arrow carousel-prev" aria-label="Previous" role="button" style=""><i class="fas fa-angle-left" aria-hidden="true"></i></a>' : '',
1835
+ nextArrow = settings.arrows ? '<a type="button" data-role="none" class="carousel-arrow carousel-next" aria-label="Next" role="button" style=""><i class="fas fa-angle-right" aria-hidden="true"></i></a>' : '';
1836
+
1837
+ return {
1838
+ infinite: true,
1839
+ slidesToShow: cols,
1840
+ slidesToScroll: settings.slidesToScroll || cols,
1841
+ responsive: [{
1842
+ breakpoint: 1025,
1843
+ settings: {
1844
+ slidesToShow: colsTablet,
1845
+ slidesToScroll: 1
1846
+ }
1847
+ },
1848
+ {
1849
+ breakpoint: 768,
1850
+ settings: {
1851
+ slidesToShow: colsMobile,
1852
+ slidesToScroll: 1
1853
+ }
1854
+ }
1855
+ ],
1856
+ autoplay: settings.autoPlay,
1857
+ rows: 0,
1858
+ autoplaySpeed: settings.speed,
1859
+ nextArrow: nextArrow,
1860
+ prevArrow: prevArrow,
1861
+ fade: settings.fade,
1862
+ centerMode: settings.center,
1863
+ centerPadding: settings.spacing + "px",
1864
+ draggable: true,
1865
+ dots: settings.dots,
1866
+ customPaging: function () {
1867
+ return '<i class="fas fa-circle"></i>';
1868
+ }
1869
+ }
1870
+
1871
+ },
1872
+
1873
+ getSlickCols: function () {
1874
+ var slickCols = this.getElementSettings(),
1875
+ cols = slickCols.premium_blog_columns_number,
1876
+ colsTablet = slickCols.premium_blog_columns_number_tablet,
1877
+ colsMobile = slickCols.premium_blog_columns_number_mobile;
1878
+
1879
+ return {
1880
+ cols: parseInt(100 / cols.substr(0, cols.indexOf('%'))),
1881
+ colsTablet: parseInt(100 / colsTablet.substr(0, colsTablet.indexOf('%'))),
1882
+ colsMobile: parseInt(100 / colsMobile.substr(0, colsMobile.indexOf('%'))),
1883
+ }
1884
+
1885
+ },
1886
+
1887
+ getIsoTopeSettings: function () {
1888
+ return {
1889
+ itemSelector: ".premium-blog-post-outer-container",
1890
+ percentPosition: true,
1891
+ filter: this.settings.activeCategory,
1892
+ animationOptions: {
1893
+ duration: 750,
1894
+ easing: "linear",
1895
+ queue: false
1896
+ }
1897
+ }
1898
+ },
1899
+
1900
+ filterTabs: function () {
1901
+
1902
+ var _this = this,
1903
+ selectors = this.getSettings('selectors'),
1904
+ $filterLinks = this.elements.$filterLinks;
1905
+
1906
+ $filterLinks.click(function (e) {
1907
+
1908
+ e.preventDefault();
1909
+
1910
+ _this.$element.find(selectors.activeElememnt).removeClass("active");
1911
+
1912
+ $(this).addClass("active");
1913
+
1914
+ //Get clicked tab slug
1915
+ _this.settings.activeCategory = $(this).attr("data-filter");
1916
+
1917
+ _this.settings.pageNumber = 1;
1918
+
1919
+ if (_this.settings.infinite) {
1920
+ _this.getPostsByAjax(false);
1921
+ _this.settings.count = 2;
1922
+ _this.getInfiniteScrollPosts();
1923
+ } else {
1924
+ //Make sure to reset pagination before sending our AJAX request
1925
+ _this.getPostsByAjax(_this.settings.scrollAfter);
1926
+ }
1927
+
1928
+ });
1929
+ },
1930
+
1931
+ getPostsByAjax: function (shouldScroll) {
1932
+
1933
+ //If filter tabs is not enabled, then always set category to all.
1934
+ if ('undefined' === typeof this.settings.activeCategory) {
1935
+ this.settings.activeCategory = '*';
1936
+ }
1937
+
1938
+ var _this = this,
1939
+ $blogElement = this.elements.$blogElement,
1940
+ selectors = this.getSettings('selectors');
1941
+
1942
+ $.ajax({
1943
+ url: PremiumSettings.ajaxurl,
1944
+ dataType: 'json',
1945
+ type: 'POST',
1946
+ data: {
1947
+ action: 'pa_get_posts',
1948
+ page_id: $blogElement.data('page'),
1949
+ widget_id: _this.$element.data('id'),
1950
+ page_number: _this.settings.pageNumber,
1951
+ category: _this.settings.activeCategory,
1952
+ nonce: PremiumSettings.nonce,
1953
+ },
1954
+ beforeSend: function () {
1955
+
1956
+ $blogElement.append('<div class="premium-loading-feed"><div class="premium-loader"></div></div>');
1957
+
1958
+ if (shouldScroll) {
1959
+ $('html, body').animate({
1960
+ scrollTop: (($blogElement.offset().top) - 50)
1961
+ }, 'slow');
1962
+ }
1963
+
1964
+ },
1965
+ success: function (res) {
1966
+ if (!res.data)
1967
+ return;
1968
+
1969
+ $blogElement.find(selectors.loading).remove();
1970
+
1971
+ var posts = res.data.posts,
1972
+ paging = res.data.paging;
1973
+
1974
+ if (_this.settings.infinite) {
1975
+ _this.settings.isLoaded = true;
1976
+ if (_this.settings.filterTabs && _this.settings.pageNumber === 1) {
1977
+ $blogElement.html(posts);
1978
+ } else {
1979
+ $blogElement.append(posts);
1980
+ }
1981
+ } else {
1982
+ //Render the new markup into the widget
1983
+ $blogElement.html(posts);
1984
+
1985
+ _this.$element.find(".premium-blog-footer").html(paging);
1986
+ }
1987
+
1988
+ _this.removeMetaSeparators();
1989
+
1990
+ //Make sure grid option is enabled.
1991
+ if (_this.settings.layout) {
1992
+ if ("even" === _this.settings.layout) {
1993
+ if (_this.settings.equalHeight)
1994
+ _this.forceEqualHeight();
1995
+
1996
+ } else {
1997
+
1998
+ $blogElement.imagesLoaded(function () {
1999
+
2000
+ $blogElement.isotope('reloadItems');
2001
+ $blogElement.isotope({
2002
+ itemSelector: ".premium-blog-post-outer-container",
2003
+ animate: false
2004
+ });
2005
+ });
2006
+ }
2007
+ }
2008
+
2009
+ },
2010
+ error: function (err) {
2011
+ console.log(err);
2012
+ }
2013
+
2014
+ });
2015
+ },
2016
+
2017
+ getInfiniteScrollPosts: function () {
2018
+ var windowHeight = jQuery(window).outerHeight() / 1.25,
2019
+ _this = this;
2020
+
2021
+ $(window).scroll(function () {
2022
+
2023
+ if (_this.settings.filterTabs) {
2024
+ $blogPost = _this.elements.$blogElement.find(".premium-blog-post-outer-container");
2025
+ _this.settings.total = $blogPost.data('total');
2026
+ }
2027
+
2028
+ if (_this.settings.count <= _this.settings.total) {
2029
+ if (($(window).scrollTop() + windowHeight) >= (_this.$element.find('.premium-blog-post-outer-container:last').offset().top)) {
2030
+ if (true == _this.settings.isLoaded) {
2031
+ _this.settings.pageNumber = _this.settings.count;
2032
+ _this.getPostsByAjax(false);
2033
+ _this.settings.count++;
2034
+ _this.settings.isLoaded = false;
2035
+ }
2036
+
2037
+ }
2038
+ }
2039
+ });
2040
+ },
2041
+
2042
+ });
2043
+
2044
+ /****** Premium Image Scroll Handler ******/
2045
+ var PremiumImageScrollHandler = function ($scope, $) {
2046
+ var scrollElement = $scope.find(".premium-image-scroll-container"),
2047
+ scrollOverlay = scrollElement.find(".premium-image-scroll-overlay"),
2048
+ scrollVertical = scrollElement.find(".premium-image-scroll-vertical"),
2049
+ dataElement = scrollElement.data("settings"),
2050
+ imageScroll = scrollElement.find("img"),
2051
+ direction = dataElement["direction"],
2052
+ reverse = dataElement["reverse"],
2053
+ transformOffset = null;
2054
+
2055
+ function startTransform() {
2056
+ imageScroll.css("transform", (direction === "vertical" ? "translateY" : "translateX") + "( -" +
2057
+ transformOffset + "px)");
2058
+ }
2059
+
2060
+ function endTransform() {
2061
+ imageScroll.css("transform", (direction === "vertical" ? "translateY" : "translateX") + "(0px)");
2062
+ }
2063
+
2064
+ function setTransform() {
2065
+ if (direction === "vertical") {
2066
+ transformOffset = imageScroll.height() - scrollElement.height();
2067
+ } else {
2068
+ transformOffset = imageScroll.width() - scrollElement.width();
2069
+ }
2070
+ }
2071
+ if (dataElement["trigger"] === "scroll") {
2072
+ scrollElement.addClass("premium-container-scroll");
2073
+ if (direction === "vertical") {
2074
+ scrollVertical.addClass("premium-image-scroll-ver");
2075
+ } else {
2076
+ scrollElement.imagesLoaded(function () {
2077
+ scrollOverlay.css({
2078
+ width: imageScroll.width(),
2079
+ height: imageScroll.height()
2080
+ });
2081
+ });
2082
+ }
2083
+ } else {
2084
+ if (reverse === "yes") {
2085
+ scrollElement.imagesLoaded(function () {
2086
+ scrollElement.addClass("premium-container-scroll-instant");
2087
+ setTransform();
2088
+ startTransform();
2089
+ });
2090
+ }
2091
+ if (direction === "vertical") {
2092
+ scrollVertical.removeClass("premium-image-scroll-ver");
2093
+ }
2094
+ scrollElement.mouseenter(function () {
2095
+ scrollElement.removeClass("premium-container-scroll-instant");
2096
+ setTransform();
2097
+ reverse === "yes" ? endTransform() : startTransform();
2098
+ });
2099
+ scrollElement.mouseleave(function () {
2100
+ reverse === "yes" ? startTransform() : endTransform();
2101
+ });
2102
+ }
2103
+ };
2104
+
2105
+
2106
+ /****** Premium Contact Form 7 Handler ******/
2107
+ var PremiumContactFormHandler = function ($scope, $) {
2108
+
2109
+ var $contactForm = $scope.find(".premium-cf7-container");
2110
+ var $input = $contactForm.find(
2111
+ 'input[type="text"], input[type="email"], textarea, input[type="password"], input[type="date"], input[type="number"], input[type="tel"], input[type="file"], input[type="url"]'
2112
+ );
2113
+
2114
+ $input.wrap("<span class='wpcf7-span'>");
2115
+
2116
+ $input.on("focus blur", function () {
2117
+ $(this).closest(".wpcf7-span").toggleClass("is-focused");
2118
+ });
2119
+ };
2120
+
2121
+ /****** Premium Team Members Handler ******/
2122
+ var PremiumTeamMembersHandler = ModuleHandler.extend({
2123
+
2124
+ getDefaultSettings: function () {
2125
+
2126
+ return {
2127
+ slick: {
2128
+ infinite: true,
2129
+ rows: 0,
2130
+ prevArrow: '<a type="button" data-role="none" class="carousel-arrow carousel-prev" aria-label="Next" role="button" style=""><i class="fas fa-angle-left" aria-hidden="true"></i></a>',
2131
+ nextArrow: '<a type="button" data-role="none" class="carousel-arrow carousel-next" aria-label="Next" role="button" style=""><i class="fas fa-angle-right" aria-hidden="true"></i></a>',
2132
+ draggable: true,
2133
+ pauseOnHover: true,
2134
+ },
2135
+ selectors: {
2136
+ multiplePersons: '.multiple-persons',
2137
+ person: '.premium-person-container',
2138
+ personCarousel: '.premium-person-container.slick-active',
2139
+ personImg: '.premium-person-image-container img',
2140
+
2141
+ }
2142
+ }
2143
+ },
2144
+
2145
+ getDefaultElements: function () {
2146
+
2147
+ var selectors = this.getSettings('selectors');
2148
+
2149
+ return {
2150
+ $multiplePersons: this.$element.find(selectors.multiplePersons),
2151
+ $persons: this.$element.find(selectors.person),
2152
+ $personImg: this.$element.find(selectors.personImg),
2153
+ }
2154
+
2155
+ },
2156
+ bindEvents: function () {
2157
+ this.run();
2158
+ },
2159
+ getSlickSettings: function () {
2160
+
2161
+ var settings = this.getElementSettings(),
2162
+ rtl = this.elements.$multiplePersons.data("rtl"),
2163
+ colsNumber = settings.persons_per_row,
2164
+ colsTablet = settings.persons_per_row_tablet,
2165
+ colsMobile = settings.persons_per_row_mobile;
2166
+
2167
+ return Object.assign(this.getSettings('slick'), {
2168
+
2169
+ slidesToShow: parseInt(100 / colsNumber.substr(0, colsNumber.indexOf('%'))),
2170
+ slidesToScroll: parseInt(100 / colsNumber.substr(0, colsNumber.indexOf('%'))),
2171
+ responsive: [{
2172
+ breakpoint: 1025,
2173
+ settings: {
2174
+ slidesToShow: parseInt(100 / colsTablet.substr(0, colsTablet.indexOf('%'))),
2175
+ slidesToScroll: 1
2176
+ }
2177
+ },
2178
+ {
2179
+ breakpoint: 768,
2180
+ settings: {
2181
+ slidesToShow: parseInt(100 / colsMobile.substr(0, colsMobile.indexOf('%'))),
2182
+ slidesToScroll: 1
2183
+ }
2184
+ }
2185
+ ],
2186
+ autoplay: settings.carousel_play,
2187
+ rtl: rtl ? true : false,
2188
+ autoplaySpeed: settings.speed || 5000,
2189
+
2190
+ });
2191
+
2192
+
2193
+ },
2194
+
2195
+ runEqualHeight: function () {
2196
+
2197
+ var $persons = this.elements.$persons,
2198
+ $personImg = this.elements.$personImg;
2199
+
2200
+ var selectors = this.getSettings('selectors'),
2201
+ carousel = this.getElementSettings('carousel'),
2202
+ heights = new Array();
2203
+
2204
+ if (carousel) {
2205
+ $persons = this.$element.find(selectors.personCarousel);
2206
+ }
2207
+
2208
+ $persons.each(function (index, person) {
2209
+ $(person).imagesLoaded(function () { }).done(function () {
2210
+
2211
+ var imageHeight = $(person).find(selectors.personImg).outerHeight();
2212
+
2213
+ heights.push(imageHeight);
2214
+ });
2215
+ });
2216
+
2217
+ $persons.imagesLoaded(function () { }).done(function () {
2218
+ var maxHeight = Math.max.apply(null, heights);
2219
+ $personImg.css("height", maxHeight + "px");
2220
+ });
2221
+
2222
+ },
2223
+
2224
+ run: function () {
2225
+
2226
+ var $multiplePersons = this.elements.$multiplePersons,
2227
+ _this = this;
2228
+
2229
+ if (!$multiplePersons.length) return;
2230
+
2231
+ if ("yes" === $multiplePersons.data("persons-equal")) {
2232
+ this.runEqualHeight();
2233
+ }
2234
+
2235
+ var carousel = this.getElementSettings('carousel');
2236
+
2237
+ if (carousel)
2238
+ $multiplePersons.slick(this.getSlickSettings());
2239
+
2240
+ }
2241
+
2242
+ });
2243
+
2244
+ /****** Premium Title Handler ******/
2245
+ var PremiumTitleHandler = function ($scope, $) {
2246
+
2247
+ var $titleContainer = $scope.find(".premium-title-container"),
2248
+ $titleElement = $titleContainer.find('.premium-title-text');
2249
+
2250
+ if ($titleContainer.hasClass('style9')) {
2251
+ var $style9 = $scope.find(".premium-title-style9");
2252
+
2253
+ $style9.each(function () {
2254
+ var elm = $(this);
2255
+ var holdTime = elm.attr('data-blur-delay') * 1000;
2256
+ elm.attr('data-animation-blur', 'process')
2257
+ elm.find('.premium-title-style9-letter').each(function (index, letter) {
2258
+ index += 1;
2259
+ var animateDelay;
2260
+ if ($('body').hasClass('rtl')) {
2261
+ animateDelay = 0.2 / index + 's';
2262
+ } else {
2263
+ animateDelay = index / 20 + 's';
2264
+ }
2265
+ $(letter).css({
2266
+ '-webkit-animation-delay': animateDelay,
2267
+ 'animation-delay': animateDelay
2268
+ });
2269
+ })
2270
+ setInterval(function () {
2271
+ elm.attr('data-animation-blur', 'done')
2272
+ setTimeout(function () {
2273
+ elm.attr('data-animation-blur', 'process')
2274
+ }, 150);
2275
+ }, holdTime);
2276
+ });
2277
+ }
2278
+
2279
+
2280
+ if ($titleContainer.hasClass('style8')) {
2281
+
2282
+ var holdTime = $titleElement.attr('data-shiny-delay') * 1000,
2283
+ duration = $titleElement.attr('data-shiny-dur') * 1000;
2284
+
2285
+ function shinyEffect() {
2286
+ $titleElement.get(0).setAttribute('data-animation', 'shiny');
2287
+ setTimeout(function () {
2288
+ $titleElement.removeAttr('data-animation')
2289
+ }, duration);
2290
+ }
2291
+
2292
+ (function repeat() {
2293
+ shinyEffect();
2294
+ setTimeout(repeat, holdTime);
2295
+ })();
2296
+ }
2297
+
2298
+ };
2299
+
2300
+ /****** Premium Bullet List Handler ******/
2301
+ var PremiumBulletListHandler = function ($scope, $) {
2302
+
2303
+ var $listItems = $scope.find(".premium-bullet-list-box"),
2304
+ items = $listItems.find(".premium-bullet-list-content");
2305
+
2306
+ items.each(function (index, item) {
2307
+
2308
+ if ($listItems.data("list-animation") && " " != $listItems.data("list-animation")) {
2309
+ elementorFrontend.waypoint($(item), function () {
2310
+
2311
+ var element = $(item),
2312
+ delay = element.data('delay');
2313
+
2314
+ setTimeout(function () {
2315
+ element.next('.premium-bullet-list-divider , .premium-bullet-list-divider-inline').css("opacity", "1");
2316
+ element.next('.premium-bullet-list-divider-inline , .premium-bullet-list-divider').addClass("animated " + $listItems.data("list-animation"));
2317
+
2318
+ element.css("opacity", "1").addClass("animated " + $listItems.data("list-animation"));
2319
+ }, delay);
2320
+
2321
+ });
2322
+ }
2323
+
2324
+ });
2325
+ };
2326
+
2327
+ /****** Premium Grow Effect Handler ******/
2328
+ var PremiumButtonHandler = function ($scope, $) {
2329
+
2330
+ var $btnGrow = $scope.find('.premium-button-style6-bg');
2331
+
2332
+ if ($btnGrow.length !== 0 && $scope.hasClass('premium-mouse-detect-yes')) {
2333
+ $scope.on('mouseenter mouseleave', '.premium-button-style6', function (e) {
2334
+
2335
+ var parentOffset = $(this).offset(),
2336
+ left = e.pageX - parentOffset.left,
2337
+ top = e.pageY - parentOffset.top;
2338
+
2339
+ $btnGrow.css({
2340
+ top: top,
2341
+ left: left,
2342
+ });
2343
+
2344
+ });
2345
+ }
2346
+
2347
+ };
2348
+
2349
+ var PremiumMaskHandler = function ($scope, $) {
2350
+ var mask = $scope.hasClass('premium-mask-yes');
2351
+
2352
+ if (!mask) return;
2353
+
2354
+ if ('premium-addon-title.default' === $scope.data('widget_type')) {
2355
+ var target = '.premium-title-header';
2356
+ $scope.find(target).find('.premium-title-icon, .premium-title-img').addClass('premium-mask-span');
2357
+ } else {
2358
+ var target = '.premium-dual-header-first-header';
2359
+ }
2360
+
2361
+ $scope.find(target).find('span:not(.premium-title-style7-stripe-wrap):not(.premium-title-img)').each(function (index, span) {
2362
+ var html = '';
2363
+
2364
+ $(this).text().split(' ').forEach(function (item) {
2365
+ if ('' !== item) {
2366
+ html += ' <span class="premium-mask-span">' + item + '</span>';
2367
+ }
2368
+ });
2369
+
2370
+ $(this).text('').append(html);
2371
+ });
2372
+
2373
+ elementorFrontend.waypoint($scope, function () {
2374
+ $($scope).addClass('premium-mask-active');
2375
+ });
2376
+ };
2377
+
2378
+ /**Premium Nav Menu */
2379
+ var PremiumNavMenuHandler = function ($scope, $) {
2380
+
2381
+ // we don't need to wait for content dom load since the script is loaded in the footer.
2382
+ $scope.find('.premium-nav-widget-container').removeClass('elementor-invisible');
2383
+
2384
+ var settings = $scope.find('.premium-nav-widget-container').data('settings');
2385
+
2386
+ if (!settings) {
2387
+ return;
2388
+ }
2389
+
2390
+ var $menuContainer = $scope.find('.premium-mobile-menu'),
2391
+ $menuToggler = $scope.find('.premium-hamburger-toggle'),
2392
+ $hamMenuCloser = $scope.find('.premium-mobile-menu-close'),
2393
+ $centeredItems = $scope.find('.premium-mega-content-centered'),
2394
+ $fullWidthItems = $scope.find('.premium-nav-menu-container li[data-full-width="true"]'),
2395
+ stickyProps = {},
2396
+ refreshPos = false,
2397
+ stickyIndex = 'stickyPos' + $scope.data('id'),
2398
+ stickyWidthIndex = 'stickyWidth' + $scope.data('id');
2399
+
2400
+ /**
2401
+ * Save current device to use it later to determine if the device changed on resize.
2402
+ */
2403
+ window.PaCurrStickyDevice = elementorFrontend.getCurrentDeviceMode();
2404
+
2405
+ $centeredItems.each(function (index, item) {
2406
+ $(item).closest(".premium-nav-menu-item").addClass("premium-mega-item-static");
2407
+ });
2408
+
2409
+ if ('slide' === settings.mobileLayout || 'slide' === settings.mainLayout) {
2410
+ $scope.addClass('premium-ver-hamburger-menu');
2411
+ }
2412
+
2413
+ var isMobileMenu = isDesktopMenu = null;
2414
+ checkBreakPoint(settings);
2415
+
2416
+ if ($scope.hasClass('premium-nav-hor')) {
2417
+ checkMegaContentWidth();
2418
+ }
2419
+
2420
+ checkStickyEffect();
2421
+
2422
+ // Set menu items to full width.
2423
+ function checkMegaContentWidth() {
2424
+ $fullWidthItems.each(function (index, item) {
2425
+ fullWidthContent($(item));
2426
+ });
2427
+ }
2428
+
2429
+ $hamMenuCloser.on('click', function () {
2430
+ $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').removeClass('premium-vertical-toggle-open');
2431
+ });
2432
+
2433
+ $menuToggler.on('click', function () {
2434
+ if ('slide' === settings.mobileLayout || 'slide' === settings.mainLayout) {
2435
+ $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').addClass('premium-vertical-toggle-open');
2436
+ } else {
2437
+ // $menuContainer.toggleClass('premium-active-menu');
2438
+ if ($($menuContainer).hasClass('premium-active-menu')) {
2439
+ $scope.find('.premium-mobile-menu-container').slideUp('slow', function () {
2440
+ $menuContainer.removeClass('premium-active-menu');
2441
+ $scope.find('.premium-mobile-menu-container').show();
2442
+ });
2443
+ } else {
2444
+
2445
+ $menuContainer.addClass('premium-active-menu');
2446
+ }
2447
+ }
2448
+
2449
+ $menuToggler.toggleClass('premium-toggle-opened'); // show/hide close icon/text.
2450
+ });
2451
+
2452
+ $menuContainer.find('.premium-nav-menu-item.menu-item-has-children a, .premium-mega-nav-item a').on('click', function (e) {
2453
+
2454
+ if ($(this).find(".premium-dropdown-icon").length < 1)
2455
+ return;
2456
+
2457
+ var $parent = $(this).parent(".premium-nav-menu-item");
2458
+
2459
+ e.stopPropagation();
2460
+ e.preventDefault();
2461
+
2462
+ //If it was opened, then close it.
2463
+ if ($parent.hasClass('premium-active-menu')) {
2464
+ $parent.toggleClass('premium-active-menu');
2465
+
2466
+ } else {
2467
+ //Close any other opened items.
2468
+ $menuContainer.find('.premium-active-menu').toggleClass('premium-active-menu');
2469
+ //Then, open this item.
2470
+ $parent.toggleClass('premium-active-menu');
2471
+ // make sure the parent node is always open whenever the child node is opened.
2472
+ $($parent).parents('.premium-nav-menu-item.menu-item-has-children').toggleClass('premium-active-menu');
2473
+ }
2474
+ });
2475
+
2476
+ $(document).on('click', '.premium-nav-slide-overlay', function () {
2477
+ $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').removeClass('premium-vertical-toggle-open');
2478
+ });
2479
+
2480
+ $(document).on('click.PaCloseMegaMenu', function (event) {
2481
+ var isTabsItem = $(event.target).closest('.premium-tabs-nav-list-item').length,
2482
+ isWidgetContainer = $(event.target).closest('.premium-nav-widget-container').length;
2483
+
2484
+ if (!isWidgetContainer && !isTabsItem) {
2485
+ if ($($menuContainer).hasClass('premium-active-menu')) {
2486
+ $menuToggler.click();
2487
+ }
2488
+ }
2489
+ });
2490
+
2491
+ $(window).on('resize', function () {
2492
+
2493
+ if (window.PaCurrStickyDevice !== elementorFrontend.getCurrentDeviceMode()) {
2494
+ refreshPos = true;
2495
+ window.PaCurrStickyDevice = elementorFrontend.getCurrentDeviceMode();
2496
+ }
2497
+
2498
+ checkBreakPoint(settings);
2499
+
2500
+ if ($scope.hasClass('premium-nav-hor')) {
2501
+ checkMegaContentWidth();
2502
+ }
2503
+
2504
+ checkStickyEffect();
2505
+ });
2506
+
2507
+ // vertical toggler.
2508
+ if ($scope.hasClass('premium-ver-toggle-yes') && $scope.hasClass('premium-ver-click')) {
2509
+ $scope.find('.premium-ver-toggler').on('click', function () {
2510
+ $scope.find('.premium-nav-widget-container').toggleClass('premium-ver-collapsed', 500);
2511
+ });
2512
+ }
2513
+
2514
+ /**
2515
+ * Full Width Mega Content.
2516
+ */
2517
+ function fullWidthContent($item) {
2518
+
2519
+ var $parentSec = $scope.closest('.elementor-top-section, .e-container--row'),
2520
+ width = $parentSec.outerWidth(),
2521
+ sectionLeft = $parentSec.offset().left - $item.offset().left;
2522
+
2523
+ $($item).removeClass('premium-mega-item-static').find('.premium-mega-content-container, > .premium-sub-menu').css({
2524
+ width: width + 'px',
2525
+ left: sectionLeft + 'px',
2526
+ });
2527
+ }
2528
+
2529
+ function checkBreakPoint(settings) {
2530
+
2531
+ //Trigger small screen menu.
2532
+ if (settings.breakpoint >= $(window).width() && !isMobileMenu) {
2533
+ // remove the vertical toggler.
2534
+ $scope.find('.premium-ver-toggler').css('display', 'none');
2535
+ $scope.addClass('premium-hamburger-menu');
2536
+ $scope.find('.premium-active-menu').removeClass('premium-active-menu');
2537
+ stretchDropdown($scope.find('.premium-stretch-dropdown .premium-mobile-menu-container'));
2538
+
2539
+ isMobileMenu = true;
2540
+ isDesktopMenu = false;
2541
+
2542
+ //Trigger large screen menu.
2543
+ } else if (settings.breakpoint < $(window).width() && !isDesktopMenu) {
2544
+
2545
+ // show the vertical toggler if enabled.
2546
+ if ($scope.hasClass('premium-ver-toggle-yes')) {
2547
+ $scope.find('.premium-ver-toggler').css('display', 'flex');
2548
+ }
2549
+
2550
+ $menuToggler.removeClass('premium-toggle-opened');
2551
+ $scope.find(".premium-mobile-menu-container .premium-active-menu").removeClass("premium-active-menu");
2552
+ $scope.removeClass('premium-hamburger-menu premium-ham-dropdown');
2553
+ $scope.find('.premium-vertical-toggle-open').removeClass('premium-vertical-toggle-open');
2554
+ $scope.find('.premium-nav-default').removeClass('premium-nav-default');
2555
+
2556
+ isDesktopMenu = true;
2557
+ isMobileMenu = false;
2558
+ }
2559
+
2560
+ }
2561
+
2562
+ /**
2563
+ * Full Width Option.
2564
+ * Shows the mobile menu beneath the widget's parent(section).
2565
+ */
2566
+ function stretchDropdown($menu) {
2567
+
2568
+ var $parentSec = $($scope).closest('.elementor-top-section, .e-container--row'),
2569
+ width = $($parentSec).outerWidth(),
2570
+ widgetTop = $scope.offset().top,
2571
+ parentBottom = $($parentSec).offset().top + $($parentSec).outerHeight(),
2572
+ stretchTop = parentBottom - widgetTop,
2573
+ stretchLeft = $scope.offset().left - $($parentSec).offset().left;
2574
+
2575
+ $($menu).css({
2576
+ width: width + 'px',
2577
+ left: '-' + stretchLeft + 'px',
2578
+ top: stretchTop + 'px',
2579
+ });
2580
+ }
2581
+
2582
+ /**
2583
+ * Sticky Effect.
2584
+ */
2585
+
2586
+ function checkStickyEffect() {
2587
+
2588
+ var isSticky = $scope.hasClass('premium-nav-sticky-yes') &&
2589
+ // settings.stickyOptions &&
2590
+ $('#' + settings.stickyOptions.targetId).length &&
2591
+ !settings.stickyOptions.disableOn.includes(elementorFrontend.getCurrentDeviceMode());
2592
+
2593
+ if (isSticky) {
2594
+ stickyProps = settings.stickyOptions;
2595
+
2596
+ stickyProps.spacerClass = 'premium-sticky-spacer-' + $('#' + stickyProps.targetId).data('id');
2597
+
2598
+ $('#' + stickyProps.targetId).addClass('premium-sticky-active');
2599
+
2600
+ setStickyWidth(stickyProps);
2601
+
2602
+ // Add spacer to save the sticky target space in the dom.
2603
+ if (0 === $('.' + stickyProps.spacerClass).length) {
2604
+ $('<div class="' + stickyProps.spacerClass + '"></div>').insertBefore('#' + stickyProps.targetId);
2605
+ }
2606
+
2607
+ $(window).on('load', applyStickyEffect);
2608
+ $(window).on('scroll.PaStickyNav', applyStickyEffect);
2609
+
2610
+ } else {
2611
+ $(window).off('scroll.PaStickyNav');
2612
+
2613
+ $('<div class="' + stickyProps.spacerClass + '"></div>').remove(); // remove spacer
2614
+ $('#' + stickyProps.targetId).removeClass('premium-sticky-parent premium-sticky-active premium-sticky-parent-' + $scope.data('id')).css({ // unset style
2615
+ top: 'unset',
2616
+ width: 'inherit',
2617
+ position: 'relative'
2618
+ });
2619
+ }
2620
+ }
2621
+
2622
+ /**
2623
+ * we need to get the original width before setting
2624
+ * the position to fixed.
2625
+ */
2626
+ function setStickyWidth(stickyProps) {
2627
+ // TODO: check if we can use the spacer's width directly instead.
2628
+ var currStickyWidth = stickyWidthIndex + elementorFrontend.getCurrentDeviceMode(),
2629
+ isSticky = $('#' + stickyProps.targetId).hasClass('premium-sticky-parent'); // ==> fixed position
2630
+
2631
+ if (isSticky) {
2632
+ $('#' + stickyProps.targetId).css({
2633
+ position: 'relative',
2634
+ width: 'inherit'
2635
+ });
2636
+ }
2637
+
2638
+ window[currStickyWidth] = $('#' + stickyProps.targetId).outerWidth() + 'px';
2639
+
2640
+ if (isSticky) {
2641
+
2642
+ $('#' + stickyProps.targetId).css({
2643
+ position: 'fixed',
2644
+ width: window[currStickyWidth]
2645
+ });
2646
+ }
2647
+ }
2648
+
2649
+ function applyStickyEffect() {
2650
+
2651
+ var $adminBarHeight = elementorFrontend.elements.$wpAdminBar.height() ? elementorFrontend.elements.$wpAdminBar.height() : 0,
2652
+ scrollTop = $(window).scrollTop() + $adminBarHeight,
2653
+ currStickyWidth = stickyWidthIndex + elementorFrontend.getCurrentDeviceMode();
2654
+
2655
+ if (!window[stickyIndex] || refreshPos) { // save the offset
2656
+ window[stickyIndex] = $('.' + stickyProps.spacerClass).offset().top;
2657
+ refreshPos = false;
2658
+ }
2659
+
2660
+ if (scrollTop >= window[stickyIndex]) {
2661
+
2662
+ $('.' + stickyProps.spacerClass).css('height', $('#' + stickyProps.targetId).outerHeight() + 'px');
2663
+ $('#' + stickyProps.targetId).addClass('premium-sticky-parent premium-sticky-parent-' + $scope.data('id')).css({
2664
+ width: window[currStickyWidth],
2665
+ top: $adminBarHeight,
2666
+ position: 'fixed'
2667
+ });
2668
+
2669
+ } else {
2670
+ $('.' + stickyProps.spacerClass).css('height', '0px');
2671
+ $('#' + stickyProps.targetId).removeClass('premium-sticky-parent premium-sticky-parent-' + $scope.data('id')).css({
2672
+ top: 'unset',
2673
+ width: 'inherit',
2674
+ position: 'relative'
2675
+ });
2676
+ }
2677
+
2678
+ // sticky on scroll option.
2679
+ if (stickyProps.onScroll) {
2680
+ var $element = document.querySelector('#' + stickyProps.targetId + '.premium-sticky-parent');
2681
+
2682
+ if ($element) {
2683
+ $('#' + stickyProps.targetId + '.premium-sticky-parent').addClass('premium-sticky-scroll-yes');
2684
+ var headroom = new Headroom($element,
2685
+ {
2686
+ tolerance: 5,
2687
+ classes: {
2688
+ initial: "animated",
2689
+ pinned: "slideDown",
2690
+ unpinned: "slideUp",
2691
+ offset: {
2692
+ up: $('#' + stickyProps.targetId).outerHeight() + 150, // first time only.
2693
+ },
2694
+ }
2695
+ });
2696
+
2697
+ headroom.init();
2698
+ }
2699
+ } else {
2700
+ $('#' + stickyProps.targetId + '.premium-sticky-parent').removeClass('premium-sticky-scroll-yes');
2701
+ }
2702
+ }
2703
+ };
2704
+
2705
+ var PremiumSVGDrawerHandler = ModuleHandler.extend({
2706
+
2707
+ bindEvents: function () {
2708
+ this.run();
2709
+ },
2710
+
2711
+ run: function () {
2712
+
2713
+ var $scope = this.$element;
2714
+
2715
+ $scope.find(".elementor-invisible").removeClass("elementor-invisible");
2716
+
2717
+ //remove title HTML tag
2718
+ $scope.find("title").remove();
2719
+
2720
+ if (!$scope.hasClass("premium-svg-animated-yes"))
2721
+ return;
2722
+
2723
+ var elemID = $scope.data("id"),
2724
+ settings = this.getElementSettings(),
2725
+ scrollAction = settings.scroll_action,
2726
+ scrollTrigger = null;
2727
+
2728
+
2729
+ if ('automatic' === scrollAction) {
2730
+
2731
+ scrollTrigger = 'custom' !== settings.animate_trigger ? settings.animate_trigger : settings.animate_offset.size + "%";
2732
+
2733
+ var animRev = settings.anim_rev ? 'pause play reverse' : 'none',
2734
+ timeLine = new TimelineMax({
2735
+ repeat: settings.loop ? -1 : 0,
2736
+ yoyo: settings.yoyo ? true : false,
2737
+ scrollTrigger: {
2738
+ trigger: '.elementor-element-' + elemID,
2739
+ toggleActions: "play " + animRev,
2740
+ start: "top " + scrollTrigger, //when the top of the element hits that offset of the viewport.
2741
+ }
2742
+ });
2743
+
2744
+
2745
+ } else {
2746
+
2747
+ var timeLine = new TimelineMax({
2748
+ repeat: ('hover' === scrollAction && settings.loop) ? -1 : 0,
2749
+ yoyo: ('hover' === scrollAction && settings.yoyo) ? true : false,
2750
+ });
2751
+
2752
+ if ('viewport' === scrollAction)
2753
+ scrollTrigger = settings.animate_offset.size / 100;
2754
+ }
2755
+
2756
+ var fromOrTo = !$scope.hasClass("premium-svg-anim-rev-yes") ? 'from' : 'to',
2757
+ $paths = $scope.find("path, circle, rect, square, ellipse, polyline, line"),
2758
+ lastPathIndex = 0,
2759
+ startOrEndPoint = 'from' === fromOrTo ? settings.animate_start_point.size : settings.animate_end_point.size;
2760
+
2761
+ $paths.each(function (pathIndex, path) {
2762
+
2763
+ var $path = $(path);
2764
+
2765
+ $path.attr("fill", "transparent");
2766
+
2767
+ if ($scope.hasClass("premium-svg-sync-yes"))
2768
+ pathIndex = 0;
2769
+
2770
+ lastPathIndex = pathIndex;
2771
+
2772
+ timeLine[fromOrTo]($path, 1, {
2773
+ PaSvgDrawer: (startOrEndPoint || 0) + "% 0",
2774
+ }, pathIndex);
2775
+
2776
+ });
2777
+
2778
+ if ('yes' === settings.svg_fill) {
2779
+ if (lastPathIndex == 0)
2780
+ lastPathIndex = 1;
2781
+
2782
+ timeLine.to($paths, 1, {
2783
+ fill: settings.svg_color,
2784
+ stroke: settings.svg_stroke
2785
+ }, lastPathIndex);
2786
+ }
2787
+
2788
+ if ('viewport' === scrollAction) {
2789
+
2790
+ var controller = new ScrollMagic.Controller(),
2791
+ scene = new ScrollMagic.Scene({
2792
+ triggerElement: '.elementor-element-' + elemID,
2793
+ triggerHook: scrollTrigger,
2794
+ duration: settings.draw_speed ? settings.draw_speed.size * 1000 : "150%"
2795
+ })
2796
+
2797
+ scene.setTween(timeLine).addTo(controller);
2798
+
2799
+ } else {
2800
+
2801
+ if (settings.frames)
2802
+ timeLine.duration(settings.frames);
2803
+
2804
+ if ('hover' === scrollAction) {
2805
+ timeLine.pause();
2806
+
2807
+ $scope.find("svg").hover(
2808
+ function () {
2809
+ timeLine.play();
2810
+ },
2811
+ function () {
2812
+ timeLine.pause();
2813
+ });
2814
+ }
2815
+
2816
+ }
2817
+
2818
+ }
2819
+
2820
+
2821
+ });
2822
+
2823
+ var functionalHandlers = {
2824
+ 'premium-addon-dual-header.default': PremiumMaskHandler,
2825
+ 'premium-addon-video-box.default': PremiumVideoBoxWidgetHandler,
2826
+ 'premium-addon-fancy-text.default': PremiumFancyTextHandler,
2827
+ 'premium-counter.default': PremiumCounterHandler,
2828
+ 'premium-addon-title.default': [PremiumTitleHandler, PremiumMaskHandler],
2829
+ 'premium-countdown-timer.default': PremiumCountDownHandler,
2830
+ 'premium-carousel-widget.default': PremiumCarouselHandler,
2831
+ 'premium-addon-modal-box.default': PremiumModalBoxHandler,
2832
+ 'premium-image-scroll.default': PremiumImageScrollHandler,
2833
+ 'premium-contact-form.default': PremiumContactFormHandler,
2834
+ 'premium-icon-list.default': PremiumBulletListHandler,
2835
+ 'premium-addon-button.default': PremiumButtonHandler,
2836
+ 'premium-addon-image-button.default': PremiumButtonHandler,
2837
+ 'premium-nav-menu.default': PremiumNavMenuHandler
2838
+ };
2839
+
2840
+ var classHandlers = {
2841
+ 'premium-addon-person': PremiumTeamMembersHandler,
2842
+ 'premium-addon-blog': PremiumBlogHandler,
2843
+ 'premium-img-gallery': PremiumGridWidgetHandler,
2844
+ 'premium-addon-banner': PremiumBannerHandler,
2845
+ 'premium-svg-drawer': PremiumSVGDrawerHandler
2846
+ };
2847
+
2848
+ $.each(functionalHandlers, function (elemName, func) {
2849
+ if ('object' === typeof func) {
2850
+ $.each(func, function (index, handler) {
2851
+ elementorFrontend.hooks.addAction('frontend/element_ready/' + elemName, handler);
2852
+ })
2853
+ } else {
2854
+ elementorFrontend.hooks.addAction('frontend/element_ready/' + elemName, func);
2855
+ }
2856
+
2857
+ });
2858
+
2859
+ $.each(classHandlers, function (elemName, clas) {
2860
+ elementorFrontend.elementsHandler.attachHandler(elemName, clas);
2861
+ });
2862
+
2863
+
2864
+ if (elementorFrontend.isEditMode()) {
2865
+ elementorFrontend.hooks.addAction("frontend/element_ready/premium-addon-progressbar.default", PremiumProgressBarWidgetHandler);
2866
+ } else {
2867
+ elementorFrontend.hooks.addAction("frontend/element_ready/premium-addon-progressbar.default", PremiumProgressBarScrollWidgetHandler);
2868
+ }
2869
+ });
2870
  })(jQuery);
assets/frontend/js/premium-dis-conditions.js CHANGED
@@ -6,6 +6,10 @@
6
  var localTimeZone = new Date().toString().match(/([A-Z]+[\+-][0-9]+.*)/)[1],
7
  isSecured = (document.location.protocol === 'https:') ? 'secure' : '';
8
 
 
 
 
 
9
  document.cookie = "localTimeZone=" + localTimeZone + ";SameSite=Strict;" + isSecured;
10
 
11
  //Returning User condition cookie.
6
  var localTimeZone = new Date().toString().match(/([A-Z]+[\+-][0-9]+.*)/)[1],
7
  isSecured = (document.location.protocol === 'https:') ? 'secure' : '';
8
 
9
+ if (-1 != localTimeZone.indexOf("(")) {
10
+ localTimeZone = localTimeZone.split('(')[0];
11
+ }
12
+
13
  document.cookie = "localTimeZone=" + localTimeZone + ";SameSite=Strict;" + isSecured;
14
 
15
  //Returning User condition cookie.
assets/frontend/js/premium-nav-menu.js CHANGED
@@ -1,334 +1,334 @@
1
- (function ($) {
2
-
3
- /**Premium Nav Menu */
4
- var PremiumNavMenuHandler = function ($scope, $) {
5
-
6
- // we don't need to wait for content dom load since the script is loaded in the footer.
7
- $scope.find('.premium-nav-widget-container').removeClass('elementor-invisible');
8
-
9
- var settings = $scope.find('.premium-nav-widget-container').data('settings');
10
-
11
- if (!settings) {
12
- return;
13
- }
14
-
15
- var $menuContainer = $scope.find('.premium-mobile-menu'),
16
- $menuToggler = $scope.find('.premium-hamburger-toggle'),
17
- $hamMenuCloser = $scope.find('.premium-mobile-menu-close'),
18
- $centeredItems = $scope.find('.premium-mega-content-centered'),
19
- $fullWidthItems = $scope.find('.premium-nav-menu-container li[data-full-width="true"]'),
20
- stickyProps = {},
21
- refreshPos = false,
22
- stickyIndex = 'stickyPos' + $scope.data('id'),
23
- stickyWidthIndex = 'stickyWidth' + $scope.data('id');
24
-
25
- /**
26
- * Save current device to use it later to determine if the device changed on resize.
27
- */
28
- window.PaCurrStickyDevice = elementorFrontend.getCurrentDeviceMode();
29
-
30
- $centeredItems.each(function (index, item) {
31
- $(item).closest(".premium-nav-menu-item").addClass("premium-mega-item-static");
32
- });
33
-
34
- if ('slide' === settings.mobileLayout || 'slide' === settings.mainLayout) {
35
- $scope.addClass('premium-ver-hamburger-menu');
36
- }
37
-
38
- var isMobileMenu = isDesktopMenu = null;
39
- checkBreakPoint(settings);
40
-
41
- if ($scope.hasClass('premium-nav-hor')) {
42
- checkMegaContentWidth();
43
- }
44
-
45
- checkStickyEffect();
46
-
47
- // Set menu items to full width.
48
- function checkMegaContentWidth() {
49
- $fullWidthItems.each(function (index, item) {
50
- fullWidthContent($(item));
51
- });
52
- }
53
-
54
- $hamMenuCloser.on('click', function () {
55
- $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').removeClass('premium-vertical-toggle-open');
56
- });
57
-
58
- $menuToggler.on('click', function () {
59
- if ('slide' === settings.mobileLayout || 'slide' === settings.mainLayout) {
60
- $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').addClass('premium-vertical-toggle-open');
61
- } else {
62
- // $menuContainer.toggleClass('premium-active-menu');
63
- if ($($menuContainer).hasClass('premium-active-menu')) {
64
- $scope.find('.premium-mobile-menu-container').slideUp('slow', function () {
65
- $menuContainer.removeClass('premium-active-menu');
66
- $scope.find('.premium-mobile-menu-container').show();
67
- });
68
- } else {
69
-
70
- $menuContainer.addClass('premium-active-menu');
71
- }
72
- }
73
-
74
- $menuToggler.toggleClass('premium-toggle-opened'); // show/hide close icon/text.
75
- });
76
-
77
- $menuContainer.find('.premium-nav-menu-item.menu-item-has-children a, .premium-mega-nav-item a').on('click', function (e) {
78
-
79
- if ($(this).find(".premium-dropdown-icon").length < 1)
80
- return;
81
-
82
- var $parent = $(this).parent(".premium-nav-menu-item");
83
-
84
- e.stopPropagation();
85
- e.preventDefault();
86
-
87
- //If it was opened, then close it.
88
- if ($parent.hasClass('premium-active-menu')) {
89
- $parent.toggleClass('premium-active-menu');
90
-
91
- } else {
92
- //Close any other opened items.
93
- $menuContainer.find('.premium-active-menu').toggleClass('premium-active-menu');
94
- //Then, open this item.
95
- $parent.toggleClass('premium-active-menu');
96
- // make sure the parent node is always open whenever the child node is opened.
97
- $($parent).parents('.premium-nav-menu-item.menu-item-has-children').toggleClass('premium-active-menu');
98
- }
99
- });
100
-
101
- $(document).on('click', '.premium-nav-slide-overlay', function () {
102
- $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').removeClass('premium-vertical-toggle-open');
103
- });
104
-
105
- $(document).on('click.PaCloseMegaMenu', function (event) {
106
- var isTabsItem = $(event.target).closest('.premium-tabs-nav-list-item').length,
107
- isWidgetContainer = $(event.target).closest('.premium-nav-widget-container').length;
108
-
109
- if (!isWidgetContainer && !isTabsItem) {
110
- if ($($menuContainer).hasClass('premium-active-menu')) {
111
- $menuToggler.click();
112
- }
113
- }
114
- });
115
-
116
- $(window).on('resize', function () {
117
-
118
- if (window.PaCurrStickyDevice !== elementorFrontend.getCurrentDeviceMode()) {
119
- refreshPos = true;
120
- window.PaCurrStickyDevice = elementorFrontend.getCurrentDeviceMode();
121
- }
122
-
123
- checkBreakPoint(settings);
124
-
125
- if ($scope.hasClass('premium-nav-hor')) {
126
- checkMegaContentWidth();
127
- }
128
-
129
- checkStickyEffect();
130
- });
131
-
132
- // vertical toggler.
133
- if ($scope.hasClass('premium-ver-toggle-yes') && $scope.hasClass('premium-ver-click')) {
134
- $scope.find('.premium-ver-toggler').on('click', function () {
135
- $scope.find('.premium-nav-widget-container').toggleClass('premium-ver-collapsed', 500);
136
- });
137
- }
138
-
139
- /**
140
- * Full Width Mega Content.
141
- */
142
- function fullWidthContent($item) {
143
-
144
- var $parentSec = $scope.closest('.elementor-top-section, .e-container--row'),
145
- width = $parentSec.outerWidth(),
146
- sectionLeft = $parentSec.offset().left - $item.offset().left;
147
-
148
- $($item).removeClass('premium-mega-item-static').find('.premium-mega-content-container, > .premium-sub-menu').css({
149
- width: width + 'px',
150
- left: sectionLeft + 'px',
151
- });
152
- }
153
-
154
- function checkBreakPoint(settings) {
155
-
156
- //Trigger small screen menu.
157
- if (settings.breakpoint >= $(window).width() && !isMobileMenu) {
158
- // remove the vertical toggler.
159
- $scope.find('.premium-ver-toggler').css('display', 'none');
160
- $scope.addClass('premium-hamburger-menu');
161
- $scope.find('.premium-active-menu').removeClass('premium-active-menu');
162
- stretchDropdown($scope.find('.premium-stretch-dropdown .premium-mobile-menu-container'));
163
-
164
- isMobileMenu = true;
165
- isDesktopMenu = false;
166
-
167
- //Trigger large screen menu.
168
- } else if (settings.breakpoint < $(window).width() && !isDesktopMenu) {
169
-
170
- // show the vertical toggler if enabled.
171
- if ($scope.hasClass('premium-ver-toggle-yes')) {
172
- $scope.find('.premium-ver-toggler').css('display', 'flex');
173
- }
174
-
175
- $menuToggler.removeClass('premium-toggle-opened');
176
- $scope.find(".premium-mobile-menu-container .premium-active-menu").removeClass("premium-active-menu");
177
- $scope.removeClass('premium-hamburger-menu premium-ham-dropdown');
178
- $scope.find('.premium-vertical-toggle-open').removeClass('premium-vertical-toggle-open');
179
- $scope.find('.premium-nav-default').removeClass('premium-nav-default');
180
-
181
- isDesktopMenu = true;
182
- isMobileMenu = false;
183
- }
184
-
185
- }
186
-
187
- /**
188
- * Full Width Option.
189
- * Shows the mobile menu beneath the widget's parent(section).
190
- */
191
- function stretchDropdown($menu) {
192
-
193
- var $parentSec = $($scope).closest('.elementor-top-section, .e-container--row'),
194
- width = $($parentSec).outerWidth(),
195
- widgetTop = $scope.offset().top,
196
- parentBottom = $($parentSec).offset().top + $($parentSec).outerHeight(),
197
- stretchTop = parentBottom - widgetTop,
198
- stretchLeft = $scope.offset().left - $($parentSec).offset().left;
199
-
200
- $($menu).css({
201
- width: width + 'px',
202
- left: '-' + stretchLeft + 'px',
203
- top: stretchTop + 'px',
204
- });
205
- }
206
-
207
- /**
208
- * Sticky Effect.
209
- */
210
-
211
- function checkStickyEffect() {
212
-
213
- var isSticky = $scope.hasClass('premium-nav-sticky-yes') &&
214
- // settings.stickyOptions &&
215
- $('#' + settings.stickyOptions.targetId).length &&
216
- !settings.stickyOptions.disableOn.includes(elementorFrontend.getCurrentDeviceMode());
217
-
218
- if (isSticky) {
219
- stickyProps = settings.stickyOptions;
220
-
221
- stickyProps.spacerClass = 'premium-sticky-spacer-' + $('#' + stickyProps.targetId).data('id');
222
-
223
- $('#' + stickyProps.targetId).addClass('premium-sticky-active');
224
-
225
- setStickyWidth(stickyProps);
226
-
227
- // Add spacer to save the sticky target space in the dom.
228
- if (0 === $('.' + stickyProps.spacerClass).length) {
229
- $('<div class="' + stickyProps.spacerClass + '"></div>').insertBefore('#' + stickyProps.targetId);
230
- }
231
-
232
- $(window).on('load', applyStickyEffect);
233
- $(window).on('scroll.PaStickyNav', applyStickyEffect);
234
-
235
- } else {
236
- $(window).off('scroll.PaStickyNav');
237
-
238
- $('<div class="' + stickyProps.spacerClass + '"></div>').remove(); // remove spacer
239
- $('#' + stickyProps.targetId).removeClass('premium-sticky-parent premium-sticky-active premium-sticky-parent-' + $scope.data('id')).css({ // unset style
240
- top: 'unset',
241
- width: 'inherit',
242
- position: 'relative'
243
- });
244
- }
245
- }
246
-
247
- /**
248
- * we need to get the original width before setting
249
- * the position to fixed.
250
- */
251
- function setStickyWidth(stickyProps) {
252
- // TODO: check if we can use the spacer's width directly instead.
253
- var currStickyWidth = stickyWidthIndex + elementorFrontend.getCurrentDeviceMode(),
254
- isSticky = $('#' + stickyProps.targetId).hasClass('premium-sticky-parent'); // ==> fixed position
255
-
256
- if (isSticky) {
257
- $('#' + stickyProps.targetId).css({
258
- position: 'relative',
259
- width: 'inherit'
260
- });
261
- }
262
-
263
- window[currStickyWidth] = $('#' + stickyProps.targetId).outerWidth() + 'px';
264
-
265
- if (isSticky) {
266
-
267
- $('#' + stickyProps.targetId).css({
268
- position: 'fixed',
269
- width: window[currStickyWidth]
270
- });
271
- }
272
- }
273
-
274
- function applyStickyEffect() {
275
-
276
- var $adminBarHeight = elementorFrontend.elements.$wpAdminBar.height() ? elementorFrontend.elements.$wpAdminBar.height() : 0,
277
- scrollTop = $(window).scrollTop() + $adminBarHeight,
278
- currStickyWidth = stickyWidthIndex + elementorFrontend.getCurrentDeviceMode();
279
-
280
- if (!window[stickyIndex] || refreshPos) { // save the offset
281
- window[stickyIndex] = $('.' + stickyProps.spacerClass).offset().top;
282
- refreshPos = false;
283
- }
284
-
285
- if (scrollTop >= window[stickyIndex]) {
286
-
287
- $('.' + stickyProps.spacerClass).css('height', $('#' + stickyProps.targetId).outerHeight() + 'px');
288
- $('#' + stickyProps.targetId).addClass('premium-sticky-parent premium-sticky-parent-' + $scope.data('id')).css({
289
- width: window[currStickyWidth],
290
- top: $adminBarHeight,
291
- position: 'fixed'
292
- });
293
-
294
- } else {
295
- $('.' + stickyProps.spacerClass).css('height', '0px');
296
- $('#' + stickyProps.targetId).removeClass('premium-sticky-parent premium-sticky-parent-' + $scope.data('id')).css({
297
- top: 'unset',
298
- width: 'inherit',
299
- position: 'relative'
300
- });
301
- }
302
-
303
- // sticky on scroll option.
304
- if (stickyProps.onScroll) {
305
- var $element = document.querySelector('#' + stickyProps.targetId + '.premium-sticky-parent');
306
-
307
- if ($element) {
308
- $('#' + stickyProps.targetId + '.premium-sticky-parent').addClass('premium-sticky-scroll-yes');
309
- var headroom = new Headroom($element,
310
- {
311
- tolerance: 5,
312
- classes: {
313
- initial: "animated",
314
- pinned: "slideDown",
315
- unpinned: "slideUp",
316
- offset: {
317
- up: $('#' + stickyProps.targetId).outerHeight() + 150, // first time only.
318
- },
319
- }
320
- });
321
-
322
- headroom.init();
323
- }
324
- } else {
325
- $('#' + stickyProps.targetId + '.premium-sticky-parent').removeClass('premium-sticky-scroll-yes');
326
- }
327
- }
328
- };
329
-
330
- $(window).on('elementor/frontend/init', function () {
331
- elementorFrontend.hooks.addAction('frontend/element_ready/premium-nav-menu.default', PremiumNavMenuHandler);
332
- });
333
-
334
  })(jQuery);
1
+ (function ($) {
2
+
3
+ /**Premium Nav Menu */
4
+ var PremiumNavMenuHandler = function ($scope, $) {
5
+
6
+ // we don't need to wait for content dom load since the script is loaded in the footer.
7
+ $scope.find('.premium-nav-widget-container').removeClass('elementor-invisible');
8
+
9
+ var settings = $scope.find('.premium-nav-widget-container').data('settings');
10
+
11
+ if (!settings) {
12
+ return;
13
+ }
14
+
15
+ var $menuContainer = $scope.find('.premium-mobile-menu'),
16
+ $menuToggler = $scope.find('.premium-hamburger-toggle'),
17
+ $hamMenuCloser = $scope.find('.premium-mobile-menu-close'),
18
+ $centeredItems = $scope.find('.premium-mega-content-centered'),
19
+ $fullWidthItems = $scope.find('.premium-nav-menu-container li[data-full-width="true"]'),
20
+ stickyProps = {},
21
+ refreshPos = false,
22
+ stickyIndex = 'stickyPos' + $scope.data('id'),
23
+ stickyWidthIndex = 'stickyWidth' + $scope.data('id');
24
+
25
+ /**
26
+ * Save current device to use it later to determine if the device changed on resize.
27
+ */
28
+ window.PaCurrStickyDevice = elementorFrontend.getCurrentDeviceMode();
29
+
30
+ $centeredItems.each(function (index, item) {
31
+ $(item).closest(".premium-nav-menu-item").addClass("premium-mega-item-static");
32
+ });
33
+
34
+ if ('slide' === settings.mobileLayout || 'slide' === settings.mainLayout) {
35
+ $scope.addClass('premium-ver-hamburger-menu');
36
+ }
37
+
38
+ var isMobileMenu = isDesktopMenu = null;
39
+ checkBreakPoint(settings);
40
+
41
+ if ($scope.hasClass('premium-nav-hor')) {
42
+ checkMegaContentWidth();
43
+ }
44
+
45
+ checkStickyEffect();
46
+
47
+ // Set menu items to full width.
48
+ function checkMegaContentWidth() {
49
+ $fullWidthItems.each(function (index, item) {
50
+ fullWidthContent($(item));
51
+ });
52
+ }
53
+
54
+ $hamMenuCloser.on('click', function () {
55
+ $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').removeClass('premium-vertical-toggle-open');
56
+ });
57
+
58
+ $menuToggler.on('click', function () {
59
+ if ('slide' === settings.mobileLayout || 'slide' === settings.mainLayout) {
60
+ $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').addClass('premium-vertical-toggle-open');
61
+ } else {
62
+ // $menuContainer.toggleClass('premium-active-menu');
63
+ if ($($menuContainer).hasClass('premium-active-menu')) {
64
+ $scope.find('.premium-mobile-menu-container').slideUp('slow', function () {
65
+ $menuContainer.removeClass('premium-active-menu');
66
+ $scope.find('.premium-mobile-menu-container').show();
67
+ });
68
+ } else {
69
+
70
+ $menuContainer.addClass('premium-active-menu');
71
+ }
72
+ }
73
+
74
+ $menuToggler.toggleClass('premium-toggle-opened'); // show/hide close icon/text.
75
+ });
76
+
77
+ $menuContainer.find('.premium-nav-menu-item.menu-item-has-children a, .premium-mega-nav-item a').on('click', function (e) {
78
+
79
+ if ($(this).find(".premium-dropdown-icon").length < 1)
80
+ return;
81
+
82
+ var $parent = $(this).parent(".premium-nav-menu-item");
83
+
84
+ e.stopPropagation();
85
+ e.preventDefault();
86
+
87
+ //If it was opened, then close it.
88
+ if ($parent.hasClass('premium-active-menu')) {
89
+ $parent.toggleClass('premium-active-menu');
90
+
91
+ } else {
92
+ //Close any other opened items.
93
+ $menuContainer.find('.premium-active-menu').toggleClass('premium-active-menu');
94
+ //Then, open this item.
95
+ $parent.toggleClass('premium-active-menu');
96
+ // make sure the parent node is always open whenever the child node is opened.
97
+ $($parent).parents('.premium-nav-menu-item.menu-item-has-children').toggleClass('premium-active-menu');
98
+ }
99
+ });
100
+
101
+ $(document).on('click', '.premium-nav-slide-overlay', function () {
102
+ $scope.find('.premium-mobile-menu-outer-container, .premium-nav-slide-overlay').removeClass('premium-vertical-toggle-open');
103
+ });
104
+
105
+ $(document).on('click.PaCloseMegaMenu', function (event) {
106
+ var isTabsItem = $(event.target).closest('.premium-tabs-nav-list-item').length,
107
+ isWidgetContainer = $(event.target).closest('.premium-nav-widget-container').length;
108
+
109
+ if (!isWidgetContainer && !isTabsItem) {
110
+ if ($($menuContainer).hasClass('premium-active-menu')) {
111
+ $menuToggler.click();
112
+ }
113
+ }
114
+ });
115
+
116
+ $(window).on('resize', function () {
117
+
118
+ if (window.PaCurrStickyDevice !== elementorFrontend.getCurrentDeviceMode()) {
119
+ refreshPos = true;
120
+ window.PaCurrStickyDevice = elementorFrontend.getCurrentDeviceMode();
121
+ }
122
+
123
+ checkBreakPoint(settings);
124
+
125
+ if ($scope.hasClass('premium-nav-hor')) {
126
+ checkMegaContentWidth();
127
+ }
128
+
129
+ checkStickyEffect();
130
+ });
131
+
132
+ // vertical toggler.
133
+ if ($scope.hasClass('premium-ver-toggle-yes') && $scope.hasClass('premium-ver-click')) {
134
+ $scope.find('.premium-ver-toggler').on('click', function () {
135
+ $scope.find('.premium-nav-widget-container').toggleClass('premium-ver-collapsed', 500);
136
+ });
137
+ }
138
+
139
+ /**
140
+ * Full Width Mega Content.
141
+ */
142
+ function fullWidthContent($item) {
143
+
144
+ var $parentSec = $scope.closest('.elementor-top-section, .e-container--row'),
145
+ width = $parentSec.outerWidth(),
146
+ sectionLeft = $parentSec.offset().left - $item.offset().left;
147
+
148
+ $($item).removeClass('premium-mega-item-static').find('.premium-mega-content-container, > .premium-sub-menu').css({
149
+ width: width + 'px',
150
+ left: sectionLeft + 'px',
151
+ });
152
+ }
153
+
154
+ function checkBreakPoint(settings) {
155
+
156
+ //Trigger small screen menu.
157
+ if (settings.breakpoint >= $(window).width() && !isMobileMenu) {
158
+ // remove the vertical toggler.
159
+ $scope.find('.premium-ver-toggler').css('display', 'none');
160
+ $scope.addClass('premium-hamburger-menu');
161
+ $scope.find('.premium-active-menu').removeClass('premium-active-menu');
162
+ stretchDropdown($scope.find('.premium-stretch-dropdown .premium-mobile-menu-container'));
163
+
164
+ isMobileMenu = true;
165
+ isDesktopMenu = false;
166
+
167
+ //Trigger large screen menu.
168
+ } else if (settings.breakpoint < $(window).width() && !isDesktopMenu) {
169
+
170
+ // show the vertical toggler if enabled.
171
+ if ($scope.hasClass('premium-ver-toggle-yes')) {
172
+ $scope.find('.premium-ver-toggler').css('display', 'flex');
173
+ }
174
+
175
+ $menuToggler.removeClass('premium-toggle-opened');
176
+ $scope.find(".premium-mobile-menu-container .premium-active-menu").removeClass("premium-active-menu");
177
+ $scope.removeClass('premium-hamburger-menu premium-ham-dropdown');
178
+ $scope.find('.premium-vertical-toggle-open').removeClass('premium-vertical-toggle-open');
179
+ $scope.find('.premium-nav-default').removeClass('premium-nav-default');
180
+
181
+ isDesktopMenu = true;
182
+ isMobileMenu = false;
183
+ }
184
+
185
+ }
186
+
187
+ /**
188
+ * Full Width Option.
189
+ * Shows the mobile menu beneath the widget's parent(section).
190
+ */
191
+ function stretchDropdown($menu) {
192
+
193
+ var $parentSec = $($scope).closest('.elementor-top-section, .e-container--row'),
194
+ width = $($parentSec).outerWidth(),
195
+ widgetTop = $scope.offset().top,
196
+ parentBottom = $($parentSec).offset().top + $($parentSec).outerHeight(),
197
+ stretchTop = parentBottom - widgetTop,
198
+ stretchLeft = $scope.offset().left - $($parentSec).offset().left;
199
+
200
+ $($menu).css({
201
+ width: width + 'px',
202
+ left: '-' + stretchLeft + 'px',
203
+ top: stretchTop + 'px',
204
+ });
205
+ }
206
+
207
+ /**
208
+ * Sticky Effect.
209
+ */
210
+
211
+ function checkStickyEffect() {
212
+
213
+ var isSticky = $scope.hasClass('premium-nav-sticky-yes') &&
214
+ // settings.stickyOptions &&
215
+ $('#' + settings.stickyOptions.targetId).length &&
216
+ !settings.stickyOptions.disableOn.includes(elementorFrontend.getCurrentDeviceMode());
217
+
218
+ if (isSticky) {
219
+ stickyProps = settings.stickyOptions;
220
+
221
+ stickyProps.spacerClass = 'premium-sticky-spacer-' + $('#' + stickyProps.targetId).data('id');
222
+
223
+ $('#' + stickyProps.targetId).addClass('premium-sticky-active');
224
+
225
+ setStickyWidth(stickyProps);
226
+
227
+ // Add spacer to save the sticky target space in the dom.
228
+ if (0 === $('.' + stickyProps.spacerClass).length) {
229
+ $('<div class="' + stickyProps.spacerClass + '"></div>').insertBefore('#' + stickyProps.targetId);
230
+ }
231
+
232
+ $(window).on('load', applyStickyEffect);
233
+ $(window).on('scroll.PaStickyNav', applyStickyEffect);
234
+
235
+ } else {
236
+ $(window).off('scroll.PaStickyNav');
237
+
238
+ $('<div class="' + stickyProps.spacerClass + '"></div>').remove(); // remove spacer
239
+ $('#' + stickyProps.targetId).removeClass('premium-sticky-parent premium-sticky-active premium-sticky-parent-' + $scope.data('id')).css({ // unset style
240
+ top: 'unset',
241
+ width: 'inherit',
242
+ position: 'relative'
243
+ });
244
+ }
245
+ }
246
+
247
+ /**
248
+ * we need to get the original width before setting
249
+ * the position to fixed.
250
+ */
251
+ function setStickyWidth(stickyProps) {
252
+ // TODO: check if we can use the spacer's width directly instead.
253
+ var currStickyWidth = stickyWidthIndex + elementorFrontend.getCurrentDeviceMode(),
254
+ isSticky = $('#' + stickyProps.targetId).hasClass('premium-sticky-parent'); // ==> fixed position
255
+
256
+ if (isSticky) {
257
+ $('#' + stickyProps.targetId).css({
258
+ position: 'relative',
259
+ width: 'inherit'
260
+ });
261
+ }
262
+
263
+ window[currStickyWidth] = $('#' + stickyProps.targetId).outerWidth() + 'px';
264
+
265
+ if (isSticky) {
266
+
267
+ $('#' + stickyProps.targetId).css({
268
+ position: 'fixed',
269
+ width: window[currStickyWidth]
270
+ });
271
+ }
272
+ }
273
+
274
+ function applyStickyEffect() {
275
+
276
+ var $adminBarHeight = elementorFrontend.elements.$wpAdminBar.height() ? elementorFrontend.elements.$wpAdminBar.height() : 0,
277
+ scrollTop = $(window).scrollTop() + $adminBarHeight,
278
+ currStickyWidth = stickyWidthIndex + elementorFrontend.getCurrentDeviceMode();
279
+
280
+ if (!window[stickyIndex] || refreshPos) { // save the offset
281
+ window[stickyIndex] = $('.' + stickyProps.spacerClass).offset().top;
282
+ refreshPos = false;
283
+ }
284
+
285
+ if (scrollTop >= window[stickyIndex]) {
286
+
287
+ $('.' + stickyProps.spacerClass).css('height', $('#' + stickyProps.targetId).outerHeight() + 'px');
288
+ $('#' + stickyProps.targetId).addClass('premium-sticky-parent premium-sticky-parent-' + $scope.data('id')).css({
289
+ width: window[currStickyWidth],
290
+ top: $adminBarHeight,
291
+ position: 'fixed'
292
+ });
293
+
294
+ } else {
295
+ $('.' + stickyProps.spacerClass).css('height', '0px');
296
+ $('#' + stickyProps.targetId).removeClass('premium-sticky-parent premium-sticky-parent-' + $scope.data('id')).css({
297
+ top: 'unset',
298
+ width: 'inherit',
299
+ position: 'relative'
300
+ });
301
+ }
302
+
303
+ // sticky on scroll option.
304
+ if (stickyProps.onScroll) {
305
+ var $element = document.querySelector('#' + stickyProps.targetId + '.premium-sticky-parent');
306
+
307
+ if ($element) {
308
+ $('#' + stickyProps.targetId + '.premium-sticky-parent').addClass('premium-sticky-scroll-yes');
309
+ var headroom = new Headroom($element,
310
+ {
311
+ tolerance: 5,
312
+ classes: {
313
+ initial: "animated",
314
+ pinned: "slideDown",
315
+ unpinned: "slideUp",
316
+ offset: {
317
+ up: $('#' + stickyProps.targetId).outerHeight() + 150, // first time only.
318
+ },
319
+ }
320
+ });
321
+
322
+ headroom.init();
323
+ }
324
+ } else {
325
+ $('#' + stickyProps.targetId + '.premium-sticky-parent').removeClass('premium-sticky-scroll-yes');
326
+ }
327
+ }
328
+ };
329
+
330
+ $(window).on('elementor/frontend/init', function () {
331
+ elementorFrontend.hooks.addAction('frontend/element_ready/premium-nav-menu.default', PremiumNavMenuHandler);
332
+ });
333
+
334
  })(jQuery);
assets/frontend/min-css/premium-addons.min.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";@font-face{font-family:pa-elements;src:url(../../editor/fonts/pa-elements.eot?vcwy2s);src:url(../../editor/fonts/pa-elements.eot?vcwy2s#iefix) format("embedded-opentype"),url(../../editor/fonts/pa-elements.ttf?vcwy2s) format("truetype"),url(../../editor/fonts/pa-elements.woff?vcwy2s) format("woff"),url(../../editor/fonts/pa-elements.svg?vcwy2s#pa-elements) format("svg");font-weight:400;font-style:normal}.elementor-widget-premium-addon-banner{overflow:hidden}.premium-banner-ib{display:block;position:relative;z-index:1;overflow:hidden;margin:0;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.premium-banner-ib img{display:block;position:relative}.premium-banner-img-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:100%}.premium-banner-img-wrap .premium-banner-ib-img{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.premium-banner-ib-desc .premium-banner-read-more{z-index:100}.elementor-widget-premium-addon-banner .premium-banner-ib-title{background:0 0}.premium-banner-ib *,.premium-banner-ib .premium-banner-ib-desc{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.premium-banner-ib img{min-width:100%;max-width:100%;-webkit-transition:opacity .35s;transition:opacity .35s}.premium-banner-ib .premium-banner-ib-desc{padding:15px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;top:0;left:0;width:100%;height:100%}.premium-banner-ib .premium-banner-ib-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;text-indent:200%;white-space:nowrap;font-size:0;opacity:0}.premium-banner-ib a.premium-banner-ib-link{display:block;background:0 0}.premium-banner-animation1 img{width:-webkit-calc(100% + 50px)!important;width:calc(100% + 50px)!important;max-width:-webkit-calc(100% + 50px)!important;max-width:calc(100% + 50px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s;-webkit-transform:translate3d(-40px,0,0);transform:translate3d(-40px,0,0)}.premium-banner-animation2 .premium-banner-ib-title{padding:15px}.premium-banner-animation1 .premium-banner-ib-desc{top:auto;bottom:0;min-height:25%;height:auto;max-height:100%;text-align:left}.premium-banner-animation1 .premium-banner-ib-content,.premium-banner-animation1 .premium-banner-ib-title,.premium-banner-animation1 .premium-banner-read-more{-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0);-webkit-transition-delay:50ms;transition-delay:50ms;-webkit-transition-duration:.35s;transition-duration:.35s}.premium-banner-animation1 .premium-banner-ib-title{-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s}.premium-banner-animation1 .premium-banner-ib-content,.premium-banner-animation1 .premium-banner-read-more{margin-top:10px;opacity:0;-webkit-transition:opacity .2s,-webkit-transform .35s;transition:opacity .2s,-webkit-transform .35s;transition:opacity .2s,transform .35s;transition:opacity .2s,transform .35s,-webkit-transform .35s}.premium-banner-animation1.active .premium-banner-ib-content,.premium-banner-animation1.active .premium-banner-read-more,.premium-banner-animation1:hover .premium-banner-ib-content,.premium-banner-animation1:hover .premium-banner-read-more{opacity:1;-webkit-transition-delay:50ms;transition-delay:50ms;-webkit-transition-duration:.35s;transition-duration:.35s}.premium-banner-animation1.active .premium-banner-ib-content,.premium-banner-animation1.active .premium-banner-ib-title,.premium-banner-animation1.active .premium-banner-read-more,.premium-banner-animation1.active img,.premium-banner-animation1:hover .premium-banner-ib-content,.premium-banner-animation1:hover .premium-banner-ib-title,.premium-banner-animation1:hover .premium-banner-read-more,.premium-banner-animation1:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-delay:50ms;transition-delay:50ms;-webkit-transition-duration:.35s;transition-duration:.35s}.premium-banner-animation1.scale img,.premium-banner-animation1.zoomout img{-webkit-transform:translate3d(-40px,0,0) scale(1.1);transform:translate3d(-40px,0,0) scale(1.1)}.premium-banner-ib.sepia img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-banner-ib.bright img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-banner-ib.sepia:hover img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-banner-ib.bright:hover img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-banner-animation1.premium-banner-min-height img,.premium-banner-animation13.premium-banner-min-height img,.premium-banner-animation2.premium-banner-min-height img,.premium-banner-animation4.premium-banner-min-height img,.premium-banner-animation5.premium-banner-min-height img,.premium-banner-animation6.premium-banner-min-height img{height:auto}.premium-banner-animation2 img{width:100%}.premium-banner-animation2 .premium-banner-ib-desc::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;opacity:0;-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.premium-banner-animation2 .premium-banner-ib-title{position:absolute;top:50%;left:0;width:100%;-webkit-transition:color .35s,-webkit-transform .35s;transition:color .35s,-webkit-transform .35s;transition:transform .35s,color .35s;transition:transform .35s,color .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.premium-banner-animation2 .premium-banner-ib-content,.premium-banner-animation2 .premium-banner-ib-desc::before,.premium-banner-animation2 .premium-banner-read-more{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation2 .premium-banner-ib-content,.premium-banner-animation2 .premium-banner-read-more{position:absolute;bottom:0;left:0;padding:15px;width:100%;max-height:50%;opacity:0;-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}.premium-banner-animation2.active .premium-banner-ib-title,.premium-banner-animation2:hover .premium-banner-ib-title{-webkit-transform:translate3d(0,-40px,0);transform:translate3d(0,-40px,0)}.premium-banner-animation2.active .premium-banner-ib-desc::before,.premium-banner-animation2.active .premium-banner-read-more,.premium-banner-animation2:hover .premium-banner-ib-desc::before,.premium-banner-animation2:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation2.active .premium-banner-ib-content,.premium-banner-animation2:hover .premium-banner-ib-content{opacity:1;-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}.premium-banner-animation3 .premium-banner-ib-title{position:absolute;bottom:0;left:0;padding:15px;width:100%;text-align:left;-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}.premium-banner-animation3 .premium-banner-ib-desc::before,.premium-banner-animation3 .premium-banner-ib-title{-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s}.premium-banner-animation3.active .premium-banner-ib-desc::before,.premium-banner-animation3.active .premium-banner-ib-title,.premium-banner-animation3:hover .premium-banner-ib-desc::before,.premium-banner-animation3:hover .premium-banner-ib-title{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation3 .premium-banner-ib-content{max-height:-webkit-calc(100% - 60px - 1.5em);max-height:calc(100% - 60px - 1.5em);overflow:hidden}.premium-banner-animation4 img{width:-webkit-calc(100% + 40px)!important;width:calc(100% + 40px)!important;max-width:-webkit-calc(100% + 40px)!important;max-width:calc(100% + 40px)!important}.premium-banner-animation4 .premium-banner-ib-desc{padding:30px}.premium-banner-animation4 .premium-banner-ib-desc::after{position:absolute;content:"";opacity:0}.premium-banner-animation4 .premium-banner-ib-desc::before{position:absolute;content:"";opacity:0;top:50px;right:30px;bottom:50px;left:30px;border-top:1px solid #fff;border-bottom:1px solid #fff;-webkit-transform:scale(0,1);-ms-transform:scale(0,1);transform:scale(0,1);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.premium-banner-animation4 .premium-banner-ib-desc::after{top:30px;right:50px;bottom:30px;left:50px;border-right:1px solid #fff;border-left:1px solid #fff;-webkit-transform:scale(1,0);-ms-transform:scale(1,0);transform:scale(1,0);-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.premium-banner-animation4 .premium-banner-ib-title{padding:50px 30px 0 30px;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s}.premium-banner-animation4 .premium-banner-ib-content,.premium-banner-animation4 .premium-banner-read-more{padding:10px 30px;opacity:0;overflow:hidden;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}.premium-banner-animation4 .premium-banner-ib-title,.premium-banner-animation4 img{-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}.premium-banner-animation4.scale img,.premium-banner-animation4.zoomout img{-webkit-transform:translate3d(-30px,0,0) scale(1.1);transform:translate3d(-30px,0,0) scale(1.1)}.premium-banner-animation4 .premium-banner-ib-content,.premium-banner-animation4 .premium-banner-read-more{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation4 .premium-banner-ib-desc::after,.premium-banner-animation4 .premium-banner-ib-desc::before{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation4 img{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation4.active .premium-banner-ib-desc::after,.premium-banner-animation4.active .premium-banner-ib-desc::before,.premium-banner-animation4:hover .premium-banner-ib-desc::after,.premium-banner-animation4:hover .premium-banner-ib-desc::before{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-banner-animation4.active .premium-banner-ib-content,.premium-banner-animation4.active .premium-banner-ib-title,.premium-banner-animation4.active .premium-banner-read-more,.premium-banner-animation4:hover .premium-banner-ib-content,.premium-banner-animation4:hover .premium-banner-ib-title,.premium-banner-animation4:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation4:hover .premium-banner-ib-content,.premium-banner-animation4:hover .premium-banner-ib-desc::after,.premium-banner-animation4:hover .premium-banner-ib-title,.premium-banner-animation4:hover img{-webkit-transition-delay:.15s;transition-delay:.15s}.premium-banner-animation5 .premium-banner-ib-desc{top:auto;bottom:0;padding:15px;height:auto;background:#f2f2f2;color:#3c4a50;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.premium-banner-animation5 .premium-banner-ib-content{position:absolute;top:auto;bottom:100%;left:0;width:100%;padding:15px;opacity:0;-webkit-transition:opacity .35s;transition:opacity .35s}.premium-banner-animation5 .premium-banner-ib-title,.premium-banner-animation5 .premium-banner-read-more{-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,200%,0);transform:translate3d(0,200%,0);text-align:center}.premium-banner-animation5 .premium-banner-ib-title{margin:10px 0}.premium-banner-animation5.active .premium-banner-ib-content,.premium-banner-animation5.active .premium-banner-ib-content *,.premium-banner-animation5:hover .premium-banner-ib-content,.premium-banner-animation5:hover .premium-banner-ib-content *{opacity:1!important;z-index:99!important;-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important}.premium-banner-animation5.active .premium-banner-ib-desc,.premium-banner-animation5.active .premium-banner-ib-title,.premium-banner-animation5.active .premium-banner-read-more,.premium-banner-animation5:hover .premium-banner-ib-desc,.premium-banner-animation5:hover .premium-banner-ib-title,.premium-banner-animation5:hover .premium-banner-read-more{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-banner-animation5:hover .premium-banner-ib-title{-webkit-transition-delay:50ms;transition-delay:50ms}.premium-banner-animation5 img{-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation2 img,.premium-banner-animation4 img,.premium-banner-animation6 img{-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation5.scale img,.premium-banner-animation5.zoomout img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-banner-animation2.scale img,.premium-banner-animation2.zoomout img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-banner-animation6.scale img,.premium-banner-animation6.zoomout img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-banner-animation2.zoomin:hover img,.premium-banner-animation5.zoomin:hover img,.premium-banner-animation6.zoomin:hover img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-banner-animation2.zoomout:hover img,.premium-banner-animation5.zoomout:hover img,.premium-banner-animation6.zoomout:hover img{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-banner-animation2.scale:hover img,.premium-banner-animation5.scale:hover img,.premium-banner-animation6.scale:hover img{-webkit-transform:scale(1.2) rotate(5deg);-ms-transform:scale(1.2) rotate(5deg);transform:scale(1.2) rotate(5deg)}.premium-banner-animation2.grayscale:hover img,.premium-banner-animation5.grayscale:hover img,.premium-banner-animation6.grayscale:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-banner-animation2.blur:hover img,.premium-banner-animation5.blur:hover img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-banner-animation6.blur:hover img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-banner-animation6 .premium-banner-ib-desc{padding:45px}.premium-banner-animation6 .premium-banner-ib-desc::before{position:absolute;content:"";top:30px;right:30px;bottom:30px;left:30px;border:1px solid #fff}.premium-banner-animation6 .premium-banner-ib-title{margin:20px 0 10px;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.premium-banner-animation6 .premium-banner-ib-content,.premium-banner-animation6 .premium-banner-ib-desc::before,.premium-banner-animation6 .premium-banner-read-more{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-banner-animation6 .premium-banner-read-more{margin-top:10px}.premium-banner-animation6.active .premium-banner-ib-title,.premium-banner-animation6:hover .premium-banner-ib-title{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation6.active .premium-banner-ib-content,.premium-banner-animation6.active .premium-banner-ib-desc::before,.premium-banner-animation6.active .premium-banner-read-more,.premium-banner-animation6:hover .premium-banner-ib-content,.premium-banner-animation6:hover .premium-banner-ib-desc::before,.premium-banner-animation6:hover .premium-banner-read-more{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-banner-animation12 .premium-banner-ib-desc::after{position:absolute;content:"";right:30px;bottom:30px;left:30px;height:-webkit-calc(50% - 30px);height:calc(50% - 30px);border:7px solid #fff;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.premium-banner-animation12.active .premium-banner-ib-desc::after,.premium-banner-animation12:hover .premium-banner-ib-desc::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation12 .premium-banner-ib-desc{padding:45px;text-align:left}.premium-banner-animation12 .premium-banner-ib-content{position:absolute;right:60px;bottom:60px;left:60px;opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}.premium-banner-animation12.active .premium-banner-ib-content,.premium-banner-animation12:hover .premium-banner-ib-content{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation13 img{width:-webkit-calc(100% + 20px)!important;width:calc(100% + 20px)!important;max-width:-webkit-calc(100% + 20px)!important;max-width:calc(100% + 20px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.premium-banner-animation13.scale img,.premium-banner-animation13.zoomout img{-webkit-transform:translate3d(-10px,0,0) scale(1.1);transform:translate3d(-10px,0,0) scale(1.1)}.premium-banner-animation13.none:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation1.none:hover img,.premium-banner-animation4.none:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation1.zoomin:hover img,.premium-banner-animation10.zoomin:hover img,.premium-banner-animation11.zoomin:hover img,.premium-banner-animation13.zoomin:hover img,.premium-banner-animation4.zoomin:hover img,.premium-banner-animation7.zoomin:hover img,.premium-banner-animation8.zoomin:hover img,.premium-banner-animation9.zoomin:hover img{-webkit-transform:translate3d(0,0,0) scale(1.1);transform:translate3d(0,0,0) scale(1.1)}.premium-banner-animation1.zoomout:hover img,.premium-banner-animation10.zoomout:hover img,.premium-banner-animation11.zoomout:hover img,.premium-banner-animation13.zoomout:hover img,.premium-banner-animation4.zoomout:hover img,.premium-banner-animation7.zoomout:hover img,.premium-banner-animation8.zoomout:hover img,.premium-banner-animation9.zoomout:hover img{-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.premium-banner-animation1.scale:hover img,.premium-banner-animation10.scale:hover img,.premium-banner-animation11.scale:hover img,.premium-banner-animation13.scale:hover img,.premium-banner-animation4.scale:hover img,.premium-banner-animation7.scale:hover img,.premium-banner-animation8.scale:hover img,.premium-banner-animation9.scale:hover img{-webkit-transform:translate3d(0,0,0) scale(1.2) rotate(5deg);transform:translate3d(0,0,0) scale(1.2) rotate(5deg)}.premium-banner-animation1.grayscale:hover img,.premium-banner-animation10.grayscale:hover img,.premium-banner-animation11.grayscale:hover img,.premium-banner-animation13.grayscale:hover img,.premium-banner-animation4.grayscale:hover img,.premium-banner-animation7.grayscale:hover img,.premium-banner-animation8.grayscale:hover img,.premium-banner-animation9.grayscale:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-banner-animation1.blur:hover img,.premium-banner-animation10.blur:hover img,.premium-banner-animation11.blur:hover img,.premium-banner-animation13.blur:hover img,.premium-banner-animation4.blur:hover,.premium-banner-animation7.blur:hover img,.premium-banner-animation8.blur:hover img,.premium-banner-animation9.blur:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-filter:blur(3px);filter:blur(3px)}.premium-banner-animation13 .premium-banner-ib-desc{text-align:left}.premium-banner-animation13 .premium-banner-ib-title{position:relative;overflow:hidden;padding:5px 0 10px}.premium-banner-animation13 .premium-banner-ib-title::after{position:absolute;content:"";bottom:0;left:0;width:100%;height:2px;background:#fff;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(-101%,0,0);transform:translate3d(-101%,0,0)}.premium-banner-animation13.active .premium-banner-ib-title::after,.premium-banner-animation13:hover .premium-banner-ib-title::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation13 .premium-banner-ib-content,.premium-banner-animation13 .premium-banner-read-more{padding:15px 0;opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.premium-banner-animation13.active .premium-banner-ib-content,.premium-banner-animation13.active .premium-banner-read-more,.premium-banner-animation13:hover .premium-banner-ib-content,.premium-banner-animation13:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-ib.premium-banner-animation5 .premium-banner-toggle-size{left:50%;width:auto!important;height:100%;max-width:none;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-banner-ib img{border:none;padding:0;margin:0}.premium-banner-animation7 img{width:-webkit-calc(100% + 40px)!important;width:calc(100% + 40px)!important;max-width:-webkit-calc(100% + 40px)!important;max-width:calc(100% + 40px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation7 .premium-banner-brlr{width:7px}.premium-banner-animation7 .premium-banner-brtb{height:7px}.premium-banner-animation7 .premium-banner-br{position:absolute;z-index:1;background-color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transition-delay:.2s;transition-delay:.2s}.premium-banner-animation7 .premium-banner-bleft{left:30px;top:-webkit-calc(100% - 150px);top:calc(100% - 150px);height:0}.premium-banner-animation7 .premium-banner-bright{right:30px;bottom:-webkit-calc(100% - 150px);bottom:calc(100% - 150px);height:0}.premium-banner-animation7 .premium-banner-bottom{right:-webkit-calc(100% - 150px);right:calc(100% - 150px);bottom:30px;width:0}.premium-banner-animation7 .premium-banner-btop{left:-webkit-calc(100% - 150px);left:calc(100% - 150px);top:30px;width:0}.premium-banner-animation7 .premium-banner-ib-desc{padding:70px;display:table}.premium-banner-animation7 .premium-banner-ib-desc .premium-banner-desc-centered{display:table-cell;vertical-align:middle}.premium-banner-animation7 .premium-banner-ib-title{margin-top:0}.premium-banner-animation7 .premium-banner-ib-title,.premium-banner-animation7 img{-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}.premium-banner-animation7.scale img,.premium-banner-animation7.zoomout img{-webkit-transform:translate3d(-30px,0,0) scale(1.1);transform:translate3d(-30px,0,0) scale(1.1)}.premium-banner-animation7 .premium-banner-ib-content,.premium-banner-animation7 .premium-banner-read-more{margin-top:10px}.premium-banner-animation7 .premium-banner-ib-desc::after,.premium-banner-animation7 .premium-banner-ib-desc::before{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation7 .premium-banner-ib-content,.premium-banner-animation7 .premium-banner-ib-title,.premium-banner-animation7 .premium-banner-read-more{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation7.active .premium-banner-ib-content,.premium-banner-animation7.active .premium-banner-ib-title,.premium-banner-animation7.active .premium-banner-read-more,.premium-banner-animation7:hover .premium-banner-ib-content,.premium-banner-animation7:hover .premium-banner-ib-title,.premium-banner-animation7:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation7.active .premium-banner-bleft,.premium-banner-animation7:hover .premium-banner-bleft{top:30px;height:70px}.premium-banner-animation7.active .premium-banner-bright,.premium-banner-animation7:hover .premium-banner-bright{bottom:30px;height:70px}.premium-banner-animation7.active .premium-banner-bottom,.premium-banner-animation7:hover .premium-banner-bottom{right:30px;width:70px}.premium-banner-animation7.active .premium-banner-btop,.premium-banner-animation7:hover .premium-banner-btop{left:30px;width:70px}.premium-banner-animation7:hover .premium-banner-ib-content,.premium-banner-animation7:hover .premium-banner-ib-title,.premium-banner-animation7:hover .premium-banner-read-more,.premium-banner-animation7:hover img{-webkit-transition-delay:.15s;transition-delay:.15s}.premium-banner-animation8 img{width:-webkit-calc(100% + 40px)!important;width:calc(100% + 40px)!important;max-width:-webkit-calc(100% + 40px)!important;max-width:calc(100% + 40px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation8 .premium-banner-brlr{width:7px}.premium-banner-animation8 .premium-banner-brtb{height:7px}.premium-banner-animation8 .premium-banner-br{position:absolute;z-index:1;background-color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transition-delay:.2s;transition-delay:.2s}.premium-banner-animation8 .premium-banner-bleft{left:30px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:0}.premium-banner-animation8 .premium-banner-bright{right:30px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:0}.premium-banner-animation8 .premium-banner-bottom{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);bottom:30px;width:0}.premium-banner-animation8 .premium-banner-btop{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);top:30px;width:0}.premium-banner-animation8 .premium-banner-ib-desc{padding:70px;display:table}.premium-banner-animation8 .premium-banner-ib-desc .premium-banner-desc-centered{display:table-cell;vertical-align:middle}.premium-banner-animation8 .premium-banner-ib-title{margin-top:0}.premium-banner-animation8 .premium-banner-ib-title,.premium-banner-animation8 img{-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}.premium-banner-animation8.scale img,.premium-banner-animation8.zoomout img{-webkit-transform:translate3d(-30px,0,0) scale(1.1);transform:translate3d(-30px,0,0) scale(1.1)}.premium-banner-animation8 .premium-banner-ib-content,.premium-banner-animation8 .premium-banner-read-more{margin-top:10px}.premium-banner-animation8 .premium-banner-ib-desc::after,.premium-banner-animation8 .premium-banner-ib-desc::before{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation8 .premium-banner-ib-content,.premium-banner-animation8 .premium-banner-ib-title,.premium-banner-animation8 .premium-banner-read-more{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;opacity:0}.premium-banner-animation8.active .premium-banner-ib-content,.premium-banner-animation8.active .premium-banner-ib-title,.premium-banner-animation8.active .premium-banner-read-more,.premium-banner-animation8:hover .premium-banner-ib-content,.premium-banner-animation8:hover .premium-banner-ib-title,.premium-banner-animation8:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation8.active .premium-banner-bleft,.premium-banner-animation8:hover .premium-banner-bleft{height:-webkit-calc(100% - 61px);height:calc(100% - 61px)}.premium-banner-animation8.active .premium-banner-bright,.premium-banner-animation8:hover .premium-banner-bright{height:-webkit-calc(100% - 61px);height:calc(100% - 61px)}.premium-banner-animation8.active .premium-banner-bottom,.premium-banner-animation8:hover .premium-banner-bottom{width:-webkit-calc(100% - 61px);width:calc(100% - 61px)}.premium-banner-animation8.active .premium-banner-btop,.premium-banner-animation8:hover .premium-banner-btop{width:-webkit-calc(100% - 61px);width:calc(100% - 61px)}.premium-banner-animation8:hover .premium-banner-ib-content,.premium-banner-animation8:hover .premium-banner-ib-title,.premium-banner-animation8:hover .premium-banner-read-more,.premium-banner-animation8:hover img{-webkit-transition-delay:.15s;transition-delay:.15s}.premium-banner-animation9 img{width:-webkit-calc(100% + 20px)!important;width:calc(100% + 20px)!important;max-width:-webkit-calc(100% + 20px)!important;max-width:calc(100% + 20px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s;-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-banner-animation9 .premium-banner-ib-desc{width:100%;height:100%}.premium-banner-animation9 .premium-banner-ib-desc::before{position:absolute;top:50%;left:50%;width:80%;height:1px;background:#fff;content:"";-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.premium-banner-animation9 .premium-banner-ib-desc::after{position:absolute;top:50%;left:50%;width:80%;height:1px;background:#fff;content:"";-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.premium-banner-animation9 .premium-banner-ib-title{position:absolute;top:50%;left:0;width:100%;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,-70px,0);transform:translate3d(0,-70px,0);margin-top:0;padding:0 10%}.premium-banner-animation9.active .premium-banner-ib-title,.premium-banner-animation9:hover .premium-banner-ib-title{-webkit-transform:translate3d(0,-80px,0);transform:translate3d(0,-80px,0)}.premium-banner-animation9 .premium-banner-ib-content,.premium-banner-animation9 .premium-banner-read-more{position:absolute;top:50%;left:0;width:100%;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;padding:0 10%;-webkit-transform:translate3d(0,35px,0);transform:translate3d(0,35px,0)}.premium-banner-animation9 .premium-banner-read-more{top:75%}.premium-banner-animation9.active .premium-banner-ib-content,.premium-banner-animation9.active .premium-banner-read-more,.premium-banner-animation9:hover .premium-banner-ib-content,.premium-banner-animation9:hover .premium-banner-read-more{-webkit-transform:translate3d(0,45px,0);transform:translate3d(0,45px,0)}.premium-banner-animation9.active .premium-banner-ib-desc::before,.premium-banner-animation9:hover .premium-banner-ib-desc::before{opacity:.5;-webkit-transform:translate3d(-50%,-50%,0) rotate(45deg);transform:translate3d(-50%,-50%,0) rotate(45deg)}.premium-banner-animation9.active .premium-banner-ib-desc::after,.premium-banner-animation9:hover .premium-banner-ib-desc::after{opacity:.5;-webkit-transform:translate3d(-50%,-50%,0) rotate(-45deg);transform:translate3d(-50%,-50%,0) rotate(-45deg)}.premium-banner-animation9:hover img{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-banner-animation10 img{width:-webkit-calc(100% + 20px)!important;width:calc(100% + 20px)!important;max-width:-webkit-calc(100% + 20px)!important;max-width:calc(100% + 20px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation10 .premium-banner-ib-title{position:relative;overflow:hidden;padding:5px 0 15px;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0);margin-bottom:0}.premium-banner-animation10 .premium-banner-ib-title::after{position:absolute;content:"";bottom:0;left:0;width:100%;height:3px;background:#fff;opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation10.active .premium-banner-ib-title,.premium-banner-animation10:hover .premium-banner-ib-title{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation10.active .premium-banner-ib-title::after,.premium-banner-animation10:hover .premium-banner-ib-title::after{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation10.scale img,.premium-banner-animation10.zoomout img{-webkit-transform:translate3d(-10px,0,0) scale(1.1);transform:translate3d(-10px,0,0) scale(1.1)}.premium-banner-animation10 .premium-banner-ib-content,.premium-banner-animation10 .premium-banner-read-more{padding-top:15px;opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.premium-banner-animation10 .premium-banner-read-more{padding:0}.premium-banner-animation10.active .premium-banner-ib-content,.premium-banner-animation10.active .premium-banner-read-more,.premium-banner-animation10:hover .premium-banner-ib-content,.premium-banner-animation10:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation11{-webkit-transition:-webkit-transform 1s ease-out;transition:-webkit-transform 1s ease-out;transition:transform 1s ease-out;transition:transform 1s ease-out,-webkit-transform 1s ease-out;-webkit-transition-delay:125ms;transition-delay:125ms}.premium-banner-animation11 .premium-banner-ib-desc{position:absolute;z-index:5;-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0);opacity:0;top:auto;bottom:0;min-height:25%;height:auto;max-height:100%;text-align:left;padding:30px;-webkit-transition:all .6s ease-out;transition:all .6s ease-out}.premium-banner-animation11 img{width:100%;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation11 .premium-banner-ib-title{margin-bottom:10px}.premium-banner-animation11 .premium-banner-gradient{position:absolute;left:0;top:0;right:0;bottom:0}.premium-banner-animation11 .premium-banner-gradient:after,.premium-banner-animation11 .premium-banner-gradient:before{position:absolute;content:"";left:0;top:0;right:0;bottom:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background-image:-webkit-linear-gradient(40deg,rgba(84,89,95,.5) 27.89%,#6ec1e4 72.11%);background-image:linear-gradient(50deg,rgba(84,89,95,.5) 27.89%,#6ec1e4 72.11%);z-index:2}.premium-banner-animation11 .premium-banner-gradient:before{mix-blend-mode:color}.premium-banner-animation11 .premium-banner-gradient:after{mix-blend-mode:multiply}.premium-banner-animation11.active .premium-banner-ib-desc,.premium-banner-animation11:hover .premium-banner-ib-desc{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation11.active .premium-banner-gradient:after,.premium-banner-animation11.active .premium-banner-gradient:before,.premium-banner-animation11:hover .premium-banner-gradient:after,.premium-banner-animation11:hover .premium-banner-gradient:before{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation11.scale img,.premium-banner-animation11.zoomout img{-webkit-transform:translate3d(-10px,0,0) scale(1.1);transform:translate3d(-10px,0,0) scale(1.1)}.premium-blog-thumb-effect-wrapper{position:relative;overflow:hidden}.premium-blog-effect-container:not(.premium-blog-bordered-effect) .premium-blog-post-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;padding:20px}.premium-blog-bordered-effect .premium-blog-post-link{display:block;height:100%;position:relative}.premium-blog-thumbnail-container{overflow:hidden}.premium-blog-thumbnail-container .below-entry-meta,.premium-blog-thumbnail-container img{width:100%;height:100%;margin:0!important;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out;display:block}.premium-blog-scale-effect img,.premium-blog-zoomout-effect img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-blog-sepia-effect img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-blog-bright-effect img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-blog-trans-effect img{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-blog-post-outer-container:hover .premium-blog-zoomin-effect img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-blog-post-outer-container:hover .premium-blog-zoomout-effect img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-blog-post-outer-container:hover .premium-blog-scale-effect img{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-blog-post-outer-container:hover .premium-blog-gray-effect img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-blog-post-outer-container:hover .premium-blog-blur-effect img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-blog-post-outer-container:hover .premium-blog-sepia-effect img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-blog-post-outer-container:hover .premium-blog-bright-effect img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-blog-post-outer-container:hover .premium-blog-trans-effect img{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-blog-post-container{overflow:hidden}.premium-blog-post-container .premium-blog-inner-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-blog-post-container .premium-blog-post-content{line-height:1.5em;color:#777;font-size:14px;margin-bottom:10px}.premium-blog-post-container .premium-blog-post-link:focus,.premium-blog-post-container .premium-blog-post-link:hover,.premium-blog-post-container ul.post-categories a:focus,.premium-blog-post-container ul.post-categories a:hover{-webkit-box-shadow:none!important;box-shadow:none!important;outline:0!important}.premium-blog-post-container .premium-blog-entry-title{font-size:18px;margin-bottom:5px}.premium-blog-post-container.premium-blog-skin-modern .premium-blog-content-wrapper{position:relative;z-index:3;top:-50px}.premium-blog-post-container .premium-blog-content-wrapper{background-color:#f5f5f5;padding:30px}.premium-blog-post-container .premium-blog-content-wrapper.empty-thumb{top:0}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner) .premium-blog-thumbnail-container:after,.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner) .premium-blog-thumbnail-container:before{position:absolute;content:"";z-index:1;top:50%;left:50%;opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:all .4s linear 0s;transition:all .4s linear 0s;height:1px;width:100%;background-color:#fff}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner) .premium-blog-thumbnail-container:before{width:1px;height:100%}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner):hover .premium-blog-thumbnail-container:after{width:20px;opacity:1}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner):hover .premium-blog-thumbnail-container:before{height:20px;opacity:1}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner) .premium-blog-content-wrapper{margin:0 10px 20px;clear:both}.premium-blog-post-container.premium-blog-skin-banner .premium-blog-thumbnail-overlay,.premium-blog-post-container.premium-blog-skin-classic .premium-blog-thumbnail-overlay,.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-overlay{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:0}.premium-blog-post-container.premium-blog-skin-banner .premium-blog-thumbnail-overlay a,.premium-blog-post-container.premium-blog-skin-classic .premium-blog-thumbnail-overlay a,.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-overlay a{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%}.premium-blog-post-container.premium-blog-skin-banner .premium-blog-thumbnail-overlay i,.premium-blog-post-container.premium-blog-skin-banner .premium-blog-thumbnail-overlay span,.premium-blog-post-container.premium-blog-skin-classic .premium-blog-thumbnail-overlay i,.premium-blog-post-container.premium-blog-skin-classic .premium-blog-thumbnail-overlay span,.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-overlay i,.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-overlay span{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-post-container.premium-blog-skin-side{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-container{height:100%}.premium-blog-post-container.premium-blog-skin-side .premium-blog-content-wrapper{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.premium-blog-post-container.premium-blog-skin-banner{position:relative}.premium-blog-post-container.premium-blog-skin-banner .premium-blog-content-wrapper{position:absolute;width:100%;bottom:-5px;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:transparent;z-index:3;-webkit-transition:bottom .3s ease-in-out;transition:bottom .3s ease-in-out}.premium-blog-post-container.premium-blog-skin-banner:hover .premium-blog-content-wrapper{bottom:0}.premium-blog-post-container .premium-blog-cats-container ul.post-categories{margin:0;padding:0;list-style:none;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-blog-post-container .premium-blog-cats-container a{display:block;font-size:12px;color:#fff;background-color:#777;margin:0 3px 10px 0;padding:5px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-diagonal-container{position:absolute;top:0;left:0;width:100%;height:100%}.premium-blog-diagonal-effect:before{position:absolute;top:0;left:0;width:100%;height:100%;content:" ";z-index:1;background:rgba(255,255,255,.2);-webkit-transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-post-outer-container:hover .premium-blog-diagonal-effect:before{-webkit-transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0);transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0)}.premium-blog-framed-effect{position:absolute;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);height:-webkit-calc(100% - 30px);height:calc(100% - 30px);top:15px;left:15px;opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3);-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-post-outer-container:hover .premium-blog-framed-effect{opacity:.99;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-blog-bordered-effect{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;padding:15px;-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-bordered-effect .premium-blog-post-link:after,.premium-blog-bordered-effect .premium-blog-post-link:before{content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:all .5s linear 0s;transition:all .5s linear 0s;-webkit-transition-delay:0s;transition-delay:0s;border-color:rgba(255,255,255,.45)}.premium-blog-bordered-effect .premium-blog-post-link:before{border-right:2px solid;border-left:2px solid;-webkit-transform:scale(1,0);-ms-transform:scale(1,0);transform:scale(1,0);-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.premium-blog-bordered-effect .premium-blog-post-link:after{border-top:2px solid;border-bottom:2px solid;-webkit-transform:scale(0,1);-ms-transform:scale(0,1);transform:scale(0,1);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.premium-blog-bordered-effect:hover{opacity:.99}.premium-blog-bordered-effect:hover .premium-blog-post-link:after,.premium-blog-bordered-effect:hover .premium-blog-post-link:before{-webkit-transition-delay:.15s;transition-delay:.15s;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-blog-squares-effect,.premium-blog-squares-square-container{position:absolute;top:0;left:0;width:100%;height:100%}.premium-blog-squares-effect:after,.premium-blog-squares-effect:before{position:absolute;content:"";top:0;left:0;width:50%;height:50%;-webkit-transform:translate(-100%,-100%);-ms-transform:translate(-100%,-100%);transform:translate(-100%,-100%);opacity:.7;-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-squares-square-container:after,.premium-blog-squares-square-container:before{position:absolute;content:"";top:0;left:0;width:50%;height:50%;-webkit-transform:translate(-100%,-100%);-ms-transform:translate(-100%,-100%);transform:translate(-100%,-100%);opacity:.7;-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-squares-square-container:after,.premium-blog-squares-square-container:before{opacity:.8}.premium-blog-squares-effect:after{-webkit-transform:translate(200%,200%);-ms-transform:translate(200%,200%);transform:translate(200%,200%)}.premium-blog-squares-square-container:before{-webkit-transform:translate(-100%,200%);-ms-transform:translate(-100%,200%);transform:translate(-100%,200%)}.premium-blog-squares-square-container:after{-webkit-transform:translate(200%,-100%);-ms-transform:translate(200%,-100%);transform:translate(200%,-100%)}.premium-blog-squares-effect:hover:before{-webkit-transform:translate(0,0) scaleY(1.003) scaleX(1.003);-ms-transform:translate(0,0) scaleY(1.003) scaleX(1.003);transform:translate(0,0) scaleY(1.003) scaleX(1.003)}.premium-blog-squares-effect:hover:after{-webkit-transform:translate(100%,100%) scaleY(1.003) scaleX(1.003);-ms-transform:translate(100%,100%) scaleY(1.003) scaleX(1.003);transform:translate(100%,100%) scaleY(1.003) scaleX(1.003)}.premium-blog-squares-effect:hover .premium-blog-squares-square-container:before{-webkit-transform:translate(0,100%);-ms-transform:translate(0,100%);transform:translate(0,100%)}.premium-blog-squares-effect:hover .premium-blog-squares-square-container:after{-webkit-transform:translate(100%,0);-ms-transform:translate(100%,0);transform:translate(100%,0)}.premium-blog-thumb-effect-wrapper:hover .premium-blog-thumbnail-overlay{opacity:1}.premium-blog-thumb-effect-wrapper:hover .premium-blog-thumbnail-overlay a{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-blog-clear-fix{clear:both}.premium-blog-masked .premium-blog-thumbnail-container{position:relative;overflow:visible}.premium-blog-masked .premium-blog-thumbnail-container svg{position:absolute;height:100px;width:100%;bottom:-5px;left:0;fill:#f5f5f5;z-index:99}.premium-blog-masked .premium-blog-thumbnail-container svg.premium-blog-shape-divider-svg{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.premium-blog-masked .premium-blog-author-thumbnail,.premium-blog-masked .premium-blog-skin-banner .premium-blog-content-wrapper{z-index:999!important}.premium-blog-format-link{padding:5px;line-height:0}.premium-blog-entry-meta{line-height:1.3em;font-size:12px;margin-bottom:13px;color:#adadad}.premium-blog-entry-meta i{margin-right:3px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-meta-data{display:inline-block}.premium-blog-meta-data .premium-blog-meta-separator{margin:0 5px}.premium-blog-meta-data a,.premium-blog-meta-data span{color:inherit;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-author-thumbnail{position:relative;padding:0 30px;width:100%;top:-10px;height:0;pointer-events:none}.premium-blog-author-thumbnail img{-webkit-border-radius:50%;border-radius:50%;width:60px;pointer-events:all;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-blog-entry-title a,.premium-blog-post-content .premium-blog-excerpt-link,.premium-blog-post-tags-container a{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-excerpt-link-wrap a.premium-blog-excerpt-link{background-color:transparent;color:#54595f;padding:0}.premium-blog-cta-full-yes .premium-blog-excerpt-link{width:100%}.premium-blog-post-tags-container{margin-top:8px;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.premium-blog-post-tags-container a{color:inherit;margin-left:5px}.premium-blog-align-left .post-categories,.premium-blog-align-left .premium-blog-post-tags-container{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.premium-blog-align-left .premium-blog-inner-container{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.premium-blog-align-center .post-categories,.premium-blog-align-center .premium-blog-post-tags-container{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-blog-align-center .premium-blog-inner-container{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-blog-align-right .post-categories,.premium-blog-align-right .premium-blog-post-tags-container{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.premium-blog-align-right .premium-blog-inner-container{-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end}.premium-blog-pagination-container{text-align:right}.premium-blog-pagination-container span{cursor:default}.premium-blog-pagination-container .page-numbers{display:inline-block;color:#000;line-height:1;font-size:1em;font-weight:400;text-decoration:none;padding:.75em;margin:0 .4em .4em 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-wrap .premium-loading-feed{display:block;position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0;background:rgba(255,255,255,.2);-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;z-index:99}.premium-blog-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.premium-blog-wrap ul.slick-dots{width:100%}.premium-blog-list .premium-blog-post-outer-container{width:100%}.premium-blog-even .premium-blog-post-container{height:100%}.premium-blog-even .slick-track{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-blog-even .slick-slide{height:inherit!important}.premium-blog-filter{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-blog-filter .premium-blog-filters-container li a.category{outline:0;text-decoration:none;-webkit-border-radius:75px;border-radius:75px;margin:15px 5px 20px;padding:7px 20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-filter ul.premium-blog-filters-container{text-align:center;margin:0;padding:0}.premium-blog-filter .premium-blog-filters-container li{list-style:none;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}@media (max-width:768px){.premium-blog-content-wrapper{top:0;margin:0;padding:15px}.premium-blog-skin-side{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.premium-button{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);cursor:pointer;-webkit-transition:all .2s ease-in-out!important;transition:all .2s ease-in-out!important}.premium-button-style1,.premium-button-style2,.premium-button-style5,.premium-button-style7{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);-webkit-box-shadow:0 0 1px transparent;box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.15s;transition-duration:.15s}.premium-button-style1:before,.premium-button-style2:before,.premium-button-style5:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;-webkit-transform:scaleY(0);-ms-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.premium-button-style5-radialin:before,.premium-button-style5-radialout:before{-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-border-radius:100%;border-radius:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-button-style5-radialin:before{-webkit-transform:scale(2);-ms-transform:scale(2);transform:scale(2)}.premium-button-style5-rectin:before{-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-button-style5-rectout:before{-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-button-style5-rectout:hover:before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-button-style5-rectin:hover:before{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-button-style5-radialout:hover:before{-webkit-transform:scale(2);-ms-transform:scale(2);transform:scale(2)}.premium-button-style5-radialin:hover:before{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-button-style1-top:before{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.premium-button-style1-right:before{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}.premium-button-style1-left:before{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}.premium-button-style2-scshutoutver:before,.premium-button-style2-shutouthor:before{-webkit-transform:scaleY(0);-ms-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}.premium-button-style2-scshutouthor:before,.premium-button-style2-shutoutver:before{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.premium-button-style2-shutinhor:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%}.premium-button-style2-shutinver:before{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%}.premium-button-style1-bottom:hover:before,.premium-button-style1-top:hover:before{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1)}.premium-button-style1-left:hover:before,.premium-button-style1-right:hover:before,.premium-button-style2-shutouthor:hover:before,.premium-button-style2-shutoutver:hover:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.premium-button-style2-shutinhor:hover:before{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0)}.premium-button-style2-shutinver:hover:before{-webkit-transform:scaleY(0);-ms-transform:scaleY(0);transform:scaleY(0)}.premium-button-style2-scshutouthor:hover:before{-webkit-transform:scaleX(.9);-ms-transform:scaleX(.9);transform:scaleX(.9)}.premium-button-style2-scshutoutver:hover:before{-webkit-transform:scaleY(.8);-ms-transform:scaleY(.8);transform:scaleY(.8)}.premium-button-style2-dshutinhor:before{top:50%;left:50%;width:120%;height:0%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(-45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(-45deg);transform:translateX(-50%) translateY(-50%) rotate(-45deg);-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-transition-property:all;transition-property:all}.premium-button-style2-dshutinver:before{top:50%;left:50%;width:120%;height:0%;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-transition-property:all;transition-property:all;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg)}.premium-button-style2-dshutinhor:hover:before,.premium-button-style2-dshutinver:hover:before{height:220%}.premium-button-style3-before i,.premium-button-style3-before svg{opacity:0;-webkit-transform:translateX(-5px);-ms-transform:translateX(-5px);transform:translateX(-5px);-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.premium-button-style3-after i,.premium-button-style3-after svg{opacity:0;-webkit-transform:translateX(-5px);-ms-transform:translateX(-5px);transform:translateX(-5px);-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out;-webkit-transform:translateX(5px);-ms-transform:translateX(5px);transform:translateX(5px)}.premium-button-style3-after:hover i,.premium-button-style3-after:hover svg{opacity:1}.premium-button-style3-before:hover i,.premium-button-style3-before:hover svg{opacity:1}.premium-button-text-icon-wrapper{width:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-button-text-icon-wrapper i,.premium-button-text-icon-wrapper span,.premium-button-text-icon-wrapper svg{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-button-style4-icon-wrapper{position:absolute;z-index:2;width:100%;text-align:center;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;opacity:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-button-style4-icon-wrapper.top{bottom:-100%;left:0}.premium-button-style4-icon-wrapper.bottom{top:-100%;left:0}.premium-button-style4-icon-wrapper.left{top:0;left:-100%}.premium-button-style4-icon-wrapper.right{top:0;right:-100%}.premium-button-style4-bottom:hover .premium-button-style4-icon-wrapper{top:0;opacity:1}.premium-button-style4-top:hover .premium-button-style4-icon-wrapper{bottom:0;opacity:1}.premium-button-style4-left:hover .premium-button-style4-icon-wrapper{left:0;opacity:1}.premium-button-style4-right:hover .premium-button-style4-icon-wrapper{right:0;opacity:1}.premium-button-style4-bottom:hover .premium-button-text-icon-wrapper{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0}.premium-button-style4-top:hover .premium-button-text-icon-wrapper{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);opacity:0}.premium-button-style4-left:hover .premium-button-text-icon-wrapper{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0}.premium-button-style4-right:hover .premium-button-text-icon-wrapper{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);opacity:0}.premium-button-style6:before{content:"";position:absolute;left:50%;top:50%;width:100px;height:100px;-webkit-border-radius:100%;border-radius:100%;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-button-style6:hover:before{-webkit-transform:translate(-50%,-50%) scale(3);-ms-transform:translate(-50%,-50%) scale(3);transform:translate(-50%,-50%) scale(3)}.premium-button-style6 .premium-button-text-icon-wrapper{position:relative;z-index:1}.premium-button-style7-left .premium-button-text-icon-wrapper:before,.premium-button-style7-right .premium-button-text-icon-wrapper:before{-webkit-transition:width .3s ease-out .15s;transition:width .3s ease-out .15s}.premium-button-style7-left .premium-button-text-icon-wrapper:after,.premium-button-style7-right .premium-button-text-icon-wrapper:after{-webkit-transition:width .3s ease-out 0s;transition:width .3s ease-out 0s}.premium-button-style7-bottom .premium-button-text-icon-wrapper:before,.premium-button-style7-top .premium-button-text-icon-wrapper:before{-webkit-transition:height .3s ease-out .15s;transition:height .3s ease-out .15s}.premium-button-style7-bottom .premium-button-text-icon-wrapper:after,.premium-button-style7-top .premium-button-text-icon-wrapper:after{-webkit-transition:height .3s ease-out 0s;transition:height .3s ease-out 0s}.premium-button-style7:hover .premium-button-text-icon-wrapper:before{-webkit-transition-delay:0s;transition-delay:0s}.premium-button-style7:hover .premium-button-text-icon-wrapper:after{-webkit-transition-delay:.15s;transition-delay:.15s}.premium-button-style7-bottom .premium-button-text-icon-wrapper:after,.premium-button-style7-bottom .premium-button-text-icon-wrapper:before{content:"";position:absolute;right:0;top:0;left:0;height:0;z-index:-1}.premium-button-style7-top .premium-button-text-icon-wrapper:after,.premium-button-style7-top .premium-button-text-icon-wrapper:before{content:"";position:absolute;right:0;bottom:0;left:0;height:0;z-index:-1}.premium-button-style7-right .premium-button-text-icon-wrapper:after,.premium-button-style7-right .premium-button-text-icon-wrapper:before{content:"";position:absolute;right:0;top:0;bottom:0;width:0;z-index:-1}.premium-button-style7-left .premium-button-text-icon-wrapper:after,.premium-button-style7-left .premium-button-text-icon-wrapper:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;z-index:-1}.premium-button-style7-bottom:hover .premium-button-text-icon-wrapper:after,.premium-button-style7-bottom:hover .premium-button-text-icon-wrapper:before{height:100%;top:0}.premium-button-style7-top:hover .premium-button-text-icon-wrapper:after,.premium-button-style7-top:hover .premium-button-text-icon-wrapper:before{height:100%;bottom:0}.premium-button-style7-left:hover .premium-button-text-icon-wrapper:after,.premium-button-style7-left:hover .premium-button-text-icon-wrapper:before{width:100%;left:0}.premium-button-style7-right:hover .premium-button-text-icon-wrapper:after,.premium-button-style7-right:hover .premium-button-text-icon-wrapper:before{width:100%;right:0}.premium-carousel-wrapper a.carousel-arrow,.premium-carousel-wrapper a.ver-carousel-arrow{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;width:2em;height:2em;line-height:0;text-align:center;position:absolute;z-index:99;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-appearance:inherit;border:none;-webkit-box-shadow:none;box-shadow:none}.premium-carousel-wrapper a.carousel-arrow svg,.premium-carousel-wrapper a.ver-carousel-arrow svg{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.ver-carousel-arrow.carousel-next i{margin-bottom:-3px}.premium-carousel-wrapper a.slick-arrow:hover{-webkit-box-shadow:none!important;box-shadow:none!important}.premium-carousel-wrapper .premium-carousel-content-hidden{visibility:hidden}.premium-carousel-wrapper a.carousel-arrow{top:50%}.premium-carousel-wrapper a.ver-carousel-arrow{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-carousel-dots-above ul.slick-dots{position:absolute;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;width:auto;top:50%;bottom:auto;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-carousel-wrapper .premium-carousel-nav-arrow-next,.premium-carousel-wrapper .premium-carousel-nav-arrow-prev,.premium-carousel-wrapper .premium-carousel-nav-dot{display:none}.premium-carousel-wrapper ul.slick-dots svg{width:20px;height:20px;outline:0!important}@-webkit-keyframes hvr-ripple-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}@keyframes hvr-ripple-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}.premium-carousel-ripple-yes .premium-carousel-wrapper{padding-bottom:1px}.premium-carousel-ripple-yes ul.slick-dots li{position:relative}.premium-carousel-ripple-yes ul.slick-dots li i{position:relative;z-index:1}.premium-carousel-ripple-yes ul.slick-dots li:hover:before{content:"";position:absolute;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);top:0;right:0;bottom:0;left:0;-webkit-border-radius:50%;border-radius:50%;pointer-events:none;background-color:rgba(0,0,0,.15)}.premium-carousel-ripple-yes ul.slick-dots li.slick-active:hover:before{background-color:rgba(0,0,0,.3)}.premium-carousel-ripple-yes ul.slick-dots li:hover:before{-webkit-animation:hvr-ripple-out 1.3s infinite;animation:hvr-ripple-out 1.3s infinite}.premium-carousel-wrapper.premium-carousel-scale .slick-slide{-webkit-transform:scale(1.25,1.25);-ms-transform:scale(1.25,1.25);transform:scale(1.25,1.25);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-carousel-wrapper.premium-carousel-scale div.slick-active{-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1)}[dir=rtl] .premium-carousel-inner .slick-slide{float:right}.premium-contact-form-anim-yes .wpcf7-span::after{display:block;height:2px;content:"";top:-2px;position:relative;width:0;-webkit-transition:all ease-in-out .3s;transition:all ease-in-out .3s}.premium-contact-form-anim-yes .wpcf7-span.is-focused::after{width:100%}.premium-cf7-container input.wpcf7-submit{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-countdown{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;text-align:center}.countdown-row{display:block;text-align:center}.countdown .countdown-section{display:inline-block;max-width:100%;margin-bottom:15px;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.countdown .countdown-section:last-child{margin-right:0}.countdown span.countdown-amount{font-size:70px;line-height:1;padding:40px}.countdown .pre_time-mid{display:block}.premium-countdown-separator-yes .countdown_separator{display:block;margin:0 50px;font-size:30px}.premium-countdown-separator-yes .countdown-row .countdown-section:last-child .countdown_separator,.premium-countdown-separator-yes .premium-countdown-block:last-child .countdown_separator{display:none}.side .countdown-section .countdown-period{vertical-align:bottom}.countdown .countdown-section .countdown-period{font-size:17px;line-height:3em}.side .countdown-section .countdown-amount,.side .countdown-section .countdown-period{display:inline-block}.side .countdown-section .countdown-amount{margin-right:5px}.down .countdown-section .countdown-amount,.down .countdown-section .countdown-period{display:block}.premium-countdown-flip .premium-countdown-block{text-align:center;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-countdown-flip .premium-countdown-block:last-child{margin-right:0}.premium-countdown-flip .premium-countdown-label{overflow:hidden;color:#1a1a1a;text-transform:uppercase}.premium-countdown-flip .premium-countdown-figure{position:relative;height:110px;width:100px;line-height:107px;background-color:#fff;-webkit-border-radius:10px;border-radius:10px;-webkit-box-shadow:0 3px 4px 0 rgba(0,0,0,.2),inset 2px 4px 0 0 rgba(255,255,255,.08);box-shadow:0 3px 4px 0 rgba(0,0,0,.2),inset 2px 4px 0 0 rgba(255,255,255,.08)}.premium-countdown-flip .premium-countdown-figure:last-child{margin-right:0}.premium-countdown-flip .premium-countdown-figure>span{position:absolute;left:0;right:0;margin:auto;font-weight:700}.premium-countdown-flip .premium-countdown-figure .top{z-index:3;-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:perspective(200px);transform:perspective(200px);-webkit-backface-visibility:hidden;backface-visibility:hidden}.premium-countdown-flip .premium-countdown-figure .bottom{z-index:1}.premium-countdown-flip .premium-countdown-figure .bottom::before{content:"";position:absolute;display:block;top:0;left:0;width:100%;height:50%;background-color:rgba(0,0,0,.02)}.premium-countdown-flip .premium-countdown-figure .top-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:4;bottom:0;-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:perspective(200px) rotateX(180deg);transform:perspective(200px) rotateX(180deg)}.premium-countdown-flip .premium-countdown-figure .top-back span{position:absolute;top:-100%;left:0;right:0;margin:auto}.premium-countdown-flip .premium-countdown-figure .bottom-back{z-index:2;top:0}.premium-countdown-flip .premium-countdown-figure .bottom-back span{position:absolute;top:0;left:0;right:0;margin:auto}.premium-countdown-flip .premium-countdown-figure .bottom-back,.premium-countdown-flip .premium-countdown-figure .top,.premium-countdown-flip .premium-countdown-figure .top-back{height:50%;overflow:hidden;background-color:#f7f7f7;-webkit-border-top-left-radius:10px;border-top-left-radius:10px;-webkit-border-top-right-radius:10px;border-top-right-radius:10px}.premium-countdown-flip .premium-countdown-figure .top-back{-webkit-border-bottom-left-radius:10px;border-bottom-left-radius:10px;-webkit-border-bottom-right-radius:10px;border-bottom-right-radius:10px}.premium-countdown-flip .premium-countdown-figure .bottom-back::after,.premium-countdown-flip .premium-countdown-figure .top::after{content:"";position:absolute;z-index:-1;left:0;bottom:0;width:100%;height:100%;border-bottom:1px solid rgba(0,0,0,.1)}.side .premium-countdown-figure,.side .premium-countdown-label{display:inline-block}.side .premium-countdown-figure{margin-right:5px}.down .premium-countdown-figure,.down .premium-countdown-label{display:block}.down .premium-countdown-label{width:100%}.premium-counter-area{padding:10px 0;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-counter-area.top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-counter-area.right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.premium-counter-area.right .premium-counter-icon{padding-left:20px}.premium-counter-area.left .premium-counter-icon{padding-right:20px}.premium-counter-area .premium-counter-icon .icon i.fa:before{vertical-align:text-top}.premium-counter-area .premium-counter-icon span.icon{text-align:center;display:inline-block;vertical-align:middle}.premium-counter-area .premium-counter-icon .circle{-webkit-border-radius:100%;border-radius:100%}.premium-counter-area .premium-counter-icon img,.premium-counter-area .premium-counter-icon svg{width:80px}.premium-counter-area .premium-counter-icon .premium-counter-animation svg{height:80px}.premium-counter-area .premium-counter-title p{padding:0;margin:0}.premium-counter-area .premium-counter-value-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-init-wrapper{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-init-wrapper.row{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-init-wrapper.right{text-align:right}span.icon.flex-width{width:auto!important;height:auto!important}.premium-counter-area .premium-counter-init{font-size:35px}.premium-dual-header-first-header,.premium-dual-header-second-header{position:relative;padding:0;margin:0;display:inline-block;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.premium-dual-header-first-clip .premium-dual-header-first-span,.premium-dual-header-second-clip{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.premium-dual-header-first-clip.stroke .premium-dual-header-first-span,.premium-dual-header-second-clip.stroke{-webkit-text-stroke-color:transparent;-webkit-text-fill-color:#fafafa;-webkit-text-stroke-width:2px}@media (max-width:500px){.premium-dual-header-first-header,.premium-dual-header-second-header{word-wrap:break-word}}.premium-dual-header-first-header.gradient .premium-dual-header-first-span,.premium-dual-header-second-header.gradient{-webkit-background-size:300% 300%!important;background-size:300% 300%!important;-webkit-animation:Gradient 10s ease-in-out infinite;animation:Gradient 10s ease-in-out infinite}@-webkit-keyframes Gradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes Gradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}.premium-mask-yes.premium-header-inline .premium-dual-header-first-span{display:inline-block!important}.premium-fancy-text,.premium-prefix-text,.premium-suffix-text{font-size:40px}.premium-fancy-item-hidden,.premium-fancy-text-wrapper:not(.typing) .premium-fancy-text{opacity:0}.premium-fancy-text-wrapper .premium-fancy-list-items{list-style:none}.premium-fancy-text-wrapper .premium-fancy-text-span-align{vertical-align:top}.premium-fancy-text-wrapper:not(.typing):not(.slide) .premium-fancy-text-items-wrapper{margin:0;padding:0;border:none;position:relative}.premium-fancy-text-wrapper:not(.typing):not(.slide) .premium-fancy-list-items{position:absolute;top:0;left:0;display:inline-block}.premium-fancy-text-wrapper.zoomout .premium-fancy-item-hidden{-webkit-animation:pa-zoom-out .8s;animation:pa-zoom-out .8s}.premium-fancy-text-wrapper.zoomout .premium-fancy-item-visible{position:relative!important;-webkit-animation:pa-zoom-in .8s;animation:pa-zoom-in .8s}.premium-fancy-text-wrapper.zoomout .premium-fancy-text-items-wrapper{-webkit-perspective:300px;perspective:300px}.premium-fancy-text-wrapper.rotate .premium-fancy-list-items{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.premium-fancy-text-wrapper.rotate .premium-fancy-item-hidden{-webkit-transform:rotateX(180deg);transform:rotateX(180deg);-webkit-animation:pa-rotate-out 1.2s;animation:pa-rotate-out 1.2s}.premium-fancy-text-wrapper.rotate .premium-fancy-item-visible{position:relative!important;-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-animation:pa-rotate-in 1.2s;animation:pa-rotate-in 1.2s}.premium-fancy-text-wrapper.custom .premium-fancy-item-visible{position:relative!important}.premium-fancy-text-wrapper.auto-fade .premium-fancy-text{display:inline-block;width:200px;font-weight:400}.premium-fancy-text-wrapper.auto-fade .premium-fancy-svg-text{position:relative;vertical-align:sub}.premium-fancy-text-wrapper.auto-fade g>text{text-anchor:start;shape-rendering:crispEdges;opacity:0;font-size:300px;-webkit-animation-name:pa-auto-fade;animation-name:pa-auto-fade;-moz-animation-name:pa-auto-fade;-webkit-animation-duration:9s;animation-duration:9s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.premium-fancy-text-wrapper.auto-fade g>text:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.premium-fancy-text-wrapper.auto-fade g>text:nth-child(2){-webkit-animation-delay:3s;animation-delay:3s}.premium-fancy-text-wrapper.auto-fade g>text:nth-child(3){-webkit-animation-delay:6s;animation-delay:6s}.premium-fancy-text-wrapper.loading .premium-fancy-text{position:relative}.premium-fancy-text-wrapper.loading .premium-fancy-text .premium-loading-bar{position:absolute;width:100%;height:3px;bottom:0;left:0;animation:pa-loading-bar 2.5s ease-out infinite;-webkit-animation:pa-loading-bar 2.5s ease-out infinite}.premium-fancy-text-wrapper.loading.pause .premium-fancy-text:hover .premium-loading-bar{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes pa-auto-fade{0%{opacity:0}20%{opacity:1}35%{opacity:0}100%{opacity:0}}@keyframes pa-auto-fade{0%{opacity:0}20%{opacity:1}35%{opacity:0}100%{opacity:0}}@-webkit-keyframes pa-loading-bar{0%{width:0}100%{width:100}}@keyframes pa-loading-bar{0%{width:0}100%{width:100}}@-webkit-keyframes pa-zoom-in{0%{opacity:0;-webkit-transform:translateZ(100px);transform:translateZ(100px)}100%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes pa-zoom-in{0%{opacity:0;-webkit-transform:translateZ(100px);transform:translateZ(100px)}100%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes pa-zoom-out{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}100%{opacity:0;-webkit-transform:translateZ(-100px);transform:translateZ(-100px)}}@keyframes pa-zoom-out{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}100%{opacity:0;-webkit-transform:translateZ(-100px);transform:translateZ(-100px)}}@-webkit-keyframes pa-rotate-in{0%{opacity:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}35%{opacity:0;-webkit-transform:rotateX(120deg);transform:rotateX(120deg)}65%{opacity:0}100%{opacity:1;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@keyframes pa-rotate-in{0%{opacity:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}35%{opacity:0;-webkit-transform:rotateX(120deg);transform:rotateX(120deg)}65%{opacity:0}100%{opacity:1;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@-webkit-keyframes pa-rotate-out{0%{opacity:1;-webkit-transform:rotateX(0);transform:rotateX(0)}35%{opacity:1;-webkit-transform:rotateX(-40deg);transform:rotateX(-40deg)}65%{opacity:0}100%{opacity:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}}@keyframes pa-rotate-out{0%{opacity:1;-webkit-transform:rotateX(0);transform:rotateX(0)}35%{opacity:1;-webkit-transform:rotateX(-40deg);transform:rotateX(-40deg)}65%{opacity:0}100%{opacity:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}}.premium-bullet-list-box{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0}.premium-bullet-list-box .premium-bullet-list-content-grow-lc{-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center}.premium-bullet-list-box .premium-bullet-list-content-grow-rc{-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center}.premium-bullet-list-box .premium-bullet-list-content-grow-cc{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.premium-bullet-list-content{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;width:auto;position:relative}.premium-bullet-list-content .premium-bullet-list-text span,.premium-bullet-list-content .premium-bullet-list-wrapper{display:inline-block;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-bullet-list-content .premium-bullet-list-text span{margin:0 5px;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.premium-bullet-list-content .premium-bullet-list-icon-text p{font-size:18px;background-color:#eee;padding:1px 5px;-webkit-border-radius:2px;border-radius:2px}.premium-bullet-list-content .premium-bullet-list-icon-text p,.premium-bullet-list-content .premium-bullet-list-text span,.premium-bullet-list-content .premium-bullet-list-wrapper i,.premium-bullet-list-content .premium-bullet-list-wrapper img,.premium-bullet-list-content .premium-bullet-list-wrapper svg{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-bullet-list-content .premium-bullet-list-wrapper{position:relative;line-height:0}.premium-bullet-list-content .premium-bullet-list-wrapper img,.premium-bullet-list-content .premium-bullet-list-wrapper svg{width:30px!important;height:30px!important;position:relative;z-index:500}.premium-bullet-list-content .premium-bullet-list-wrapper .premium-bullet-list-icon-text,.premium-bullet-list-content .premium-bullet-list-wrapper i{position:relative;z-index:500}.premium-bullet-list-content .premium-bullet-list-wrapper i{width:1.25em}.premium-bullet-list-content .premium-bullet-list-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.premium-bullet-list-content:not(:last-of-type) .premium-bullet-list-connector{width:100%;height:100%;position:absolute;top:.5em;z-index:100;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-bullet-list-content:not(:last-of-type) .premium-bullet-list-connector .premium-icon-connector-content:after{content:"";border-right-width:1px;border-right-style:solid;border-color:#333;display:block;height:100%}li.premium-bullet-list-content.premium-bullet-list-content-inline{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;z-index:2}li.premium-bullet-list-content.premium-bullet-list-content-inline:not(:first-child){margin:0 3px}li.premium-bullet-list-content.premium-bullet-list-content-inline:first-child{margin:0 3px 0 0}.premium-bullet-list-divider:not(:last-child){width:100%;-webkit-box-flex:0;-webkit-flex:0 0 100%;-moz-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;overflow:hidden}.premium-bullet-list-divider:not(:last-child):after{content:"";display:block;border-top-style:solid;border-top-width:1px}.premium-bullet-list-divider-inline:not(:last-child){float:right;display:inline-block;position:relative;height:100%;overflow:hidden;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;margin:0 3px}.premium-bullet-list-divider-inline:not(:last-child):after{content:"";display:block;border-left-width:1px;height:33px;border-left-style:solid}.premium-bullet-list-icon-text{line-height:1.5}.premium-bullet-list-icon-text p,li.premium-bullet-list-content,ul.premium-bullet-list-box{margin:0}.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-icon-text p,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-text span,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-wrapper i{color:transparent!important;text-shadow:0 0 3px #aaa}.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-badge,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-wrapper .premium-lottie-animation svg,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-wrapper img,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-icon-connector-content{-webkit-filter:blur(3px);filter:blur(3px)}.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-icon-text p,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-text span,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-wrapper i{color:#aaa!important;text-shadow:0 0 0 transparent}.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-badge,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-wrapper .premium-lottie-animation svg,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-wrapper img,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-icon-connector-content{-webkit-filter:none;filter:none}.premium-bullet-list-content .premium-bullet-list-badge{font-size:11px;top:auto;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.premium-bullet-list-content .premium-bullet-list-icon-text p{font-size:13px}.premium-bullet-list-gradient-effect[data-text]{display:inline-block;position:relative;text-decoration:none}.premium-bullet-list-gradient-effect[data-text]::before{content:attr(data-text);position:absolute;z-index:1;overflow:hidden;-webkit-clip-path:polygon(0 0,1px 0,1px 100%,0 100%);clip-path:polygon(0 0,1px 0,1px 100%,0 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-transition:all .4s ease;transition:all .4s ease}.premium-bullet-list-content:focus .premium-bullet-list-gradient-effect[data-text]::before,.premium-bullet-list-content:hover .premium-bullet-list-gradient-effect[data-text]::before{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}ul[data-list-animation*=animated-] .premium-bullet-list-content,ul[data-list-animation*=animated-] .premium-bullet-list-divider,ul[data-list-animation*=animated-] .premium-bullet-list-divider-inline{opacity:0}.premium-bullet-list-content-grow-effect:hover{-webkit-transform:scale(1.07);-ms-transform:scale(1.07);transform:scale(1.07)}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.premium-image-button{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative;overflow:hidden;background-color:#eee;cursor:pointer;-webkit-transition:all .2s ease-in-out!important;transition:all .2s ease-in-out!important}.premium-image-button .premium-button-style6-bg,.premium-image-button.premium-button-style6:before,.premium-image-button:not(.premium-image-button-style6):hover{background-color:#54595f}.premium-image-button-style1:before,.premium-image-button-style4-icon-wrapper{background-color:#54595f}.premium-image-button-text-icon-wrapper{width:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:3;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-image-button-text-icon-wrapper i,.premium-image-button-text-icon-wrapper span,.premium-image-button-text-icon-wrapper svg{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-image-button-style1:before{position:absolute;content:"";-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-image-button-style1-bottom:before{width:100%;height:0;top:0;left:0}.premium-image-button-style1-top:before{width:100%;height:0;bottom:0;left:0}.premium-image-button-style1-right:before{width:0;height:100%;bottom:0;left:0}.premium-image-button-style1-left:before{width:0;height:100%;top:0;right:0}.premium-image-button-style1-bottom:hover:before,.premium-image-button-style1-top:hover:before{height:100%}.premium-image-button-style1-left:hover:before,.premium-image-button-style1-right:hover:before{width:100%}.premium-image-button-style3{z-index:10}.premium-image-button-style3:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";z-index:1;background:rgba(255,255,255,.2);-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);-webkit-transition:all .8s ease-out;transition:all .8s ease-out}.premium-image-button-diagonal-right:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,150%,0)}.premium-image-button-diagonal-right:hover:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,-150%,0)}.premium-image-button-diagonal-left:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,-150%,0)}.premium-image-button-diagonal-left:hover:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,150%,0)}.premium-image-button-diagonal-bottom:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0)}.premium-image-button-diagonal-bottom:hover:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0)}.premium-image-button-diagonal-top:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0)}.premium-image-button-diagonal-top:hover:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0)}.premium-image-button-style4-icon-wrapper{position:absolute;z-index:2;width:100%;text-align:center;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;opacity:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-image-button-style4-icon-wrapper.top{bottom:-100%;left:0}.premium-image-button-style4-icon-wrapper.bottom{top:-100%;left:0}.premium-image-button-style4-icon-wrapper.left{top:0;left:-100%}.premium-image-button-style4-icon-wrapper.right{top:0;right:-100%}.premium-image-button-style4-bottom:hover .premium-image-button-style4-icon-wrapper{top:0;opacity:1}.premium-image-button-style4-bottom:hover .premium-image-button-text-icon-wrapper{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0}.premium-image-button-style4-top:hover .premium-image-button-style4-icon-wrapper{bottom:0;opacity:1}.premium-image-button-style4-top:hover .premium-image-button-text-icon-wrapper{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);opacity:0}.premium-image-button-style4-left:hover .premium-image-button-style4-icon-wrapper{left:0;opacity:1}.premium-image-button-style4-left:hover .premium-image-button-text-icon-wrapper{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0}.premium-image-button-style4-right:hover .premium-image-button-style4-icon-wrapper{right:0;opacity:1}.premium-image-button-style4-right:hover .premium-image-button-text-icon-wrapper{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);opacity:0}.premium-image-button-style5:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;opacity:0;-webkit-transition:all 1s ease-in-out;transition:all 1s ease-in-out;background:rgba(255,255,255,.2);-webkit-animation-name:premium-overlap-effect-done;animation-name:premium-overlap-effect-done;-webkit-animation-duration:1s;animation-duration:1s}.premium-image-button-overlap-effect-vertical:before{-webkit-animation-name:premium-overlap-ver-effect-done;animation-name:premium-overlap-ver-effect-done}.premium-image-button-overlap-effect-horizontal:hover:before{-webkit-animation-name:premium-overlap-effect;animation-name:premium-overlap-effect}.premium-image-button-overlap-effect-vertical:hover:before{-webkit-animation-name:premium-overlap-ver-effect;animation-name:premium-overlap-ver-effect}.premium-image-button-style6:before{content:"";position:absolute;left:50%;top:50%;width:100px;height:100px;-webkit-border-radius:100%;border-radius:100%;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-image-button-style6:hover:before{-webkit-transform:translate(-50%,-50%) scale(3);-ms-transform:translate(-50%,-50%) scale(3);transform:translate(-50%,-50%) scale(3)}.premium-image-button-style6 .premium-button-text-icon-wrapper{position:relative;z-index:1}@-webkit-keyframes premium-overlap-effect{0%{opacity:0;-webkit-transform:rotateY(0);transform:rotateY(0)}50%{opacity:1;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{opacity:0;-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@keyframes premium-overlap-effect{0%{opacity:0;-webkit-transform:rotateY(0);transform:rotateY(0)}50%{opacity:1;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{opacity:0;-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@-webkit-keyframes premium-overlap-effect-done{0%{opacity:0;-webkit-transform:rotateY(0);transform:rotateY(0)}50%{opacity:1;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{opacity:0;-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@keyframes premium-overlap-effect-done{0%{opacity:0;-webkit-transform:rotateY(0);transform:rotateY(0)}50%{opacity:1;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{opacity:0;-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@-webkit-keyframes premium-overlap-ver-effect{0%{opacity:0;-webkit-transform:rotateX(0);transform:rotateX(0)}50%{opacity:1;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}100%{opacity:0;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@keyframes premium-overlap-ver-effect{0%{opacity:0;-webkit-transform:rotateX(0);transform:rotateX(0)}50%{opacity:1;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}100%{opacity:0;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@-webkit-keyframes premium-overlap-ver-effect-done{0%{opacity:0;-webkit-transform:rotateX(0);transform:rotateX(0)}50%{opacity:1;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}100%{opacity:0;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@keyframes premium-overlap-ver-effect-done{0%{opacity:0;-webkit-transform:rotateX(0);transform:rotateX(0)}50%{opacity:1;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}100%{opacity:0;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@font-face{font-family:pa-elements;src:url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.eot?vcwy2s);src:url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.eot?vcwy2s#iefix) format("embedded-opentype"),url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.ttf?vcwy2s) format("truetype"),url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.woff?vcwy2s) format("woff"),url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.svg?vcwy2s#pa-elements) format("svg");font-weight:400;font-style:normal}.premium-image-scroll-container,.premium-image-scroll-section{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-image-scroll-section{position:relative;overflow:hidden;width:100%;-webkit-mask-image:-webkit-radial-gradient(white,#000)}.premium-image-scroll-container{width:100%}.premium-image-scroll-container .premium-image-scroll-mask-media{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.premium-container-scroll{overflow:auto}.premium-image-scroll-container .premium-image-scroll-horizontal{position:relative;width:100%;height:100%}.premium-image-scroll-container .premium-image-scroll-horizontal img{max-width:none;height:100%}.premium-image-scroll-container .premium-image-scroll-vertical img{width:100%;max-width:100%;height:auto}.premium-image-scroll-ver{position:relative}.premium-image-scroll-container .premium-image-scroll-overlay{background:rgba(2,2,2,.3)}.premium-image-scroll-container .premium-image-scroll-link,.premium-image-scroll-container .premium-image-scroll-overlay{position:absolute;top:0;bottom:0;left:0;right:0;z-index:4}.premium-image-scroll-content{display:inline-block;position:absolute;height:auto;top:50%;left:50%;text-align:center;z-index:5;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.premium-container-scroll-instant .premium-image-scroll-image{-webkit-transition:all 0s ease-in-out!important;transition:all 0s ease-in-out!important}.premium-image-scroll-container img{-webkit-transition:-webkit-transform 3s ease-in-out;transition:-webkit-transform 3s ease-in-out;transition:transform 3s ease-in-out;transition:transform 3s ease-in-out,-webkit-transform 3s ease-in-out}.premium-image-scroll-container .premium-image-scroll-content,.premium-image-scroll-container .premium-image-scroll-overlay{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:1}.premium-image-scroll-container:hover .premium-image-scroll-overlay{opacity:0}.premium-image-scroll-container:hover .premium-image-scroll-content{opacity:0;visibility:hidden}.premium-image-scroll-content .premium-image-scroll-icon{display:inline-block;font-family:pa-elements!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.pa-horizontal-mouse-scroll:before{content:"\e901"}.pa-vertical-mouse-scroll:before{content:"\e93c"}.pa-horizontal-mouse-scroll{-webkit-animation-name:pa-scroll-horizontal;animation-name:pa-scroll-horizontal}.pa-vertical-mouse-scroll{-webkit-animation-name:pa-scroll-vertical;animation-name:pa-scroll-vertical}@-webkit-keyframes pa-scroll-vertical{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(5px);transform:translateY(5px)}}@keyframes pa-scroll-vertical{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(5px);transform:translateY(5px)}}@-webkit-keyframes pa-scroll-horizontal{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(5px);transform:translateX(5px)}}@keyframes pa-scroll-horizontal{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(5px);transform:translateX(5px)}}.premium-image-separator-container{position:absolute;width:100%;z-index:2;top:auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-image-separator-container img,.premium-image-separator-container svg{display:inline-block!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.premium-image-separator-container .premium-image-separator-link{position:absolute;z-index:9999;top:0;left:0;width:100%;height:100%;text-decoration:none}.premium-image-separator-container .premium-image-separator-link:active,.premium-image-separator-container .premium-image-separator-link:focus,.premium-image-separator-container .premium-image-separator-link:hover,.premium-image-separator-container .premium-image-separator-link:visited{-webkit-box-shadow:none!important;box-shadow:none!important;outline:0!important;border:none!important;text-decoration:none!important}.premium-image-separator-container i,.premium-image-separator-container>svg{padding:20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-filter,.premium-img-gallery-filter{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-img-gallery{clear:both;overflow:hidden}.premium-gallery-container .premium-gallery-item{padding:10px;float:left}.premium-gallery-container .grid-sizer{width:33.33%}.premium-gallery-container .pa-gallery-item{padding:10px}.premium-blog-filter .premium-blog-filters-container li a.category,.premium-img-gallery-filter .premium-gallery-cats-container li a.category{outline:0;text-decoration:none;-webkit-border-radius:75px;border-radius:75px;margin:15px 5px 20px;padding:7px 20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.pa-gallery-img{position:relative}.pa-gallery-img .pa-gallery-whole-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.pa-gallery-img .pa-gallery-whole-link span{display:none}.pa-gallery-img.style2 .pa-gallery-whole-link,.pa-gallery-img.style3 .pa-gallery-whole-link{z-index:99}.pa-gallery-img-container{overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.pa-gallery-img-container img{display:block;width:100%;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-img-gallery.gray img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-img-gallery.scale img,.premium-img-gallery.zoomout img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-img-gallery.sepia img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-img-gallery.bright img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-img-gallery.trans img{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.pa-gallery-img .pa-gallery-img-link,.pa-gallery-img .pa-gallery-magnific-image{outline:0}.pa-gallery-img .pa-gallery-img-link i,.pa-gallery-img .pa-gallery-img-link svg,.pa-gallery-img .pa-gallery-magnific-image i,.pa-gallery-img .pa-gallery-magnific-image svg{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.pa-gallery-img .pa-gallery-img-link span,.pa-gallery-img .pa-gallery-magnific-image span{line-height:1;display:inline-block;opacity:0;margin:0 5px;padding:15px;-webkit-border-radius:50%;border-radius:50%}.pa-gallery-img.style2 .pa-gallery-img-link span,.pa-gallery-img.style2 .pa-gallery-magnific-image span{margin:0 5px 20px}.pa-gallery-img:hover .pa-gallery-magnific-image span{-webkit-transition:all .3s ease-in-out,opacity .5s ease-in-out .3s;transition:all .3s ease-in-out,opacity .5s ease-in-out .3s}.pa-gallery-img:hover .pa-gallery-img-link span{-webkit-transition:all .3s ease-in-out,opacity .5s ease-in-out .6s;transition:all .3s ease-in-out,opacity .5s ease-in-out .6s}.pa-gallery-img:hover .pa-gallery-img-link span,.pa-gallery-img:hover .pa-gallery-magnific-image span{opacity:1}.premium-gallery-icon-show a.pa-gallery-video-icon span{opacity:1}.premium-blog-filter ul.premium-blog-filters-container,.premium-img-gallery-filter ul.premium-gallery-cats-container{text-align:center;margin:0;padding:0}.premium-blog-filter .premium-blog-filters-container li,.premium-img-gallery-filter .premium-gallery-cats-container li{list-style:none;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-img-gallery.zoomin .pa-gallery-img:hover img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-img-gallery.zoomout .pa-gallery-img:hover img{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-img-gallery.scale .pa-gallery-img:hover img{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-img-gallery.gray .pa-gallery-img:hover img{-webkit-filter:grayscale(0);filter:grayscale(0)}.premium-img-gallery.blur .pa-gallery-img:hover img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-img-gallery.sepia .pa-gallery-img:hover img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-img-gallery.trans .pa-gallery-img:hover img{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-img-gallery.bright .pa-gallery-img:hover img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.pa-gallery-img .premium-gallery-caption{padding:10px}.pa-gallery-img .premium-gallery-caption .premium-gallery-img-name{margin-bottom:0}.pa-gallery-img.style1{overflow:hidden}.pa-gallery-img:not(.style2) .pa-gallery-icons-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.pa-gallery-img:not(.style2) .pa-gallery-icons-inner-container{position:absolute;top:33.33%;width:100%;text-align:center;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:3}.pa-gallery-img.style1 .premium-gallery-caption{position:absolute;top:auto;right:0;bottom:-1px;left:0;width:100%;-webkit-transition:all .5s ease 0s;transition:all .5s ease 0s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.pa-gallery-img.style1:hover .premium-gallery-caption{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);bottom:-1px!important}.pa-gallery-img.default .premium-gallery-caption{position:absolute;top:auto;right:0;left:0;width:100%;bottom:0}.pa-gallery-img.style2 .pa-gallery-icons-caption-container{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;z-index:1;background-color:rgba(108,191,226,.68);-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;text-align:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.pa-gallery-img.style2 .pa-gallery-icons-caption-cell{width:100%}.pa-gallery-img.style2:hover .pa-gallery-icons-caption-container{opacity:1;-webkit-transform:translate(15px,15px);-ms-transform:translate(15px,15px);transform:translate(15px,15px)}.premium-clearfix{clear:both}.premium-img-gallery-metro .premium-gallery-item{overflow:hidden}.premium-img-gallery-metro .pa-gallery-img{height:100%}.premium-img-gallery-metro .pa-gallery-img-container{height:100%}.premium-img-gallery-metro .pa-gallery-img-container img{min-height:100%;width:100%;-o-object-fit:fill;object-fit:fill}.premium-img-gallery .premium-gallery-item-hidden{visibility:hidden;width:0!important;height:0!important;margin:0!important;padding:0!important}.premium-gallery-load-more{position:relative}.premium-gallery-load-more .premium-gallery-load-more-btn{-webkit-box-shadow:none;box-shadow:none;text-shadow:none;border:none;outline:0;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:bottom;cursor:pointer;line-height:1;font-style:normal;font-weight:400;background-image:none;color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-gallery-load-more-btn{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-gallery-load-more-btn div{margin-left:3px}.premium-gallery-load-more-btn .premium-loader{display:inline-block;width:20px;height:20px}.pa-gallery-img .pa-gallery-lightbox-wrap{display:inline-block}.pa-gallery-img .pa-gallery-video-icon,.premium-img-gallery-no-lightbox .premium-gallery-video-item .pa-gallery-img{cursor:pointer}.pa-gallery-img-container iframe{position:absolute;visibility:hidden;top:0;left:0;max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none}.pa-gallery-img-container video{position:absolute;visibility:hidden;top:0;left:0;max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none;-o-object-fit:contain;object-fit:contain}.pa-gallery-icons-caption-cell svg,.pa-gallery-icons-inner-container svg{width:14px;height:14px}.premium-gallery-gradient-layer{position:absolute;bottom:40px;width:100%;height:20px;background:-webkit-gradient(linear,left bottom,left top,from(#17181f),to(rgba(255,255,255,0)));background:-webkit-linear-gradient(bottom,#17181f 0,rgba(255,255,255,0) 100%);background:linear-gradient(to top,#17181f 0,rgba(255,255,255,0) 100%)}.elementor-widget-premium-lottie .premium-lottie-animation{position:relative;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.elementor-widget-premium-lottie .premium-lottie-animation a{position:absolute;left:0;top:0;width:100%;height:100%;z-index:2}.premium-maps-info-container{margin-top:10px;margin-bottom:10px}.premium-maps-info-desc,.premium-maps-info-title{margin:0;padding:0}.premium-maps-container .gm-style-iw{text-align:center}.premium-maps-container .gm-style img{max-width:none!important}.premium-modal-box-modal-lower-close,.premium-modal-trigger-btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent}.premium-modal-trigger-btn .premium-modal-box-icon,.premium-modal-trigger-btn>svg{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-modal-trigger-btn>svg{width:30px;height:30px}.premium-modal-box-modal-close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000}.premium-modal-box-modal-close:focus,.premium-modal-box-modal-close:hover{color:#000;text-decoration:none;cursor:pointer}button.premium-modal-box-modal-close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.premium-modal-box-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0;padding:0!important;background:rgba(0,0,0,.5);-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-modal-box-modal .premium-modal-box-modal-dialog{position:absolute;max-height:-webkit-calc(100vh - 150px);max-height:calc(100vh - 150px);-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;opacity:0;background-color:#fff;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;border-radius:6px}.premium-modal-box-modal-content{background-clip:padding-box;outline:0;overflow-x:hidden}.premium-modal-backdrop.premium-in{opacity:.5!important}.premium-in{opacity:1}.premium-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.premium-in{-js-display:flex!important;display:-webkit-box!important;display:-webkit-flex!important;display:-moz-box!important;display:-ms-flexbox!important;display:flex!important}.premium-modal-box-modal-header{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;padding:5px 15px;border-bottom:1px solid #e5e5e5}.premium-modal-box-modal-header .premium-modal-box-modal-close{margin-top:-2px}.premium-modal-box-modal-header .premium-modal-box-modal-title{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;margin:0;padding:0}.premium-modal-box-modal-header .premium-modal-box-modal-title svg{width:50px;height:60px}.premium-modal-box-modal-body{position:relative;padding:15px}.premium-modal-box-modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.premium-modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.premium-modal-trigger-text{background:0 0!important;display:inline-block}.premium-modal-box-container{width:100%!important}.premium-modal-trigger-container .premium-modal-trigger-btn{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;border:none;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-modal-trigger-container .premium-modal-trigger-btn.premium-btn-block{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-modal-trigger-container .premium-modal-trigger-animation,.premium-modal-trigger-container .premium-modal-trigger-img,.premium-modal-trigger-container .premium-modal-trigger-text{cursor:pointer}.premium-modal-trigger-container .premium-modal-trigger-animation{display:inline-block;width:200px;height:200px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-modal-box-modal-header img{width:48px;padding-right:5px}.premium-modal-box-modal-header i,.premium-modal-box-modal-header svg{padding-right:6px}.premium-modal-box-modal-close{position:relative;z-index:99}.premium-modal-box-close-button-container,.premium-modal-box-modal-close,.premium-modal-box-modal-lower-close,.premium-modal-trigger-img,.premium-modal-trigger-text{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}@media (min-width:768px){.premium-modal-box-modal-dialog{width:700px;max-height:600px;overflow:auto}}@media (max-width:767px){.premium-modal-box-modal-dialog{width:100%;max-height:500px;overflow:auto}}.premium-modal-box-container[data-modal-animation*=animated-]{opacity:0}.premium-nav-widget-container ul{list-style:none;margin:0;padding:0}.premium-nav-widget-container .premium-main-nav-menu{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:100%}.premium-nav-ver .premium-ver-inner-container{width:45%;position:relative}.premium-nav-ver .premium-nav-menu-container,.premium-nav-ver .premium-ver-toggler{width:100%}.premium-nav-ver .premium-nav-menu-container{background-color:#fff;-webkit-box-shadow:0 10px 25px rgba(0,0,0,.1);box-shadow:0 10px 25px rgba(0,0,0,.1)}.premium-nav-ver .premium-main-nav-menu{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item.menu-item-has-children .premium-sub-menu{visibility:hidden;opacity:0;position:absolute;min-width:250px}.premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item.menu-item-has-children:hover .premium-mega-content-container,.premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item.menu-item-has-children:hover>.premium-sub-menu{opacity:1;visibility:visible}.premium-nav-ver .premium-nav-menu-item{width:100%}.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-right .premium-mega-content-container,.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-right .premium-nav-menu-item.menu-item-has-children .premium-sub-menu{left:100%;top:0}.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-left .premium-mega-content-container,.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-left .premium-nav-menu-item.menu-item-has-children .premium-sub-menu{right:100%;top:0}.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-left .premium-menu-link{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.premium-nav-hor .premium-nav-menu-container{height:60px}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item .premium-sub-menu{visibility:hidden;opacity:0;position:absolute;min-width:220px}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item .premium-mega-content-container,.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item>.premium-sub-menu{top:100%}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item .premium-mega-content-container .premium-sub-menu,.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item>.premium-sub-menu .premium-sub-menu{left:100%;top:0}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:hover .premium-mega-content-container,.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-sub-menu{visibility:visible;opacity:1;pointer-events:auto}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item.premium-mega-item-static .premium-mega-content-container{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:not(.premium-mega-item-static) .premium-mega-content-container{left:0}.premium-mega-nav-item .premium-sub-menu{display:none}.premium-mega-nav-item{position:relative}.premium-mega-nav-item:hover .premium-mega-content-container{visibility:visible;opacity:1;pointer-events:auto}.premium-mega-content-container{visibility:hidden;position:absolute;z-index:9999;opacity:0;pointer-events:none}.premium-hamburger-menu .premium-mega-content-container,.premium-nav-dropdown .premium-mega-content-container,.premium-nav-slide .premium-mega-content-container{visibility:visible;position:relative;opacity:1;pointer-events:auto}.premium-mobile-menu-outer-container a.premium-mobile-menu-close,.premium-nav-widget-container a.premium-hamburger-toggle{text-decoration:none}.premium-nav-widget-container .premium-hamburger-toggle{display:none;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-nav-widget-container .premium-hamburger-toggle i{padding:.25em;font-size:22px}.premium-nav-widget-container .premium-hamburger-toggle svg{width:22px;height:22px}.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-close,.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-text,.premium-nav-widget-container .premium-hamburger-toggle i{color:#494c4f}.premium-nav-widget-container .premium-hamburger-toggle svg,.premium-nav-widget-container .premium-hamburger-toggle svg path{fill:#494c4f}.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-close,.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-text{margin:2px}.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-close{display:none}.premium-mobile-menu-container{width:100%}.premium-mobile-menu-container .premium-main-mobile-menu{width:100%}.premium-mobile-menu-container ul{list-style:none;margin:0;padding:0}.premium-mobile-menu-container .premium-mobile-menu,.premium-mobile-menu-container .premium-sub-menu{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-mobile-menu-container .premium-nav-menu-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-mobile-menu-container .premium-item-badge{top:50%;right:0;left:unset;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-nav-hor .premium-mobile-menu-container .premium-item-badge{top:0;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-mobile-menu-outer-container{opacity:0}.premium-mobile-menu-outer-container.premium-vertical-toggle-open{opacity:1}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container{background-color:#f7f7f7;width:300px;-webkit-transform:translateX(-300px);-ms-transform:translateX(-300px);transform:translateX(-300px);height:100%;position:fixed;top:0;left:0;overflow-x:hidden;z-index:10002;-webkit-transition:.5s;transition:.5s;padding-top:50px}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-container{margin-top:50px}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-container .premium-item-badge{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close{position:absolute;top:2%;right:5px;padding:0 9px;z-index:10000;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:#494c4f;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close .premium-toggle-close{margin:5px}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close svg{width:22px;height:22px;fill:#494c4f}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close svg path{fill:#494c4f}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close i{font-size:22px}.premium-ver-hamburger-menu .premium-vertical-toggle-open{-webkit-transform:translateX(0)!important;-ms-transform:translateX(0)!important;transform:translateX(0)!important;-webkit-transition:.5s;transition:.5s}.premium-ver-toggle-yes .premium-nav-menu-container{height:auto}.premium-ver-toggle-yes .premium-ver-toggler{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:15px 20px 15px 20px;background:#eee;color:#042551;cursor:pointer}.premium-ver-toggle-yes .premium-ver-toggler .premium-ver-toggler-btn,.premium-ver-toggle-yes .premium-ver-toggler .premium-ver-toggler-title{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-ver-toggle-yes .premium-ver-toggler .premium-ver-toggler-txt{text-indent:5px}.premium-ver-toggle-yes .premium-ver-toggler:hover{background:#54595f;color:#fff}.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-close svg,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-close svg path,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-open svg,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-open svg path,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-title-icon svg,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-title-icon svg path{fill:#fff}.premium-ver-toggle-yes .premium-nav-menu-container,.premium-ver-toggle-yes .premium-ver-close,.premium-ver-toggle-yes .premium-ver-open,.premium-ver-toggle-yes .premium-ver-toggler{-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-ver-toggle-yes .premium-nav-menu-container i,.premium-ver-toggle-yes .premium-nav-menu-container svg,.premium-ver-toggle-yes .premium-ver-close i,.premium-ver-toggle-yes .premium-ver-close svg,.premium-ver-toggle-yes .premium-ver-open i,.premium-ver-toggle-yes .premium-ver-open svg,.premium-ver-toggle-yes .premium-ver-toggler i,.premium-ver-toggle-yes .premium-ver-toggler svg{-webkit-transition:color .3s linear 0s;transition:color .3s linear 0s}.premium-ver-toggle-yes .premium-ver-toggler-txt{-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-ver-toggle-yes .premium-ver-close,.premium-ver-toggle-yes .premium-ver-open,.premium-ver-toggle-yes .premium-ver-title-icon{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-ver-toggle-yes .premium-ver-close i,.premium-ver-toggle-yes .premium-ver-open i,.premium-ver-toggle-yes .premium-ver-title-icon i{font-size:16px}.premium-ver-toggle-yes .premium-ver-close svg,.premium-ver-toggle-yes .premium-ver-open svg,.premium-ver-toggle-yes .premium-ver-title-icon svg{width:17px;height:17px;fill:#042551}.premium-ver-toggle-yes .premium-ver-close svg path,.premium-ver-toggle-yes .premium-ver-open svg path,.premium-ver-toggle-yes .premium-ver-title-icon svg path{fill:#042551}.premium-ver-toggle-yes.premium-ver-always .premium-ver-open{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-ver-toggle-yes .premium-ver-collapsed .premium-nav-menu-container{visibility:hidden;opacity:0}.premium-ver-toggle-yes .premium-ver-collapsed .premium-ver-close{display:none}.premium-ver-toggle-yes .premium-ver-collapsed .premium-ver-open{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-ver-toggle-yes.premium-ver-hover .premium-nav-menu-container{position:absolute;z-index:10002}.premium-ver-toggle-yes.premium-ver-click .premium-nav-menu-container{position:absolute;z-index:10001}.premium-ver-toggle-yes .premium-nav-menu-container,.premium-ver-toggle-yes.premium-ver-hover .premium-ver-inner-container:hover .premium-nav-menu-container{visibility:visible;opacity:1}.premium-ver-toggle-yes .premium-ver-open,.premium-ver-toggle-yes.premium-ver-hover .premium-ver-inner-container:hover .premium-ver-open{display:none}.premium-ver-toggle-yes .premium-ver-close,.premium-ver-toggle-yes .premium-ver-title-icon,.premium-ver-toggle-yes.premium-ver-hover .premium-ver-inner-container:hover .premium-ver-close,.premium-ver-toggle-yes.premium-ver-hover .premium-ver-inner-container:hover .premium-ver-title-icon{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-sticky-parent{position:fixed;z-index:10003;-webkit-transition:all .3s linear;transition:all .3s linear}.premium-sticky-scroll-yes.premium-sticky-parent.headroom--not-top{will-change:transform;-webkit-transition:-webkit-transform .5s linear!important;transition:-webkit-transform .5s linear!important;transition:transform .5s linear!important;transition:transform .5s linear,-webkit-transform .5s linear!important;-webkit-transition-delay:1s;transition-delay:1s}.premium-sticky-scroll-yes.premium-sticky-parent.headroom--not-top.slideDown{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-sticky-scroll-yes.premium-sticky-parent.headroom--not-top.slideUp{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.premium-ham-dropdown .premium-stretch-dropdown .premium-mobile-menu-container,.premium-nav-sticky-yes.premium-sticky-active.premium-ham-dropdown .premium-mobile-menu-container{max-height:400px;overflow-y:auto}.premium-nav-slide-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:rgba(0,0,0,.6);z-index:10002}.premium-nav-slide-overlay.premium-vertical-toggle-open{display:block}.premium-active-menu,.premium-active-menu.premium-mega-nav-item>.premium-mega-content-container,.premium-active-menu:not(.premium-mega-nav-item)>.premium-sub-menu{-js-display:flex!important;display:-webkit-box!important;display:-webkit-flex!important;display:-moz-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-active-menu .premium-toggle-close{display:block}.premium-nav-menu-container .premium-sub-menu{background-color:#fff}.premium-mobile-menu-container li,.premium-mobile-menu-container li>.premium-mega-content-container{width:100%!important}.premium-item-icon,.premium-sub-item-icon{font-size:13px;margin:0 7px}.premium-item-icon svg,.premium-sub-item-icon svg{width:100%;height:100%}.premium-item-icon.premium-lottie-animation,.premium-sub-item-icon.premium-lottie-animation{width:20px;height:20px;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-item-icon.dashicons,.premium-sub-item-icon.dashicons{width:13px;height:13px}.premium-nav-menu-item{position:relative}.premium-nav-menu-item .premium-menu-link{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;height:100%;padding:7px 10px;text-decoration:none;position:relative}.premium-nav-menu-item .premium-dropdown-icon{margin:5px}.premium-nav-menu-item.menu-item-has-children{position:relative}.premium-nav-menu-item.menu-item-has-children .premium-sub-menu{z-index:9999}.premium-nav-menu-item.menu-item-has-children .premium-sub-menu .premium-sub-menu-link{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.premium-nav-menu-item .menu-link{position:relative;text-decoration:none}.premium-item-badge,.premium-sub-item-badge{position:absolute;padding:1px 6px;min-width:35px;text-align:center;font-size:10px;-webkit-border-radius:4px;border-radius:4px;line-height:1.8;white-space:nowrap}.premium-nav-hor:not(.premium-hamburger-menu) .premium-item-badge,.premium-nav-hor:not(.premium-nav-dropdown) .premium-item-badge,.premium-nav-hor:not(.premium-nav-slide) .premium-item-badge{position:relative;margin:8px}.premium-nav-dropdown .premium-sub-item-badge,.premium-nav-hor .premium-sub-item-badge,.premium-nav-slide .premium-sub-item-badge,.premium-nav-ver.premium-vertical-right .premium-item-badge,.premium-nav-ver.premium-vertical-right .premium-sub-item-badge{top:50%;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-nav-ver.premium-vertical-left .premium-item-badge,.premium-nav-ver.premium-vertical-left .premium-sub-item-badge{top:50%;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-mega-nav-item .premium-sub-menu{display:none}.premium-mega-nav-item{position:relative}.premium-hamburger-menu .premium-mega-content-container,.premium-nav-dropdown .premium-mega-content-container,.premium-nav-slide .premium-mega-content-container{display:none}.premium-mega-item-static{position:static!important}.premium-hamburger-menu .premium-nav-menu-container,.premium-nav-dropdown .premium-nav-menu-container,.premium-nav-slide .premium-nav-menu-container{display:none}.premium-hamburger-menu .premium-hamburger-toggle,.premium-nav-dropdown .premium-hamburger-toggle,.premium-nav-slide .premium-hamburger-toggle{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-hidden-icon-yes.premium-hamburger-menu .premium-item-icon,.premium-hidden-icon-yes.premium-hamburger-menu .premium-sub-item-icon,.premium-hidden-icon-yes.premium-nav-dropdown .premium-item-icon,.premium-hidden-icon-yes.premium-nav-dropdown .premium-sub-item-icon,.premium-hidden-icon-yes.premium-nav-slide .premium-item-icon,.premium-hidden-icon-yes.premium-nav-slide .premium-sub-item-icon{display:none}.premium-hidden-badge-yes.premium-hamburger-menu .premium-item-badge,.premium-hidden-badge-yes.premium-hamburger-menu .premium-sub-item-badge,.premium-hidden-badge-yes.premium-nav-dropdown .premium-item-badge,.premium-hidden-badge-yes.premium-nav-dropdown .premium-sub-item-badge,.premium-hidden-badge-yes.premium-nav-slide .premium-item-badge,.premium-hidden-badge-yes.premium-nav-slide .premium-sub-item-badge{display:none}.premium-ham-dropdown .premium-mobile-menu-container,.premium-nav-dropdown .premium-mobile-menu-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-ham-dropdown .premium-toggle-opened .premium-toggle-close,.premium-nav-dropdown .premium-toggle-opened .premium-toggle-close{display:inline!important}.premium-ham-dropdown .premium-toggle-opened .premium-toggle-text,.premium-nav-dropdown .premium-toggle-opened .premium-toggle-text{display:none!important}.premium-stretch-dropdown .premium-mobile-menu-container{position:absolute;z-index:9999}.premium-nav-default{display:none}.premium-hamburger-toggle{width:100%}.premium-menu-link-parent::after,.premium-menu-link-parent::before{display:block;position:absolute;-webkit-transition:all .3s cubic-bezier(.58,.3,.005,1);transition:all .3s cubic-bezier(.58,.3,.005,1)}.premium-nav-pointer-double-line .premium-menu-link-parent::after,.premium-nav-pointer-underline .premium-menu-link-parent::after{content:"";bottom:0}.premium-nav-pointer-double-line .premium-menu-link-parent::before,.premium-nav-pointer-overline .premium-menu-link-parent::before{content:"";top:0}.premium-nav-pointer-double-line .premium-menu-link-parent::after,.premium-nav-pointer-double-line .premium-menu-link-parent::before,.premium-nav-pointer-overline .premium-menu-link-parent::after,.premium-nav-pointer-overline .premium-menu-link-parent::before,.premium-nav-pointer-underline .premium-menu-link-parent::after,.premium-nav-pointer-underline .premium-menu-link-parent::before{height:3px;width:100%;left:0;background-color:#55595c;z-index:2}.premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{opacity:0}.premium-nav-pointer-double-line.premium-nav-animation-none,.premium-nav-pointer-overline.premium-nav-animation-none,.premium-nav-pointer-underline.premium-nav-animation-none{-webkit-transition-duration:0s;transition-duration:0s}.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent,.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent::after,.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent::before,.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent:focus,.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent:hover,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent::after,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent::before,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent:focus,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent:hover,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent::after,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent::before,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent:focus,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent:hover{-webkit-transition-duration:0s;transition-duration:0s}.premium-nav-pointer-double-line.premium-nav-animation-slide .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-underline.premium-nav-animation-slide .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after{width:10px;inset-inline-start:100%}.premium-nav-pointer-double-line.premium-nav-animation-slide .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-overline.premium-nav-animation-slide .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{width:10px;left:-20px}.premium-nav-pointer-double-line.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-double-line.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-overline.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-overline.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-underline.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-underline.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{height:0;width:0;left:50%}.premium-nav-pointer-double-line.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-overline.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-underline.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{top:-10px}.premium-nav-pointer-double-line.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-overline.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-underline.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after{bottom:-10px}.premium-nav-pointer-double-line.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-overline.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-underline.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{top:10px}.premium-nav-pointer-double-line.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-overline.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-underline.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after{bottom:10px}.premium-nav-pointer-framed .premium-menu-link-parent::before{content:""}.premium-nav-pointer-framed .premium-menu-link-parent::after,.premium-nav-pointer-framed .premium-menu-link-parent::before{background:0 0;left:0;top:0;bottom:0;right:0;border:3px solid #55595c}.premium-nav-pointer-framed.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{-webkit-transform:scale(.75);-ms-transform:scale(.75);transform:scale(.75)}.premium-nav-pointer-framed.premium-nav-animation-shrink .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{-webkit-transform:scale(1.25);-ms-transform:scale(1.25);transform:scale(1.25)}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent::before{width:3px;height:3px}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent::before{border-width:0 0 3px 3px;-webkit-transition:width .1s .2s,height .1s .3s,opacity .12s .22s;transition:width .1s .2s,height .1s .3s,opacity .12s .22s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent::after{content:"";top:auto;bottom:0;left:auto;right:0;border-width:3px 3px 0 0;-webkit-transition:width .1s,height .1s .1s,opacity 20ms .18s;transition:width .1s,height .1s .1s,opacity 20ms .18s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:focus::before,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:hover::before{-webkit-transition:opacity 20ms,height .1s,width .1s .1s;transition:opacity 20ms,height .1s,width .1s .1s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:focus::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:hover::after{-webkit-transition:opacity 20ms .2s,height .1s .2s,width .1s .3s;transition:opacity 20ms .2s,height .1s .2s,width .1s .3s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:focus::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:focus::before,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:hover::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:hover::before{width:100%;height:100%}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-active-item .premium-menu-link-parent::before{-webkit-transition:opacity 20ms,height .1s,width .1s .1s;transition:opacity 20ms,height .1s,width .1s .1s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-active-item .premium-menu-link-parent::after{-webkit-transition:opacity 20ms .2s,height .1s .2s,width .1s .3s;transition:opacity 20ms .2s,height .1s .2s,width .1s .3s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-active-item .premium-menu-link-parent::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-active-item .premium-menu-link-parent::before{width:100%;height:100%}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent::before{border-width:3px 0 0 3px}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent::after{content:"";top:auto;bottom:0;left:auto;right:0;border-width:0 3px 3px 0}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent::after,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent::before{width:3px;height:3px}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent:focus::after,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent:focus::before,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent:hover::after,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent:hover::before{width:100%;height:100%;-webkit-transition:opacity 2ms,width .4s,height .4s;transition:opacity 2ms,width .4s,height .4s}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-active-item .premium-menu-link-parent::after,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-active-item .premium-menu-link-parent::before{width:100%;height:100%;-webkit-transition:opacity 2ms,width .4s,height .4s;transition:opacity 2ms,width .4s,height .4s}.premium-nav-pointer-text.premium-nav-animation-grow .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-grow .premium-menu-link-parent:hover{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-nav-pointer-text.premium-nav-animation-shrink .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-shrink .premium-menu-link-parent:hover{-webkit-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8)}.premium-nav-pointer-text.premium-nav-animation-sink .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-sink .premium-menu-link-parent:hover{-webkit-transform:translateY(8px);-ms-transform:translateY(8px);transform:translateY(8px)}.premium-nav-pointer-text.premium-nav-animation-float .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-float .premium-menu-link-parent:hover{-webkit-transform:translateY(-8px);-ms-transform:translateY(-8px);transform:translateY(-8px)}.premium-nav-pointer-text.premium-nav-animation-skew .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-skew .premium-menu-link-parent:hover{-webkit-transform:skew(-8deg);-ms-transform:skew(-8deg);transform:skew(-8deg)}.premium-nav-pointer-text.premium-nav-animation-rotate .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-rotate .premium-menu-link-parent:hover{-webkit-transform:rotate(6deg);-ms-transform:rotate(6deg);transform:rotate(6deg)}.premium-nav-pointer-background .premium-menu-link-parent::before{top:0;left:0;right:0;bottom:0;background:#55595c;background-color:#55595c;z-index:-1}.premium-nav-pointer-background .premium-menu-link-parent::after,.premium-nav-pointer-background .premium-menu-link-parent::before{content:"";-webkit-transition:.3s;transition:.3s}.premium-nav-pointer-background.premium-nav-animation-grow .premium-menu-link-parent::before{-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}.premium-nav-pointer-background.premium-nav-animation-grow .premium-menu-link-parent:focus::before,.premium-nav-pointer-background.premium-nav-animation-grow .premium-menu-link-parent:hover::before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-nav-pointer-background.premium-nav-animation-grow .premium-active-item .premium-menu-link-parent::before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-nav-pointer-background.premium-nav-animation-shrink .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);-webkit-transition:.3;transition:.3}.premium-nav-pointer-background.premium-nav-animation-sweep-left .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{left:100%}.premium-nav-pointer-background.premium-nav-animation-sweep-right .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{right:100%}.premium-nav-pointer-background.premium-nav-animation-sweep-up .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{top:100%}.premium-nav-pointer-background.premium-nav-animation-sweep-down .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{bottom:100%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent::after,.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent::after{top:0;left:0;right:0;bottom:0;background:#55595c;background-color:#55595c;z-index:-1}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent::before{top:0;bottom:100%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent::after{top:100%;bottom:0}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent:focus::before,.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent:hover::before{bottom:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent:focus::after,.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent:hover::after{top:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-active-item .premium-menu-link-parent::before{bottom:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-active-item .premium-menu-link-parent::after{top:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-out-vertical .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{bottom:50%;top:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent::before{right:0;left:100%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent::after{right:100%;left:0}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent:focus::before,.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent:hover::before{left:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent:focus::after,.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent:hover::after{right:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-active-item .premium-menu-link-parent::before{left:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-active-item .premium-menu-link-parent::after{right:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-out-horizontal .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{left:50%;right:50%}.premium-active-item::after,.premium-active-item::before,.premium-menu-link-parent:focus::after,.premium-menu-link-parent:focus::before,.premium-menu-link-parent:hover::after,.premium-menu-link-parent:hover::before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-nav-menu-item .premium-mega-content-container,.premium-nav-menu-item .premium-sub-menu{-webkit-transition:.5s all ease-in-out;transition:.5s all ease-in-out;-webkit-transition-delay:.1s;transition-delay:.1s}[class*=premium-nav-slide-].premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-mega-content-container,[class*=premium-nav-slide-].premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-sub-menu,[class*=premium-nav-slide-].premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu:hover>.premium-sub-menu,[class*=premium-nav-slide-].premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-mega-content-container,[class*=premium-nav-slide-].premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-sub-menu,[class*=premium-nav-slide-].premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu:hover>.premium-sub-menu{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.premium-nav-slide-up.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-up.premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu,.premium-nav-slide-up.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-up.premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}.premium-nav-slide-down.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-down.premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu,.premium-nav-slide-down.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-down.premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}.premium-nav-slide-right.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-right.premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu,.premium-nav-slide-right.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-right.premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}.premium-nav-slide-left.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-left.premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu,.premium-nav-slide-left.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-left.premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}.premium-nav-slide-up.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static .premium-mega-content-container{-webkit-transform:translateX(-50%) translateY(10px);-ms-transform:translateX(-50%) translateY(10px);transform:translateX(-50%) translateY(10px)}.premium-nav-slide-up.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(-50%) translateY(0);-ms-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.premium-nav-slide-down.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static .premium-mega-content-container{-webkit-transform:translateX(-50%) translateY(-10px);-ms-transform:translateX(-50%) translateY(-10px);transform:translateX(-50%) translateY(-10px)}.premium-nav-slide-down.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(-50%) translateY(0);-ms-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.premium-nav-slide-left.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static .premium-mega-content-container{-webkit-transform:translateX(-45%);-ms-transform:translateX(-45%);transform:translateX(-45%)}.premium-nav-slide-left.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-nav-slide-right.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static .premium-mega-content-container{-webkit-transform:translateX(-55%);-ms-transform:translateX(-55%);transform:translateX(-55%)}.premium-nav-slide-right.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-nav-slide-down.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container,.premium-nav-slide-up.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-nav-slide-left.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container,.premium-nav-slide-right.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.premium-person-container{position:relative}.premium-person-image-container{position:relative;text-align:center;overflow:hidden}.premium-person-image-container .premium-person-image-wrap{overflow:hidden}.premium-person-scale-effect .premium-person-image-container img,.premium-person-zoomout-effect .premium-person-image-container img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-person-sepia-effect .premium-person-image-container img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-person-bright-effect .premium-person-image-container img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-person-trans-effect .premium-person-image-container img{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-person-zoomin-effect:hover .premium-person-image-container img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-person-zoomout-effect:hover .premium-person-image-container img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-person-scale-effect:hover .premium-person-image-container img{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-person-grayscale-effect:hover .premium-person-image-container img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-person-blur-effect:hover .premium-person-image-container img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-person-sepia-effect:hover .premium-person-image-container img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-person-bright-effect:hover .premium-person-image-container img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-person-trans-effect:hover .premium-person-image-container img{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-person-container .premium-person-image-container img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.premium-person-style2 .premium-person-social{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-shadow:inset 0 0 120px 0 rgba(0,0,0,.5);box-shadow:inset 0 0 120px 0 rgba(0,0,0,.5);-webkit-transition:all .5s linear 0s;transition:all .5s linear 0s;opacity:0}.premium-person-style2 .premium-person-image-container:hover .premium-person-social{opacity:1}.premium-person-list-item a{display:inline-block}.premium-person-style2 .premium-person-list-item a{opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:all .5s ease-in-out 0s;transition:all .5s ease-in-out 0s}.premium-person-style2 .premium-person-image-container:hover .premium-person-list-item a{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-person-info-container{padding:30px 15px}.premium-person-name{margin:0 0 5px;font-weight:700}.premium-person-title{margin:0 0 20px;padding:0}.premium-person-content{margin:0 0 30px}ul.premium-person-social-list{margin:0!important;padding:0}.premium-person-social-list .premium-person-list-item{display:inline;list-style:none}.premium-person-social-list li{position:relative;bottom:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-person-social-list li i{position:relative;bottom:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-person-defaults-yes li.premium-person-facebook:hover a{background-color:#3b5998!important}.premium-person-defaults-yes li.premium-person-twitter:hover a{background-color:#55acee!important}.premium-person-defaults-yes li.premium-person-linkedin:hover a{background-color:#0077b5!important}.premium-person-defaults-yes li.premium-person-google:hover a{background-color:#dc4e41!important}.premium-person-defaults-yes li.premium-person-youtube:hover a{background-color:#b31217!important}.premium-person-defaults-yes li.premium-person-instagram:hover a{background-color:#e4405f!important}.premium-person-defaults-yes li.premium-person-skype:hover a{background-color:#00aff0!important}.premium-person-defaults-yes li.premium-person-pinterest:hover a{background-color:#bd081c!important}.premium-person-defaults-yes li.premium-person-dribbble:hover a{background-color:#ea4c89!important}.premium-person-defaults-yes li.premium-person-mail:hover a{background-color:#b23121!important}.premium-person-defaults-yes li.premium-person-behance:hover a{background-color:#1769ff!important}.premium-person-defaults-yes li.premium-person-whatsapp:hover a{background-color:#25d366!important}.premium-person-defaults-yes li.premium-person-telegram:hover a{background-color:#08c!important}.premium-person-defaults-yes li.premium-person-site:hover a{background-color:#0055a5!important}.premium-person-social-list li:hover a{-webkit-box-shadow:none;box-shadow:none}.premium-person-social-list li a:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.premium-person-social-list li i{font-size:18px}.elementor-widget-premium-addon-person .elementor-widget-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-persons-container.multiple-persons{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%}.premium-person-style1 .premium-person-container{overflow:hidden}.premium-person-style1 .premium-person-container .premium-person-info{position:absolute;top:auto;right:0;left:0;-webkit-transition:all .5s ease 0s;transition:all .5s ease 0s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.premium-person-style1 .premium-person-container:hover .premium-person-info{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);bottom:-1px!important}.premium-person-style1 .premium-person-social-list li:hover{bottom:5px}.premium-person-style1.multiple-persons:not([data-persons-equal=yes]){-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.premium-person-style1 .slick-track{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-person-style1 .slick-slide{height:inherit!important}.premium-person-style3 .premium-person-info-container{position:absolute;top:0;left:0;width:100%;height:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.premium-person-style3 .premium-person-title-desc-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.premium-person-style3 .premium-person-name-icons-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end}.premium-person-style3 .premium-person-title{opacity:0;-webkit-transition:all .3s ease;transition:all .3s ease;width:0}.premium-person-style3 .premium-person-title span{display:inline-block}.premium-person-style3 .premium-person-name{padding-left:10px}.premium-person-style3 .premium-person-social-list{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);opacity:0;-webkit-transition:all .3s ease;transition:all .3s ease}.premium-person-style3 .premium-person-list-item{line-height:0}.premium-person-style3 .premium-person-list-item a{padding:5px 10px 0 0;margin:5px 0}.premium-person-style3 .premium-person-container:hover .premium-person-title{opacity:1}.premium-person-style3 .premium-person-container:hover .premium-person-social-list{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-persons-title-cw .premium-person-title{-webkit-transform:translateX(15px) rotate(90deg);-ms-transform:translateX(15px) rotate(90deg);transform:translateX(15px) rotate(90deg);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top}.premium-persons-title-cw .premium-person-container:hover .premium-person-title{-webkit-transform:translateX(0) rotate(90deg);-ms-transform:translateX(0) rotate(90deg);transform:translateX(0) rotate(90deg)}.premium-persons-title-ccw .premium-person-title{width:auto;margin-right:20px;-webkit-transform:translateX(15px) rotate(-90deg);-ms-transform:translateX(15px) rotate(-90deg);transform:translateX(15px) rotate(-90deg);-webkit-transform-origin:center right;-ms-transform-origin:center right;transform-origin:center right}.premium-persons-title-ccw .premium-person-container:hover .premium-person-title{-webkit-transform:translateX(0) rotate(-90deg);-ms-transform:translateX(0) rotate(-90deg);transform:translateX(0) rotate(-90deg)}.premium-pricing-table-container{position:relative;text-align:center;display:inline-block;width:100%;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-pricing-icon-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:0}.premium-pricing-icon-container .premium-pricing-icon{display:inline-block}.premium-pricing-icon-container .premium-pricing-image{overflow:hidden}.premium-pricing-icon-container .premium-pricing-image img{width:25px;height:25px;-o-object-fit:cover;object-fit:cover}.premium-badge-left{position:absolute;top:0}.premium-badge-right{position:absolute;top:0;right:0}.premium-badge-left{left:0}.premium-badge-triangle.premium-badge-left .corner{width:0;height:0;border-top:150px solid;border-bottom:150px solid transparent;border-right:150px solid transparent}.premium-badge-triangle.premium-badge-right .corner{width:0;height:0;border-bottom:150px solid transparent;border-right:150px solid;border-left:150px solid transparent}.premium-badge-triangle span{position:absolute;top:35px;width:100px;text-align:center;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);display:block;text-transform:uppercase}.premium-badge-triangle.premium-badge-right span{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);right:0}.premium-badge-circle{min-width:4em;min-height:4em;line-height:4em;text-align:center;-webkit-border-radius:100%;border-radius:100%;position:absolute;z-index:1}.premium-badge-stripe{position:absolute;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);width:15em;overflow:hidden;height:15em}.premium-badge-stripe.premium-badge-left{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.premium-badge-stripe .corner{text-align:center;left:0;width:150%;-webkit-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);-ms-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);margin-top:35px;font-size:13px;line-height:2;font-weight:800;text-transform:uppercase}.premium-badge-flag.premium-badge-right .corner{right:-8px;-webkit-border-radius:4px 4px 0 4px;border-radius:4px 4px 0 4px}.premium-badge-flag.premium-badge-right .corner::after,.premium-badge-flag.premium-badge-right .corner::before{right:0}.premium-badge-flag.premium-badge-left .corner{left:-8px;-webkit-border-radius:4px 4px 4px 0;border-radius:4px 4px 4px 0}.premium-badge-flag.premium-badge-left .corner::after,.premium-badge-flag.premium-badge-left .corner::before{left:0}.premium-badge-flag .corner{text-align:center;padding:3px 15px;position:absolute;top:10%}.premium-badge-flag .corner::after,.premium-badge-flag .corner::before{content:"";display:block;position:absolute;width:0;height:0;top:100%;border-bottom:8px solid transparent}.elementor-widget-premium-addon-pricing-table .elementor-widget-container{overflow:visible!important}.premium-badge-flag.premium-badge-right .corner::after{border-left:8px solid rgba(0,0,0,.2)}.premium-badge-flag.premium-badge-left .corner::before{border-right:8px solid rgba(0,0,0,.2)}.premium-pricing-price-currency{position:relative}.premium-pricing-button-container{display:block}.premium-pricing-list{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;list-style-type:none;margin:0;padding:0}.premium-pricing-list .premium-pricing-list-item{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-pricing-list .premium-pricing-list-item svg{width:50px;height:50px}.premium-pricing-list .premium-pricing-list-item img{width:30px;height:30px;-o-object-fit:cover;object-fit:cover}.premium-pricing-list .premium-pricing-list-span{position:relative}.premium-pricing-list .list-item-tooltip{border-bottom:1px dotted}.premium-pricing-list .premium-pricing-list-tooltip{position:absolute;top:-webkit-calc(100% + 1px);top:calc(100% + 1px);left:0;visibility:hidden;padding:15px 20px;-webkit-border-radius:5px;border-radius:5px;min-width:200px;overflow:hidden;text-align:left;font-size:.8rem;color:#fff;background-color:#aaa}.premium-pricing-features-left .premium-pricing-list-span{text-align:left}.premium-pricing-features-center .premium-pricing-list-span{text-align:center}.premium-pricing-features-right .premium-pricing-list-span{text-align:right}.premium-pricing-list-span:hover .premium-pricing-list-tooltip{z-index:99;visibility:visible;opacity:1}.premium-pricing-slashed-price-value{display:inline-block;font-size:20px;font-weight:400;margin-right:5px}.premium-pricing-price-value{font-size:70px}.premium-pricing-description-container li{list-style-position:inside;text-indent:-40px}@-moz-document url-prefix(){.premium-pricing-description-container li{text-indent:0}}.premium-pricing-price-button{display:block;padding:6px 12px;line-height:1.42857143;text-align:center;color:#fff;background:#6ec1e4;margin-bottom:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-progressbar-container{position:relative}.premium-progressbar-bar-wrap{position:relative;text-align:left;overflow:hidden;height:25px;margin-bottom:50px;background-color:#f5f5f5;-webkit-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.premium-progressbar-bar-wrap.premium-progressbar-dots{background-color:transparent;width:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:auto;-webkit-box-shadow:none;box-shadow:none}.premium-progressbar-bar-wrap .progress-segment{position:relative;width:25px;height:25px;-webkit-border-radius:50%;border-radius:50%;overflow:hidden;background-color:#f5f5f5}.premium-progressbar-bar-wrap .progress-segment.filled{background:#6ec1e4}.premium-progressbar-bar-wrap .progress-segment:not(:first-child):not(:last-child){margin:0 4px}.premium-progressbar-bar-wrap .progress-segment:first-child{margin-right:4px}.premium-progressbar-bar-wrap .progress-segment:last-child{margin-left:4px}.premium-progressbar-bar-wrap .progress-segment .segment-inner{position:absolute;top:0;left:0;height:100%;background-color:#6ec1e4}.premium-progressbar-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;background:#6ec1e4;text-align:center;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15)}.premium-progressbar-striped .premium-progressbar-bar{background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.premium-progressbar-active .premium-progressbar-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.premium-progressbar-gradient .premium-progressbar-bar{-webkit-background-size:400% 400%!important;background-size:400% 400%!important;-webkit-animation:progress-bar-gradient 10s ease-in-out infinite;animation:progress-bar-gradient 10s ease-in-out infinite}.premium-progressbar-bar{position:absolute;overflow:hidden;line-height:20px}.premium-progressbar-container .clearfix{clear:both}.premium-progressbar-bar{-webkit-transition:width 0s ease-in-out!important;transition:width 0s ease-in-out!important}.premium-progressbar-container p:first-of-type{margin:0;float:left}.premium-progressbar-container p:nth-of-type(2){margin:0;float:right}.premium-progressbar-name{left:50%;top:0;right:0;-webkit-transform:translateX(-12.5px);-ms-transform:translateX(-12.5px);transform:translateX(-12.5px);z-index:1}.premium-progressbar-multiple-label{position:relative;float:left;width:0;left:50%}.premium-progressbar-center-label{position:relative;white-space:nowrap}.premium-progressbar-arrow{height:15px;left:50%;display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:11px solid;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-progressbar-pin{border-left:1px solid;height:12px;left:50%;display:inline-block}.premium-progressbar-circle-wrap,.premium-progressbar-hf-circle-wrap{width:200px;height:200px;position:relative;margin:0 auto}.premium-progressbar-circle-wrap .premium-progressbar-circle-content,.premium-progressbar-hf-circle-wrap .premium-progressbar-circle-content{position:absolute;top:0;left:0;width:100%;height:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.premium-progressbar-circle-wrap .premium-lottie-animation,.premium-progressbar-hf-circle-wrap .premium-lottie-animation{line-height:1}.premium-progressbar-circle-wrap .premium-progressbar-circle{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-clip-path:inset(0 0 0 50%);clip-path:inset(0 0 0 50%)}.premium-progressbar-circle-wrap .premium-progressbar-circle div{position:absolute;left:0;top:0;height:100%;width:100%;border-width:6px;border-style:solid;border-color:#54595f;-webkit-border-radius:50%;border-radius:50%;-webkit-clip-path:inset(0 50% 0 0);clip-path:inset(0 50% 0 0)}.premium-progressbar-circle-wrap .premium-progressbar-circle .premium-progressbar-circle-left{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.premium-progressbar-circle-wrap .premium-progressbar-circle .premium-progressbar-circle-right{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);visibility:hidden}.premium-progressbar-circle-wrap .premium-progressbar-circle-base{width:100%;height:100%;border:6px solid #eee;-webkit-border-radius:50%;border-radius:50%}.premium-progressbar-hf-container{position:relative;width:200px;height:200px}.premium-progressbar-hf-circle-wrap{overflow:hidden}.premium-progressbar-hf-circle-wrap .premium-progressbar-left-label{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}.premium-progressbar-hf-circle{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-clip-path:inset(0 0 50% 0);clip-path:inset(0 0 50% 0)}.premium-progressbar-hf-circle-progress{position:absolute;left:0;top:0;height:100%;width:100%;border:12px solid #000;-webkit-border-radius:50%;border-radius:50%;-webkit-clip-path:inset(50% 0 0 0);clip-path:inset(50% 0 0 0);-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform 1.5s linear;transition:-webkit-transform 1.5s linear;transition:transform 1.5s linear;transition:transform 1.5s linear,-webkit-transform 1.5s linear}.premium-progressbar-circle-inner{height:100%;width:100%;border:12px solid #eee;-webkit-border-radius:50%;border-radius:50%}.premium-progressbar-hf-labels{margin:0 auto;position:relative;font-size:12px;font-weight:400;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@-webkit-keyframes progress-bar-gradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes progress-bar-gradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@media (max-width:768px){.premium-progressbar-center-label{-webkit-transform:rotate(-90deg)!important;-ms-transform:rotate(-90deg)!important;transform:rotate(-90deg)!important;-webkit-transform-origin:0;-ms-transform-origin:0;transform-origin:0}}.premium-testimonial-box{width:100%;background:0 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-testimonial-box .premium-testimonial-author-info{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-testimonial-box .premium-testimonial-company-name,.premium-testimonial-box .premium-testimonial-person-name{font-weight:600;margin:0}.premium-testimonial-container{position:relative}.premium-testimonial-img-wrapper{margin-left:auto;margin-right:auto;overflow:hidden;border-style:solid!important}.premium-testimonial-img-wrapper.circle{-webkit-border-radius:50%;border-radius:50%}.premium-testimonial-img-wrapper.rounded{-webkit-border-radius:15px;border-radius:15px}.premium-testimonial-img-wrapper img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%!important}.premium-testimonial-content-wrapper{position:relative;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:2;width:100%;padding:20px;text-align:center}.premium-testimonial-clear-float{clear:both}.premium-testimonial-lower-quote,.premium-testimonial-upper-quote{position:absolute;z-index:1}.premium-title-container .premium-title-header{position:relative;margin:0;padding:10px}.premium-title-container .premium-title-header:not(.premium-title-style7){-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-title-container .premium-title-header svg{width:40px;height:40px}.premium-title-container .premium-title-header img{width:40px;height:40px;-o-object-fit:cover;object-fit:cover}.premium-title-container .premium-title-header a{position:absolute;top:0;left:0;width:100%;height:100%}.premium-title-container .premium-lottie-animation{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-title-icon-row .premium-title-icon{margin-right:10px}.premium-title-icon-row-reverse .premium-title-icon{margin-left:10px}.premium-title-style3,.premium-title-style4{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-title-style1,.premium-title-style2,.premium-title-style5,.premium-title-style6,.premium-title-style8,.premium-title-style9{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-title-style7{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-title-style7 .premium-title-style7-inner{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-title-style1{border-width:0;border-left:3px solid #6ec1e4}.premium-title-container.style2,.premium-title-container.style4,.premium-title-container.style5,.premium-title-container.style6{border-bottom:3px solid #6ec1e4}.premium-title-style6:before{position:absolute;left:50%;bottom:0;margin-left:-2px;content:"";border:3px solid transparent}.premium-title-style7-stripe-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-title-style7:before{display:none}.premium-title-style8 .premium-title-text[data-animation=shiny]{-webkit-background-size:125px 125px!important;background-size:125px!important;color:rgba(255,255,255,0);-webkit-background-clip:text!important;background-clip:text!important;-webkit-animation-name:pa-shinny-text!important;animation-name:pa-shinny-text!important;-webkit-animation-duration:var(--animation-speed)!important;animation-duration:var(--animation-speed)!important;-webkit-animation-iteration-count:infinite!important;animation-iteration-count:infinite!important;background:var(--base-color) -webkit-gradient(linear,left top,right top,from(var(--base-color)),to(var(--base-color)),color-stop(.5,var(--shiny-color))) 0 0 no-repeat}@-webkit-keyframes pa-shinny-text{0%{background-position:0}100%{background-position:200%}}@keyframes pa-shinny-text{0%{background-position:0}100%{background-position:200%}}.premium-title-style9[data-animation-blur=process] .premium-title-style9-letter{-webkit-animation:pa-blur-shadow 2s 1 alternate;animation:pa-blur-shadow 2s 1 alternate}@-webkit-keyframes pa-blur-shadow{from{text-shadow:0 0 var(--shadow-value) var(--shadow-color);color:transparent}to{text-shadow:0}}@keyframes pa-blur-shadow{from{text-shadow:0 0 var(--shadow-value) var(--shadow-color);color:transparent}to{text-shadow:0}}.premium-title-gradient-yes .premium-title-icon,.premium-title-gradient-yes .premium-title-text{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:-webkit-gradient(linear,left top,right top,from(#ffa648),color-stop(#f17cc1),to(#4da9fd));background-image:-webkit-linear-gradient(left,#ffa648,#f17cc1,#4da9fd);background-image:linear-gradient(to right,#ffa648,#f17cc1,#4da9fd);-webkit-animation:pa-text-gradient 8s infinite;animation:pa-text-gradient 8s infinite}.premium-title-clipped .premium-title-header{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@-webkit-keyframes pa-text-gradient{0%,100%{-webkit-filter:hue-rotate(0);filter:hue-rotate(0)}50%{-webkit-filter:hue-rotate(360deg);filter:hue-rotate(360deg)}}@keyframes pa-text-gradient{0%,100%{-webkit-filter:hue-rotate(0);filter:hue-rotate(0)}50%{-webkit-filter:hue-rotate(360deg);filter:hue-rotate(360deg)}}.premium-video-box-transform{-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.premium-video-box-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-video-box-container>div{position:relative;overflow:hidden}.pa-aspect-ratio-11 .premium-video-box-container>div{padding-bottom:100%}.pa-aspect-ratio-169 .premium-video-box-container>div{padding-bottom:56.25%}.pa-aspect-ratio-43 .premium-video-box-container>div{padding-bottom:75%}.pa-aspect-ratio-32 .premium-video-box-container>div{padding-bottom:66.6666%}.pa-aspect-ratio-219 .premium-video-box-container>div{padding-bottom:42.8571%}.pa-aspect-ratio-916 .premium-video-box-container>div{padding-bottom:177.8%}.premium-video-box-image-container{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;-webkit-background-size:cover;background-size:cover;background-position:50%;cursor:pointer;margin:auto;-webkit-transition:.2s all;transition:.2s all}.premium-video-box-play-icon-container{position:absolute;z-index:2;cursor:pointer;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:rgba(252,252,252,.35)}.premium-video-box-description-container{position:absolute;z-index:2;padding:5px;text-align:center;cursor:pointer;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.premium-video-box-text{margin-bottom:0!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-video-box-play-icon{padding:15px;-webkit-transform:translateX(4%);-ms-transform:translateX(4%);transform:translateX(4%);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vid-lightbox-container,.premium-video-box-video-container{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;-webkit-transition:opacity .8s ease-in-out;transition:opacity .8s ease-in-out;overflow:hidden;cursor:pointer}.premium-video-box-container[data-overlay=true][data-type=self] .premium-video-box-video-container{opacity:0;visibility:hidden}.premium-video-box-video-container iframe{max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none}.premium-video-box-video-container video{max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none;background-color:#000;-o-object-fit:contain;object-fit:contain}.premium-video-box-container .premium-video-box-vimeo-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;z-index:3;margin:10px;margin-right:10px;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out;margin-right:4.6em}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-portrait{width:60px;height:60px;background:rgba(23,35,34,.75);margin-right:1px;-webkit-box-flex:1;-webkit-flex:1 0 auto;-moz-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;padding:0}.premium-video-box-vimeo-portrait img{width:50px;height:50px;margin:5px;padding:0;border:0;-webkit-border-radius:50%;border-radius:50%}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-headers{font-size:10px}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-title{max-width:100%;font-size:2em!important;font-weight:700;margin:0;padding:.1em .2em;background:rgba(23,35,34,.75);display:inline-block;text-transform:none;line-height:normal;letter-spacing:normal}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-byline{font-size:1.2em!important;font-weight:400;color:#fff;margin-top:.1em;padding:.2em .5em;background:rgba(23,35,34,.75);text-transform:none;line-height:normal;letter-spacing:normal}.premium-video-box-playlist-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.premium-video-box-playlist-container .premium-video-box-container{height:100%;overflow:hidden}.premium-video-box-container:hover .premium-video-box-image-container.zoomin{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-video-box-container:hover .premium-video-box-image-container.zoomout{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-video-box-container:hover .premium-video-box-image-container.scale{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-video-box-container:hover .premium-video-box-image-container.gray{-webkit-filter:grayscale(0);filter:grayscale(0)}.premium-video-box-container:hover .premium-video-box-image-container.blur{-webkit-filter:blur(3px);filter:blur(3px)}.premium-video-box-container:hover .premium-video-box-image-container.sepia{-webkit-filter:sepia(0);filter:sepia(0)}.premium-video-box-container:hover .premium-video-box-image-container.trans{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-video-box-container:hover .premium-video-box-image-container.bright{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-video-box-image-container.gray{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-video-box-image-container.scale,.premium-video-box-image-container.zoomout{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-video-box-image-container.sepia{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-video-box-image-container.bright{-webkit-filter:brightness(1);filter:brightness(1)}.premium-video-box-image-container.trans{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-video-box-mask-media{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.premium-video-box-container.premium-video-box-sticky-apply{z-index:99;overflow:unset}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{position:fixed!important;z-index:99999;height:225px;width:400px;background:#fff}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-container:before,.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-vimeo-wrap{visibility:hidden}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap{-webkit-box-shadow:unset;box-shadow:unset}.premium-video-box-sticky-close,.premium-video-box-sticky-infobar{display:none}.premium-video-box-sticky-apply .premium-video-box-sticky-close{position:absolute;padding:5px;cursor:pointer;z-index:99999;height:14px;width:14px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-border-radius:100%;border-radius:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-video-box-sticky-apply .premium-video-box-play-icon-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-video-box-sticky-apply .premium-video-box-play-icon{-webkit-transition:none;transition:none}.premium-video-box-sticky-apply .premium-video-box-sticky-infobar{display:block;position:relative;top:100%;width:100%;padding:5px;text-align:center;z-index:9999;margin-top:-1px}.premium-video-box-sticky-apply .premium-video-box-inner-wrap.ui-draggable{cursor:move}.premium-video-sticky-top-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;top:20px}.premium-video-sticky-bottom-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;bottom:20px}.premium-video-sticky-top-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;top:20px}.premium-video-sticky-bottom-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;bottom:20px}.premium-video-sticky-center-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-video-sticky-center-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-video-sticky-bottom-left .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap,.premium-video-sticky-bottom-right .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap{bottom:55px}.premium-video-sticky-bottom-left .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-center-left .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-top-left .premium-video-box-sticky-apply .premium-video-box-sticky-close{top:-10px;right:-10px}.premium-video-sticky-bottom-right .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-center-right .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-top-right .premium-video-box-sticky-apply .premium-video-box-sticky-close{top:-10px;left:-10px}.premium-video-box-filter-sticky{-webkit-filter:none!important;filter:none!important}.premium-mscroll-yes.elementor-widget-premium-addon-video-box div{cursor:default}.premium-vscroll-inner{position:relative;min-height:100%}.premium-vscroll-inner .premium-vscroll-dots{position:fixed;z-index:100;opacity:1;margin-top:-32px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vscroll-wrap .premium-vscroll-nav-menu{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vscroll-inner .premium-vscroll-dots,.premium-vscroll-wrap .premium-vscroll-dots-hide{opacity:0;visibility:hidden}.premium-vscroll-nav-dots-yes .premium-vscroll-inner .premium-vscroll-dots:not(.premium-vscroll-dots-hide){opacity:1;visibility:visible}.premium-vscroll-dots.middle{top:50%;margin-top:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-vscroll-dots.top{top:40px}.premium-vscroll-dots.bottom{bottom:30px}.premium-vscroll-dots.right{right:17px}.premium-vscroll-dots.left{left:17px}.premium-vscroll-inner ul.premium-vscroll-dots-list,.premium-vscroll-wrap .premium-vscroll-nav-menu{margin:0!important;padding:0}.premium-vscroll-inner ul.premium-vscroll-dots-list li{width:14px;height:13px;margin:7px;position:relative;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;overflow:visible}.premium-vscroll-inner .premium-vscroll-dot-item .premium-vscroll-nav-link{display:block;position:relative;z-index:1;width:100%;height:100%;cursor:pointer;text-decoration:none}.premium-vscroll-inner .premium-vscroll-dot-item .premium-vscroll-nav-link span{top:2px;left:2.5px;width:8px;height:8px;border:1px solid #000;-webkit-border-radius:50%;border-radius:50%;position:absolute;z-index:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vscroll-inner .premium-vscroll-dot-item.active .premium-vscroll-nav-link span{-webkit-transform:scale(1.6);-ms-transform:scale(1.6);transform:scale(1.6)}.premium-vscroll-inner .premium-vscroll-dot-item .premium-vscroll-tooltip{position:absolute;color:#fff;font-size:14px;font-family:arial,helvetica,sans-serif;white-space:nowrap;max-width:220px;padding-left:.4em;padding-right:.4em}.premium-vscroll-inner .premium-vscroll-dots.right .premium-vscroll-tooltip{right:27px}.premium-vscroll-inner .premium-vscroll-dots.lines .premium-vscroll-dot-item{width:4px;height:30px}.premium-vscroll-inner .premium-vscroll-dots.lines .premium-vscroll-dot-item span{width:100%;height:100%;-webkit-border-radius:0;border-radius:0}.premium-vscroll-inner .premium-vscroll-dots.lines .premium-vscroll-dot-item.active span{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-vscroll-inner .premium-vscroll-dots.right .premium-vscroll-tooltip::after{position:absolute;top:50%;content:"";left:-webkit-calc(100% - 1px);left:calc(100% - 1px);width:10px;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-vscroll-inner .premium-vscroll-dots.left .premium-vscroll-tooltip{left:27px}.premium-vscroll-inner .premium-vscroll-dots.left .premium-vscroll-tooltip::after{position:absolute;top:50%;content:"";right:-webkit-calc(100% - 1px);right:calc(100% - 1px);width:10px;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}@media (max-width:768px){.premium-vscroll-dots.right{right:7px}.premium-vscroll-dots.left{left:7px}}.premium-vscroll-nav-menu{position:fixed;top:20px;height:40px;z-index:100;padding:0;margin:0}.premium-vscroll-nav-menu.left{left:0}.premium-vscroll-nav-menu.right{right:0}.premium-vscroll-nav-menu .premium-vscroll-nav-item{display:inline-block;margin:10px;color:#000;background:#fff;background:rgba(255,255,255,.3)}.premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link{padding:9px 18px;display:block;cursor:pointer;color:#000}.premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link:hover{color:#000}.premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link:focus{outline:0}.multiscroll-nav li a:focus{outline:0}.premium-vscroll-temp .slimScrollBar{visibility:hidden}[data-hijacking=off] .premium-vscroll-temp{height:100vh}[data-hijacking=off] .premium-vscroll-temp>div{opacity:0;top:0;left:0;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}[data-hijacking=off] .premium-vscroll-temp:first-of-type>div::before{display:none;position:absolute;width:100%;top:20px;z-index:2}[data-hijacking=off][data-animation=rotate] .premium-vscroll-temp{position:relative;-webkit-perspective:1800px;perspective:1800px}[data-hijacking=off][data-animation=rotate] .premium-vscroll-temp>div{position:absolute;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}[data-hijacking=off][data-animation=rotate] .premium-vscroll-temp:last-of-type>div{opacity:1!important;-webkit-transform:translateY(0) scale(1) rotateX(0)!important;transform:translateY(0) scale(1) rotateX(0)!important}[data-hijacking=off][data-animation=parallax] .premium-vscroll-temp>div{position:fixed}[data-hijacking=off][data-animation=scaleDown] .premium-vscroll-temp>div{position:fixed}[data-hijacking=off] .premium-vscroll-parallax-last{-webkit-transform:translateY(0) scale(1)!important;-ms-transform:translateY(0) scale(1)!important;transform:translateY(0) scale(1)!important}[data-hijacking=off] .premium-vscroll-parallax-position{position:unset!important}.ast-single-post .entry-content .premium-woocommerce a{text-decoration:none}.premium-woocommerce .premium-woo-qv-btn{cursor:pointer}.premium-woocommerce:not(.premium-woo-skin-grid-7) li.product .star-rating{margin:0 auto .5em}.premium-woocommerce:not(.premium-woo-skin-grid-10) .premium-woo-product-featured-wrap .premium-woo-product-featured,.premium-woocommerce:not(.premium-woo-skin-grid-10) .premium-woo-product-sale-wrap .premium-woo-product-onsale{display:block;text-align:center;color:#fff;min-width:2em;min-height:2em;line-height:2em;padding:.3em .6em;margin:.5em .6em}.premium-woocommerce .pa-out-of-stock{display:block;text-align:center;color:#fff;min-width:2em;min-height:2em;line-height:2em;padding:.3em .6em;margin:.5em .6em}.premium-woocommerce .woocommerce-loop-product__title{margin-bottom:.5em;font-size:1em;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce .premium-woo-product-category{display:block;font-size:.85em;margin-bottom:.5em;line-height:1.3}.premium-woocommerce .star-rating{display:block;float:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;position:relative;height:1em;line-height:1;font-size:.857em;width:5.4em;font-family:star}.premium-woocommerce .star-rating::before{content:"\73\73\73\73\73";color:#54595f;float:left;top:0;left:0;position:absolute}.premium-woocommerce .star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}.premium-woocommerce .star-rating span::before{content:"\53\53\53\53\53";color:inherit;top:0;position:absolute;left:0}.premium-woocommerce .premium-woo-products-inner ul.products{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;margin:0;padding:0;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none outside;-webkit-column-gap:0;-moz-column-gap:0;column-gap:0}.premium-woocommerce .premium-woo-products-inner ul.products li.product{margin:0 0 10px;padding:0 10px}.premium-woocommerce .premium-woo-products-inner ul.products li.product .premium-woo-product-wrapper{overflow:hidden;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce .woocommerce-loop-product__link{position:relative;display:block!important;overflow:hidden;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce .pa-out-of-stock,.premium-woocommerce .premium-woo-ribbon-container{position:absolute;z-index:9}.premium-woocommerce .premium-woo-ribbon-container{top:0;left:0}.premium-woocommerce .pa-out-of-stock{top:7px;left:9px;margin:0}.premium-woo-product-thumbnail{position:relative;overflow:hidden}.premium-woo-product-thumbnail .woocommerce-loop-product__link img{margin:0;width:100%}.premium-woo-product-featured-wrap,.premium-woo-product-sale-wrap{margin:0}.premium-woocommerce .premium-woo-products-details-wrap{padding:1em 1.2em}.premium-woocommerce .premium-woo-products-details-wrap .button{display:inline-block;background-color:#6ec1e4;color:#fff;margin:.5em 0;line-height:1.3;padding:10px 40px;font-size:100%;cursor:pointer;text-decoration:none;overflow:visible;font-weight:700;background-image:none;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce li.product .price{display:block;line-height:1.3;font-weight:700;margin-bottom:.5em;font-size:.9em}.premium-woocommerce li.product .price del{display:inline-block;font-weight:400;background:0 0;opacity:1}.premium-woocommerce li.product .price ins{display:inline-block;background:0 0;text-decoration:none;font-weight:inherit}.premium-woocommerce li.product .price .amount{color:inherit!important}.premium-woocommerce li.product .premium-woo-product-desc p{margin:0}.premium-woo-product-align-left .premium-woocommerce li.product .star-rating{margin-left:0;margin-right:auto}.premium-woo-product-align-center .premium-woocommerce li.product .star-rating{margin-left:auto;margin-right:auto}.premium-woo-product-align-right .premium-woocommerce li.product .star-rating{margin-left:auto;margin-right:0}.premium-woo-products-pagination ul.page-numbers{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;list-style-type:none;margin:0;margin-top:10px;padding:0;border:none;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-woo-products-pagination ul.page-numbers li{margin:0 .4em .4em 0;padding:0;text-align:center}.premium-woo-products-pagination ul.page-numbers li .page-numbers{margin:0;text-decoration:none;color:#000;border:1px solid #54595f;padding:0;line-height:1;font-size:1em;font-weight:400;padding:.75em;display:block;min-width:2.5em;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woo-products-pagination ul.page-numbers li .page-numbers.current,.premium-woo-products-pagination ul.page-numbers li .page-numbers:hover{background-color:#54595f;color:#fff;outline:0}.premium-woo-quick-view-loader .premium-loading-feed,.premium-woocommerce .premium-loading-feed{display:block;position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0;background:rgba(255,255,255,.2);-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-woocommerce .woocommerce-loop-product__link img{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woo-product__hover-zoomout .woocommerce-loop-product__link img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-woo-product__hover-zoomout li.product:hover .woocommerce-loop-product__link img{-webkit-transform:none;-ms-transform:none;transform:none}.premium-woo-product__hover-zoomin .woocommerce-loop-product__link img{-webkit-transform:none;-ms-transform:none;transform:none}.premium-woo-product__hover-zoomin li.product:hover .woocommerce-loop-product__link img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-woo-product__hover-gray .woocommerce-loop-product__link img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-woo-product__hover-gray li.product:hover .woocommerce-loop-product__link img{-webkit-filter:grayscale(0);filter:grayscale(0)}.premium-woo-product__hover-sepia .woocommerce-loop-product__link img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-woo-product__hover-sepia li.product:hover .woocommerce-loop-product__link img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-woo-product__hover-bright .woocommerce-loop-product__link img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-woo-product__hover-bright li.product:hover .woocommerce-loop-product__link img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-woo-product__hover-trans .woocommerce-loop-product__link img{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-woo-product__hover-trans li.product:hover .woocommerce-loop-product__link img{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-woo-product__hover-scale li.product:hover .woocommerce-loop-product__link img{-webkit-transform:scaleX(1.3) scaleY(1.3) rotate(5deg);-ms-transform:scaleX(1.3) scaleY(1.3) rotate(5deg);transform:scaleX(1.3) scaleY(1.3) rotate(5deg)}.premium-woocommerce .premium-woo-product__on_hover{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;opacity:0}.premium-woo-product__hover-swap li.product:hover .premium-woo-product__on_hover{opacity:1}.premium-woo-skin-grid-1 .premium-woo-qv-btn,.premium-woo-skin-grid-3 .premium-woo-qv-btn,.premium-woo-skin-grid-4 .premium-woo-qv-btn{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:5px;background:rgba(2,2,2,.5);color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;z-index:2;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.premium-woo-skin-grid-4 .premium-woo-qv-btn{-webkit-transition-delay:.1s;transition-delay:.1s}.premium-woo-skin-grid-1 .premium-woo-qv-icon,.premium-woo-skin-grid-3 .premium-woo-qv-icon,.premium-woo-skin-grid-4 .premium-woo-qv-icon,.premium-woo-skin-grid-6 .premium-woo-qv-icon{margin-left:.5em}.premium-woo-product-thumbnail:hover .premium-woo-qv-btn-translate{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-woo-product-wrapper .premium-woo-qv-data{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;cursor:pointer}.premium-woo-skin-grid-1 .premium-woo-product-actions-wrapper,.premium-woo-skin-grid-4 .premium-woo-product-actions-wrapper{position:absolute;top:.7em;right:1em;-webkit-transform:translate3d(15px,0,0);transform:translate3d(15px,0,0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:0;z-index:9}.premium-woocommerce .premium-woo-product-actions-wrapper .premium-woo-cart-btn{position:relative;display:block;margin:0 0 3px;background:#fff;text-align:center;outline:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce .premium-woo-product-actions-wrapper .premium-woo-add-cart-icon{display:block;color:#54595f;width:30px;line-height:30px;height:30px;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woo-skin-grid-1 li.product:hover .premium-woo-product-actions-wrapper,.premium-woo-skin-grid-4 li.product:hover .premium-woo-product-actions-wrapper{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0);opacity:1}.premium-woocommerce .premium-woo-cart-btn.adding .premium-woo-add-cart-icon{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.premium-woocommerce .premium-woo-cart-btn.adding .premium-woo-add-cart-icon::before{content:"\f013"}.premium-woocommerce .premium-woo-cart-btn.added .premium-woo-add-cart-icon::before{content:"\f00c"}.premium-woo-skin-grid-2 li.product .premium-woo-products-details-wrap{position:absolute;background:#fff;bottom:0;left:0;width:100%;z-index:2;padding:0;opacity:0;-webkit-transition:opacity .2s,-webkit-transform .4s;transition:opacity .2s,-webkit-transform .4s;transition:transform .4s,opacity .2s;transition:transform .4s,opacity .2s,-webkit-transform .4s;-webkit-transform:translateZ(0) translateY(5px);transform:translateZ(0) translateY(5px)}.premium-woo-skin-grid-2 .premium-woo-product-details{padding:15px 0}.premium-woo-skin-grid-2 li.product:hover .premium-woo-products-details-wrap{opacity:1;-webkit-transform:translateZ(0) translateY(0);transform:translateZ(0) translateY(0)}.premium-woo-skin-grid-2 li.product .premium-woo-product-actions-wrapper{position:static;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.premium-woo-skin-grid-2 .premium-woo-product-actions-wrapper>*{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;min-width:50%}.premium-woo-skin-grid-2 li.product .premium-woo-product-actions-wrapper .button{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;margin:0;text-align:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-woo-skin-grid-2 li.product .premium-woo-product-actions-wrapper .premium-woo-qv-btn{background-color:#54595f}.premium-woo-skin-grid-4 li.product .premium-woo-products-details-wrap{position:absolute;left:0;right:0;top:50%;-webkit-transform:scale(.9) translateZ(0) translateY(-50%);transform:scale(.9) translateZ(0) translateY(-50%);text-align:center;z-index:2;opacity:0;-webkit-transition:opacity .5s,-webkit-transform .3s;transition:opacity .5s,-webkit-transform .3s;transition:opacity .5s,transform .3s;transition:opacity .5s,transform .3s,-webkit-transform .3s}.premium-woo-skin-grid-4 li.product .premium-woo-product-overlay,.premium-woo-skin-grid-8 li.product .premium-woo-product-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;background-color:rgba(27,27,23,.3);-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.premium-woo-skin-grid-4 li.product:hover .premium-woo-product-overlay,.premium-woo-skin-grid-8 li.product:hover .premium-woo-product-overlay{opacity:1;visibility:visible;z-index:1}.premium-woo-skin-grid-4 li.product:hover .premium-woo-products-details-wrap{-webkit-transform:scale(1) translateZ(0) translateY(-50%);transform:scale(1) translateZ(0) translateY(-50%);opacity:1}.premium-woo-skin-grid-5 li.product .premium-woo-product-actions-wrapper{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-woo-skin-grid-5 li.product .premium-woo-product-actions-wrapper .premium-woo-qv-btn{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;background-color:#54595f;padding:10px;-webkit-transition:all .25s ease 0s;transition:all .25s ease 0s}.premium-woo-skin-grid-5 li.product .premium-woo-products-details-wrap{width:75%}.premium-woo-skin-grid-5 .premium-woo-product-wrapper{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-woo-product-align-right .premium-woo-skin-grid-5 .premium-woo-product-actions-wrapper{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.premium-woo-product-align-center .premium-woo-skin-grid-5 .premium-woo-product-actions-wrapper{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-woo-skin-grid-6 .premium-woo-qv-btn{position:absolute;top:50%;left:50%;min-width:40%;text-align:center;padding:5px;background:rgba(2,2,2,.5);color:#fff;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0;visibility:hidden;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;cursor:pointer;z-index:2}.premium-woo-skin-grid-6 li.product:hover .premium-woo-qv-btn{opacity:1;visibility:visible}.premium-woo-product-align-left .premium-woo-skin-grid-6 li.product .premium-woo-product-info .star-rating,.premium-woo-product-align-left .premium-woo-skin-grid-7 li.product .premium-woo-product-info .star-rating,.premium-woo-product-align-right .premium-woo-skin-grid-6 li.product .premium-woo-product-info .star-rating,.premium-woo-product-align-right .premium-woo-skin-grid-7 li.product .premium-woo-product-info .star-rating{margin:0}.premium-woo-skin-grid-6 li.product .premium-woo-product-info{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.premium-woo-product-align-center .premium-woocommerce li.product .premium-woo-product-info{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-woo-product-align-right .premium-woocommerce li.product .premium-woo-product-info{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.premium-woo-skin-grid-6 li.product .premium-woo-product-gallery-images{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;position:absolute;bottom:10px;width:100%;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-woo-product-gallery-images .premium-woo-product__gallery_image{width:20%;margin:0 .2em;border:2px solid #aaa;cursor:pointer}.premium-woo-products-metro li.product .premium-woo-product-thumbnail,.premium-woo-products-metro li.product .premium-woo-product-thumbnail img,.premium-woo-products-metro li.product .premium-woo-product-wrapper,.premium-woo-products-metro li.product .woocommerce-LoopProduct-link{height:100%}.premium-woo-products-metro ul.products li.product{margin-bottom:0}.premium-woo-products-metro li.product .premium-woo-product-thumbnail img{-o-object-fit:cover;object-fit:cover}.premium-carousel-hidden{opacity:0;visibility:hidden}.premium-woocommerce:not(.premium-woo-skin-grid-7) .slick-arrow{-webkit-border-radius:50%;border-radius:50%}.premium-woocommerce ul.slick-dots{width:100%}html.premium-woo-qv-opened,html.premium-woo-qv-opened body{overflow:hidden}.premium-woo-quick-view-back{position:fixed;visibility:hidden;overflow:hidden;background:rgba(2,2,2,.5);opacity:0;-webkit-transition:opacity .25s;transition:opacity .25s;z-index:999}.premium-woo-quick-view-active{top:0;left:0;width:100%;height:100%;opacity:1;visibility:visible}#premium-woo-quick-view-modal{position:fixed;visibility:hidden;opacity:0;top:0;left:0;width:100%;height:100%;z-index:1400;text-align:center;-webkit-transition:all .3s;transition:all .3s;overflow-x:hidden;overflow-y:auto}#premium-woo-quick-view-modal.active{visibility:visible;opacity:1}#premium-woo-quick-view-modal.active .premium-woo-content-main{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);opacity:1;width:100%}#premium-woo-quick-view-modal .premium-woo-content-main-wrapper{position:absolute;width:100%;height:100%;top:0;left:0;text-align:center;padding:30px;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}#premium-woo-quick-view-modal .premium-woo-content-main{position:relative;pointer-events:none;max-width:100%;text-align:left;z-index:1045;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);opacity:0;-webkit-transition:opacity .3s,-webkit-transform .5s;transition:opacity .3s,-webkit-transform .5s;transition:transform .5s,opacity .3s;transition:transform .5s,opacity .3s,-webkit-transform .5s;margin:0 auto}#premium-woo-quick-view-modal .premium-woo-lightbox-content{position:relative;display:table;pointer-events:auto;background-color:#fff;max-width:975px;margin:20px auto;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-box-shadow:3px 3px 20px 0 rgba(0,0,0,.15);box-shadow:3px 3px 20px 0 rgba(0,0,0,.15);overflow:hidden}#premium-woo-quick-view-modal .summary{width:50%;margin:0;padding:30px;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#premium-woo-quick-view-modal .summary .quantity{min-width:auto}#premium-woo-quick-view-modal .summary .quantity input.qty{width:54px;-webkit-appearance:button;-moz-appearance:button;appearance:button}#premium-woo-quick-view-modal .summary .quantity input[type=number]::-webkit-inner-spin-button,#premium-woo-quick-view-modal .summary .quantity input[type=number]::-webkit-outer-spin-button{display:unset}#premium-woo-quick-view-modal .woocommerce-product-details__short-description p{margin:0}#premium-woo-quick-view-close{position:absolute;font-size:22px;top:10px;right:10px;width:22px;height:22px;line-height:22px;opacity:.7;text-align:center;z-index:2;color:#000}#premium-woo-quick-view-modal .premium-woo-qv-image-slider{position:relative}#premium-woo-quick-view-modal .premium-woo-qv-image-slider li{list-style:none}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav{margin:0;padding:0;width:100%;position:absolute;bottom:10px;text-align:center}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav li{margin:0 6px;display:inline-block;vertical-align:middle}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav li a{width:11px;height:11px;display:block;background:#666;background:rgba(0,0,0,.5);cursor:pointer;text-indent:-9999px;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,.3);box-shadow:inset 0 0 3px rgba(0,0,0,.3);-webkit-border-radius:20px;border-radius:20px}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav li a.flex-active{background:rgba(0,0,0,.9);cursor:default}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav li a:focus{outline:0}#premium-woo-quick-view-modal .premium-woo-qv-image-slider img{-o-object-fit:cover;object-fit:cover;width:100%}#premium-woo-quick-view-content div.images{width:50%;float:left;opacity:1!important;margin:0}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav{margin:0;padding:0;list-style:none}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav a{text-decoration:none;display:block;width:14px;height:32px;font-size:32px;line-height:32px;margin:-20px 0 0;position:absolute;top:50%;z-index:10;overflow:hidden;cursor:pointer;color:rgba(0,0,0,.8);text-shadow:1px 1px 0 rgba(255,255,255,.3);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-next,#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-prev{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-prev{left:10px}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-next{right:10px}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-prev::before{content:"\f104"}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-next::before{content:"\f105"}.premium-woocommerce li.product .added_to_cart.wc-forward{display:none}.premium-woo-atc-button .add_to_cart_button .premium-woo-cart-loader{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;margin-left:5px;vertical-align:baseline}.premium-woo-load-more{position:relative}.premium-woo-load-more .premium-woo-load-more-btn{-webkit-box-shadow:none;box-shadow:none;text-shadow:none;border:none;outline:0;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:bottom;cursor:pointer;line-height:1;font-style:normal;font-weight:400;background-image:none;color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;padding:10px 20px}.premium-woo-load-more-btn{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-woo-load-more-btn span{margin-right:3px}.premium-woo-load-more-btn .premium-loader{display:inline-block;width:20px;height:20px}.premium-woo-title-above-yes .premium-woo-product__link{opacity:0}@media (min-width:545px){#premium-woo-quick-view-content div.summary{content:"544";overflow-y:auto}}@media (max-width:544px){#premium-woo-quick-view-content .premium-woo-lightbox-content{display:block}#premium-woo-quick-view-content div.images,#premium-woo-quick-view-content div.summary{width:100%;float:none}}.premium-title-bg-text:before{position:absolute;content:attr(data-background);top:0;left:0;text-align:left}.premium-bg-text-yes .elementor-widget-container:before{position:absolute;top:0;left:0;text-align:left}.premium-mask-yes .premium-dual-header-first-clip .premium-dual-header-first-span .premium-mask-span,.premium-mask-yes .premium-dual-header-second-clip .premium-mask-span{background:inherit}.premium-mask-yes .premium-mask-span{position:relative;overflow:hidden;-js-display:inline-flex!important;display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-moz-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.premium-mask-yes .premium-mask-span::after{content:"";position:absolute;top:0;right:0;width:100%;height:100%;background-color:currentColor;-webkit-backface-visibility:visible;backface-visibility:visible}.premium-mask-active.premium-mask-tr .premium-mask-span::after{-webkit-animation:pa-mask-tr 1.7s cubic-bezier(1,0,.18,1) forwards;animation:pa-mask-tr 1.7s cubic-bezier(1,0,.18,1) forwards;-webkit-transform:translateX(-103%);-ms-transform:translateX(-103%);transform:translateX(-103%)}.premium-mask-active.premium-mask-tl .premium-mask-span::after{-webkit-animation:pa-mask-tl 1.7s cubic-bezier(1,0,.18,1) forwards;animation:pa-mask-tl 1.7s cubic-bezier(1,0,.18,1) forwards;-webkit-transform:translateX(103%);-ms-transform:translateX(103%);transform:translateX(103%)}.premium-mask-active.premium-mask-tb .premium-mask-span::after{-webkit-animation:pa-mask-tb 1.7s cubic-bezier(1,0,.18,1) forwards;animation:pa-mask-tb 1.7s cubic-bezier(1,0,.18,1) forwards;-webkit-transform:translateY(-103%);-ms-transform:translateY(-103%);transform:translateY(-103%)}.premium-mask-active.premium-mask-tt .premium-mask-span::after{-webkit-animation:pa-mask-tt 1.7s cubic-bezier(1,0,.18,1) forwards;animation:pa-mask-tt 1.7s cubic-bezier(1,0,.18,1) forwards;-webkit-transform:translateY(103%);-ms-transform:translateY(103%);transform:translateY(103%)}@-webkit-keyframes pa-mask-tr{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(103%);transform:translateX(103%)}}@keyframes pa-mask-tr{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(103%);transform:translateX(103%)}}@-webkit-keyframes pa-mask-tl{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-103%);transform:translateX(-103%)}}@keyframes pa-mask-tl{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-103%);transform:translateX(-103%)}}@-webkit-keyframes pa-mask-tb{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(103%);transform:translateY(103%)}}@keyframes pa-mask-tb{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(103%);transform:translateY(103%)}}@-webkit-keyframes pa-mask-tt{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(-103%);transform:translateY(-103%)}}@keyframes pa-mask-tt{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(-103%);transform:translateY(-103%)}}.premium-button .premium-lottie-animation,.premium-image-button .premium-lottie-animation{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-button svg,.premium-image-button svg{width:30px;height:30px}div[class*=elementor-widget-premium] .premium-btn-block,div[class*=elementor-widget-premium] .premium-btn-lg,div[class*=elementor-widget-premium] .premium-btn-md,div[class*=elementor-widget-premium] .premium-btn-sm{background-color:#eee;color:#042551;margin:0;text-decoration:none}div[class*=elementor-widget-premium] .premium-btn-block:hover,div[class*=elementor-widget-premium] .premium-btn-lg:hover,div[class*=elementor-widget-premium] .premium-btn-md:hover,div[class*=elementor-widget-premium] .premium-btn-sm:hover{background-color:#54595f;color:#eee}div[class*=elementor-widget-premium] .premium-btn-sm{padding:12px 24px;font-size:14px;line-height:1}div[class*=elementor-widget-premium] .premium-btn-md{padding:14px 26px;font-size:16px;line-height:1.2}div[class*=elementor-widget-premium] .premium-btn-lg{padding:16px 28px;font-size:18px;line-height:1.3333}div[class*=elementor-widget-premium] .premium-btn-block{font-size:18px;line-height:1;padding:20px 0;width:100%;text-align:center}.premium-button-text{display:inline-block;width:100%}.premium-mouse-detect-yes .premium-button-style6 .premium-button-style6-bg{position:absolute;z-index:0;top:0;left:0;width:0;height:0;-webkit-border-radius:50%;border-radius:50%;display:block;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:width .4s ease-in-out,height .4s ease-in-out;transition:width .4s ease-in-out,height .4s ease-in-out}.premium-mouse-detect-yes .premium-button-style6:hover .premium-button-style6-bg{width:225%;height:560px}.premium-mouse-detect-yes .premium-button-style6:before{width:0;height:0}.premium-loader{border:3px solid #f3f3f3;border-top-width:3px;border-top-style:solid;border-top-color:#f3f3f3;-webkit-border-radius:50%;border-radius:50%;border-top:3px solid;border-top-color:#bbb;width:30px;height:30px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;margin:0 auto}.premium-svg-drawer *,.premium-svg-nodraw *{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transition-property:stroke,fill,background-color;transition-property:stroke,fill,background-color}.premium-svg-drawer .no-transition,.premium-svg-nodraw .no-transition{-webkit-transition:none!important;transition:none!important}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.premium-error-notice{width:100%;padding:10px;color:#b94a48;background-color:#f2dede;border-color:#eed3d7;text-align:center}
1
+ @charset "UTF-8";@font-face{font-family:pa-elements;src:url(../../editor/fonts/pa-elements.eot?vcwy2s);src:url(../../editor/fonts/pa-elements.eot?vcwy2s#iefix) format("embedded-opentype"),url(../../editor/fonts/pa-elements.ttf?vcwy2s) format("truetype"),url(../../editor/fonts/pa-elements.woff?vcwy2s) format("woff"),url(../../editor/fonts/pa-elements.svg?vcwy2s#pa-elements) format("svg");font-weight:400;font-style:normal}.elementor-widget-premium-addon-banner{overflow:hidden}.premium-banner-ib{display:block;position:relative;z-index:1;overflow:hidden;margin:0;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.premium-banner-ib img{display:block;position:relative}.premium-banner-img-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:100%}.premium-banner-img-wrap .premium-banner-ib-img{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.premium-banner-ib-desc .premium-banner-read-more{z-index:100}.elementor-widget-premium-addon-banner .premium-banner-ib-title{background:0 0}.premium-banner-ib *,.premium-banner-ib .premium-banner-ib-desc{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.premium-banner-ib img{min-width:100%;max-width:100%;-webkit-transition:opacity .35s;transition:opacity .35s}.premium-banner-ib .premium-banner-ib-desc{padding:15px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;top:0;left:0;width:100%;height:100%}.premium-banner-ib .premium-banner-ib-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;text-indent:200%;white-space:nowrap;font-size:0;opacity:0}.premium-banner-ib a.premium-banner-ib-link{display:block;background:0 0}.premium-banner-animation1 img{width:-webkit-calc(100% + 50px)!important;width:calc(100% + 50px)!important;max-width:-webkit-calc(100% + 50px)!important;max-width:calc(100% + 50px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s;-webkit-transform:translate3d(-40px,0,0);transform:translate3d(-40px,0,0)}.premium-banner-animation2 .premium-banner-ib-title{padding:15px}.premium-banner-animation1 .premium-banner-ib-desc{top:auto;bottom:0;min-height:25%;height:auto;max-height:100%;text-align:left}.premium-banner-animation1 .premium-banner-ib-content,.premium-banner-animation1 .premium-banner-ib-title,.premium-banner-animation1 .premium-banner-read-more{-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0);-webkit-transition-delay:50ms;transition-delay:50ms;-webkit-transition-duration:.35s;transition-duration:.35s}.premium-banner-animation1 .premium-banner-ib-title{-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s}.premium-banner-animation1 .premium-banner-ib-content,.premium-banner-animation1 .premium-banner-read-more{margin-top:10px;opacity:0;-webkit-transition:opacity .2s,-webkit-transform .35s;transition:opacity .2s,-webkit-transform .35s;transition:opacity .2s,transform .35s;transition:opacity .2s,transform .35s,-webkit-transform .35s}.premium-banner-animation1.active .premium-banner-ib-content,.premium-banner-animation1.active .premium-banner-read-more,.premium-banner-animation1:hover .premium-banner-ib-content,.premium-banner-animation1:hover .premium-banner-read-more{opacity:1;-webkit-transition-delay:50ms;transition-delay:50ms;-webkit-transition-duration:.35s;transition-duration:.35s}.premium-banner-animation1.active .premium-banner-ib-content,.premium-banner-animation1.active .premium-banner-ib-title,.premium-banner-animation1.active .premium-banner-read-more,.premium-banner-animation1.active img,.premium-banner-animation1:hover .premium-banner-ib-content,.premium-banner-animation1:hover .premium-banner-ib-title,.premium-banner-animation1:hover .premium-banner-read-more,.premium-banner-animation1:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-delay:50ms;transition-delay:50ms;-webkit-transition-duration:.35s;transition-duration:.35s}.premium-banner-animation1.scale img,.premium-banner-animation1.zoomout img{-webkit-transform:translate3d(-40px,0,0) scale(1.1);transform:translate3d(-40px,0,0) scale(1.1)}.premium-banner-ib.sepia img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-banner-ib.bright img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-banner-ib.sepia:hover img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-banner-ib.bright:hover img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-banner-animation1.premium-banner-min-height img,.premium-banner-animation13.premium-banner-min-height img,.premium-banner-animation2.premium-banner-min-height img,.premium-banner-animation4.premium-banner-min-height img,.premium-banner-animation5.premium-banner-min-height img,.premium-banner-animation6.premium-banner-min-height img{height:auto}.premium-banner-animation2 img{width:100%}.premium-banner-animation2 .premium-banner-ib-desc::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;opacity:0;-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.premium-banner-animation2 .premium-banner-ib-title{position:absolute;top:50%;left:0;width:100%;-webkit-transition:color .35s,-webkit-transform .35s;transition:color .35s,-webkit-transform .35s;transition:transform .35s,color .35s;transition:transform .35s,color .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.premium-banner-animation2 .premium-banner-ib-content,.premium-banner-animation2 .premium-banner-ib-desc::before,.premium-banner-animation2 .premium-banner-read-more{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation2 .premium-banner-ib-content,.premium-banner-animation2 .premium-banner-read-more{position:absolute;bottom:0;left:0;padding:15px;width:100%;max-height:50%;opacity:0;-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}.premium-banner-animation2.active .premium-banner-ib-title,.premium-banner-animation2:hover .premium-banner-ib-title{-webkit-transform:translate3d(0,-40px,0);transform:translate3d(0,-40px,0)}.premium-banner-animation2.active .premium-banner-ib-desc::before,.premium-banner-animation2.active .premium-banner-read-more,.premium-banner-animation2:hover .premium-banner-ib-desc::before,.premium-banner-animation2:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation2.active .premium-banner-ib-content,.premium-banner-animation2:hover .premium-banner-ib-content{opacity:1;-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}.premium-banner-animation3 .premium-banner-ib-title{position:absolute;bottom:0;left:0;padding:15px;width:100%;text-align:left;-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}.premium-banner-animation3 .premium-banner-ib-desc::before,.premium-banner-animation3 .premium-banner-ib-title{-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s}.premium-banner-animation3.active .premium-banner-ib-desc::before,.premium-banner-animation3.active .premium-banner-ib-title,.premium-banner-animation3:hover .premium-banner-ib-desc::before,.premium-banner-animation3:hover .premium-banner-ib-title{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation3 .premium-banner-ib-content{max-height:-webkit-calc(100% - 60px - 1.5em);max-height:calc(100% - 60px - 1.5em);overflow:hidden}.premium-banner-animation4 img{width:-webkit-calc(100% + 40px)!important;width:calc(100% + 40px)!important;max-width:-webkit-calc(100% + 40px)!important;max-width:calc(100% + 40px)!important}.premium-banner-animation4 .premium-banner-ib-desc{padding:30px}.premium-banner-animation4 .premium-banner-ib-desc::after{position:absolute;content:"";opacity:0}.premium-banner-animation4 .premium-banner-ib-desc::before{position:absolute;content:"";opacity:0;top:50px;right:30px;bottom:50px;left:30px;border-top:1px solid #fff;border-bottom:1px solid #fff;-webkit-transform:scale(0,1);-ms-transform:scale(0,1);transform:scale(0,1);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.premium-banner-animation4 .premium-banner-ib-desc::after{top:30px;right:50px;bottom:30px;left:50px;border-right:1px solid #fff;border-left:1px solid #fff;-webkit-transform:scale(1,0);-ms-transform:scale(1,0);transform:scale(1,0);-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.premium-banner-animation4 .premium-banner-ib-title{padding:50px 30px 0 30px;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s}.premium-banner-animation4 .premium-banner-ib-content,.premium-banner-animation4 .premium-banner-read-more{padding:10px 30px;opacity:0;overflow:hidden;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}.premium-banner-animation4 .premium-banner-ib-title,.premium-banner-animation4 img{-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}.premium-banner-animation4.scale img,.premium-banner-animation4.zoomout img{-webkit-transform:translate3d(-30px,0,0) scale(1.1);transform:translate3d(-30px,0,0) scale(1.1)}.premium-banner-animation4 .premium-banner-ib-content,.premium-banner-animation4 .premium-banner-read-more{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation4 .premium-banner-ib-desc::after,.premium-banner-animation4 .premium-banner-ib-desc::before{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation4 img{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation4.active .premium-banner-ib-desc::after,.premium-banner-animation4.active .premium-banner-ib-desc::before,.premium-banner-animation4:hover .premium-banner-ib-desc::after,.premium-banner-animation4:hover .premium-banner-ib-desc::before{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-banner-animation4.active .premium-banner-ib-content,.premium-banner-animation4.active .premium-banner-ib-title,.premium-banner-animation4.active .premium-banner-read-more,.premium-banner-animation4:hover .premium-banner-ib-content,.premium-banner-animation4:hover .premium-banner-ib-title,.premium-banner-animation4:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation4:hover .premium-banner-ib-content,.premium-banner-animation4:hover .premium-banner-ib-desc::after,.premium-banner-animation4:hover .premium-banner-ib-title,.premium-banner-animation4:hover img{-webkit-transition-delay:.15s;transition-delay:.15s}.premium-banner-animation5 .premium-banner-ib-desc{top:auto;bottom:0;padding:15px;height:auto;background:#f2f2f2;color:#3c4a50;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.premium-banner-animation5 .premium-banner-ib-content{position:absolute;top:auto;bottom:100%;left:0;width:100%;padding:15px;opacity:0;-webkit-transition:opacity .35s;transition:opacity .35s}.premium-banner-animation5 .premium-banner-ib-title,.premium-banner-animation5 .premium-banner-read-more{-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,200%,0);transform:translate3d(0,200%,0);text-align:center}.premium-banner-animation5 .premium-banner-ib-title{margin:10px 0}.premium-banner-animation5.active .premium-banner-ib-content,.premium-banner-animation5.active .premium-banner-ib-content *,.premium-banner-animation5:hover .premium-banner-ib-content,.premium-banner-animation5:hover .premium-banner-ib-content *{opacity:1!important;z-index:99!important;-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important}.premium-banner-animation5.active .premium-banner-ib-desc,.premium-banner-animation5.active .premium-banner-ib-title,.premium-banner-animation5.active .premium-banner-read-more,.premium-banner-animation5:hover .premium-banner-ib-desc,.premium-banner-animation5:hover .premium-banner-ib-title,.premium-banner-animation5:hover .premium-banner-read-more{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-banner-animation5:hover .premium-banner-ib-title{-webkit-transition-delay:50ms;transition-delay:50ms}.premium-banner-animation5 img{-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation2 img,.premium-banner-animation4 img,.premium-banner-animation6 img{-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation5.scale img,.premium-banner-animation5.zoomout img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-banner-animation2.scale img,.premium-banner-animation2.zoomout img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-banner-animation6.scale img,.premium-banner-animation6.zoomout img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-banner-animation2.zoomin:hover img,.premium-banner-animation5.zoomin:hover img,.premium-banner-animation6.zoomin:hover img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-banner-animation2.zoomout:hover img,.premium-banner-animation5.zoomout:hover img,.premium-banner-animation6.zoomout:hover img{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-banner-animation2.scale:hover img,.premium-banner-animation5.scale:hover img,.premium-banner-animation6.scale:hover img{-webkit-transform:scale(1.2) rotate(5deg);-ms-transform:scale(1.2) rotate(5deg);transform:scale(1.2) rotate(5deg)}.premium-banner-animation2.grayscale:hover img,.premium-banner-animation5.grayscale:hover img,.premium-banner-animation6.grayscale:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-banner-animation2.blur:hover img,.premium-banner-animation5.blur:hover img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-banner-animation6.blur:hover img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-banner-animation6 .premium-banner-ib-desc{padding:45px}.premium-banner-animation6 .premium-banner-ib-desc::before{position:absolute;content:"";top:30px;right:30px;bottom:30px;left:30px;border:1px solid #fff}.premium-banner-animation6 .premium-banner-ib-title{margin:20px 0 10px;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.premium-banner-animation6 .premium-banner-ib-content,.premium-banner-animation6 .premium-banner-ib-desc::before,.premium-banner-animation6 .premium-banner-read-more{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-banner-animation6 .premium-banner-read-more{margin-top:10px}.premium-banner-animation6.active .premium-banner-ib-title,.premium-banner-animation6:hover .premium-banner-ib-title{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation6.active .premium-banner-ib-content,.premium-banner-animation6.active .premium-banner-ib-desc::before,.premium-banner-animation6.active .premium-banner-read-more,.premium-banner-animation6:hover .premium-banner-ib-content,.premium-banner-animation6:hover .premium-banner-ib-desc::before,.premium-banner-animation6:hover .premium-banner-read-more{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-banner-animation12 .premium-banner-ib-desc::after{position:absolute;content:"";right:30px;bottom:30px;left:30px;height:-webkit-calc(50% - 30px);height:calc(50% - 30px);border:7px solid #fff;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.premium-banner-animation12.active .premium-banner-ib-desc::after,.premium-banner-animation12:hover .premium-banner-ib-desc::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation12 .premium-banner-ib-desc{padding:45px;text-align:left}.premium-banner-animation12 .premium-banner-ib-content{position:absolute;right:60px;bottom:60px;left:60px;opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}.premium-banner-animation12.active .premium-banner-ib-content,.premium-banner-animation12:hover .premium-banner-ib-content{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation13 img{width:-webkit-calc(100% + 20px)!important;width:calc(100% + 20px)!important;max-width:-webkit-calc(100% + 20px)!important;max-width:calc(100% + 20px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.premium-banner-animation13.scale img,.premium-banner-animation13.zoomout img{-webkit-transform:translate3d(-10px,0,0) scale(1.1);transform:translate3d(-10px,0,0) scale(1.1)}.premium-banner-animation13.none:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation1.none:hover img,.premium-banner-animation4.none:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation1.zoomin:hover img,.premium-banner-animation10.zoomin:hover img,.premium-banner-animation11.zoomin:hover img,.premium-banner-animation13.zoomin:hover img,.premium-banner-animation4.zoomin:hover img,.premium-banner-animation7.zoomin:hover img,.premium-banner-animation8.zoomin:hover img,.premium-banner-animation9.zoomin:hover img{-webkit-transform:translate3d(0,0,0) scale(1.1);transform:translate3d(0,0,0) scale(1.1)}.premium-banner-animation1.zoomout:hover img,.premium-banner-animation10.zoomout:hover img,.premium-banner-animation11.zoomout:hover img,.premium-banner-animation13.zoomout:hover img,.premium-banner-animation4.zoomout:hover img,.premium-banner-animation7.zoomout:hover img,.premium-banner-animation8.zoomout:hover img,.premium-banner-animation9.zoomout:hover img{-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.premium-banner-animation1.scale:hover img,.premium-banner-animation10.scale:hover img,.premium-banner-animation11.scale:hover img,.premium-banner-animation13.scale:hover img,.premium-banner-animation4.scale:hover img,.premium-banner-animation7.scale:hover img,.premium-banner-animation8.scale:hover img,.premium-banner-animation9.scale:hover img{-webkit-transform:translate3d(0,0,0) scale(1.2) rotate(5deg);transform:translate3d(0,0,0) scale(1.2) rotate(5deg)}.premium-banner-animation1.grayscale:hover img,.premium-banner-animation10.grayscale:hover img,.premium-banner-animation11.grayscale:hover img,.premium-banner-animation13.grayscale:hover img,.premium-banner-animation4.grayscale:hover img,.premium-banner-animation7.grayscale:hover img,.premium-banner-animation8.grayscale:hover img,.premium-banner-animation9.grayscale:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-banner-animation1.blur:hover img,.premium-banner-animation10.blur:hover img,.premium-banner-animation11.blur:hover img,.premium-banner-animation13.blur:hover img,.premium-banner-animation4.blur:hover,.premium-banner-animation7.blur:hover img,.premium-banner-animation8.blur:hover img,.premium-banner-animation9.blur:hover img{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-filter:blur(3px);filter:blur(3px)}.premium-banner-animation13 .premium-banner-ib-desc{text-align:left}.premium-banner-animation13 .premium-banner-ib-title{position:relative;overflow:hidden;padding:5px 0 10px}.premium-banner-animation13 .premium-banner-ib-title::after{position:absolute;content:"";bottom:0;left:0;width:100%;height:2px;background:#fff;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(-101%,0,0);transform:translate3d(-101%,0,0)}.premium-banner-animation13.active .premium-banner-ib-title::after,.premium-banner-animation13:hover .premium-banner-ib-title::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation13 .premium-banner-ib-content,.premium-banner-animation13 .premium-banner-read-more{padding:15px 0;opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.premium-banner-animation13.active .premium-banner-ib-content,.premium-banner-animation13.active .premium-banner-read-more,.premium-banner-animation13:hover .premium-banner-ib-content,.premium-banner-animation13:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-ib.premium-banner-animation5 .premium-banner-toggle-size{left:50%;width:auto!important;height:100%;max-width:none;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-banner-ib img{border:none;padding:0;margin:0}.premium-banner-animation7 img{width:-webkit-calc(100% + 40px)!important;width:calc(100% + 40px)!important;max-width:-webkit-calc(100% + 40px)!important;max-width:calc(100% + 40px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation7 .premium-banner-brlr{width:7px}.premium-banner-animation7 .premium-banner-brtb{height:7px}.premium-banner-animation7 .premium-banner-br{position:absolute;z-index:1;background-color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transition-delay:.2s;transition-delay:.2s}.premium-banner-animation7 .premium-banner-bleft{left:30px;top:-webkit-calc(100% - 150px);top:calc(100% - 150px);height:0}.premium-banner-animation7 .premium-banner-bright{right:30px;bottom:-webkit-calc(100% - 150px);bottom:calc(100% - 150px);height:0}.premium-banner-animation7 .premium-banner-bottom{right:-webkit-calc(100% - 150px);right:calc(100% - 150px);bottom:30px;width:0}.premium-banner-animation7 .premium-banner-btop{left:-webkit-calc(100% - 150px);left:calc(100% - 150px);top:30px;width:0}.premium-banner-animation7 .premium-banner-ib-desc{padding:70px;display:table}.premium-banner-animation7 .premium-banner-ib-desc .premium-banner-desc-centered{display:table-cell;vertical-align:middle}.premium-banner-animation7 .premium-banner-ib-title{margin-top:0}.premium-banner-animation7 .premium-banner-ib-title,.premium-banner-animation7 img{-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}.premium-banner-animation7.scale img,.premium-banner-animation7.zoomout img{-webkit-transform:translate3d(-30px,0,0) scale(1.1);transform:translate3d(-30px,0,0) scale(1.1)}.premium-banner-animation7 .premium-banner-ib-content,.premium-banner-animation7 .premium-banner-read-more{margin-top:10px}.premium-banner-animation7 .premium-banner-ib-desc::after,.premium-banner-animation7 .premium-banner-ib-desc::before{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation7 .premium-banner-ib-content,.premium-banner-animation7 .premium-banner-ib-title,.premium-banner-animation7 .premium-banner-read-more{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation7.active .premium-banner-ib-content,.premium-banner-animation7.active .premium-banner-ib-title,.premium-banner-animation7.active .premium-banner-read-more,.premium-banner-animation7:hover .premium-banner-ib-content,.premium-banner-animation7:hover .premium-banner-ib-title,.premium-banner-animation7:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation7.active .premium-banner-bleft,.premium-banner-animation7:hover .premium-banner-bleft{top:30px;height:70px}.premium-banner-animation7.active .premium-banner-bright,.premium-banner-animation7:hover .premium-banner-bright{bottom:30px;height:70px}.premium-banner-animation7.active .premium-banner-bottom,.premium-banner-animation7:hover .premium-banner-bottom{right:30px;width:70px}.premium-banner-animation7.active .premium-banner-btop,.premium-banner-animation7:hover .premium-banner-btop{left:30px;width:70px}.premium-banner-animation7:hover .premium-banner-ib-content,.premium-banner-animation7:hover .premium-banner-ib-title,.premium-banner-animation7:hover .premium-banner-read-more,.premium-banner-animation7:hover img{-webkit-transition-delay:.15s;transition-delay:.15s}.premium-banner-animation8 img{width:-webkit-calc(100% + 40px)!important;width:calc(100% + 40px)!important;max-width:-webkit-calc(100% + 40px)!important;max-width:calc(100% + 40px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation8 .premium-banner-brlr{width:7px}.premium-banner-animation8 .premium-banner-brtb{height:7px}.premium-banner-animation8 .premium-banner-br{position:absolute;z-index:1;background-color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transition-delay:.2s;transition-delay:.2s}.premium-banner-animation8 .premium-banner-bleft{left:30px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:0}.premium-banner-animation8 .premium-banner-bright{right:30px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:0}.premium-banner-animation8 .premium-banner-bottom{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);bottom:30px;width:0}.premium-banner-animation8 .premium-banner-btop{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);top:30px;width:0}.premium-banner-animation8 .premium-banner-ib-desc{padding:70px;display:table}.premium-banner-animation8 .premium-banner-ib-desc .premium-banner-desc-centered{display:table-cell;vertical-align:middle}.premium-banner-animation8 .premium-banner-ib-title{margin-top:0}.premium-banner-animation8 .premium-banner-ib-title,.premium-banner-animation8 img{-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}.premium-banner-animation8.scale img,.premium-banner-animation8.zoomout img{-webkit-transform:translate3d(-30px,0,0) scale(1.1);transform:translate3d(-30px,0,0) scale(1.1)}.premium-banner-animation8 .premium-banner-ib-content,.premium-banner-animation8 .premium-banner-read-more{margin-top:10px}.premium-banner-animation8 .premium-banner-ib-desc::after,.premium-banner-animation8 .premium-banner-ib-desc::before{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation8 .premium-banner-ib-content,.premium-banner-animation8 .premium-banner-ib-title,.premium-banner-animation8 .premium-banner-read-more{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;opacity:0}.premium-banner-animation8.active .premium-banner-ib-content,.premium-banner-animation8.active .premium-banner-ib-title,.premium-banner-animation8.active .premium-banner-read-more,.premium-banner-animation8:hover .premium-banner-ib-content,.premium-banner-animation8:hover .premium-banner-ib-title,.premium-banner-animation8:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation8.active .premium-banner-bleft,.premium-banner-animation8:hover .premium-banner-bleft{height:-webkit-calc(100% - 61px);height:calc(100% - 61px)}.premium-banner-animation8.active .premium-banner-bright,.premium-banner-animation8:hover .premium-banner-bright{height:-webkit-calc(100% - 61px);height:calc(100% - 61px)}.premium-banner-animation8.active .premium-banner-bottom,.premium-banner-animation8:hover .premium-banner-bottom{width:-webkit-calc(100% - 61px);width:calc(100% - 61px)}.premium-banner-animation8.active .premium-banner-btop,.premium-banner-animation8:hover .premium-banner-btop{width:-webkit-calc(100% - 61px);width:calc(100% - 61px)}.premium-banner-animation8:hover .premium-banner-ib-content,.premium-banner-animation8:hover .premium-banner-ib-title,.premium-banner-animation8:hover .premium-banner-read-more,.premium-banner-animation8:hover img{-webkit-transition-delay:.15s;transition-delay:.15s}.premium-banner-animation9 img{width:-webkit-calc(100% + 20px)!important;width:calc(100% + 20px)!important;max-width:-webkit-calc(100% + 20px)!important;max-width:calc(100% + 20px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s;-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-banner-animation9 .premium-banner-ib-desc{width:100%;height:100%}.premium-banner-animation9 .premium-banner-ib-desc::before{position:absolute;top:50%;left:50%;width:80%;height:1px;background:#fff;content:"";-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.premium-banner-animation9 .premium-banner-ib-desc::after{position:absolute;top:50%;left:50%;width:80%;height:1px;background:#fff;content:"";-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.premium-banner-animation9 .premium-banner-ib-title{position:absolute;top:50%;left:0;width:100%;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,-70px,0);transform:translate3d(0,-70px,0);margin-top:0;padding:0 10%}.premium-banner-animation9.active .premium-banner-ib-title,.premium-banner-animation9:hover .premium-banner-ib-title{-webkit-transform:translate3d(0,-80px,0);transform:translate3d(0,-80px,0)}.premium-banner-animation9 .premium-banner-ib-content,.premium-banner-animation9 .premium-banner-read-more{position:absolute;top:50%;left:0;width:100%;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;padding:0 10%;-webkit-transform:translate3d(0,35px,0);transform:translate3d(0,35px,0)}.premium-banner-animation9 .premium-banner-read-more{top:75%}.premium-banner-animation9.active .premium-banner-ib-content,.premium-banner-animation9.active .premium-banner-read-more,.premium-banner-animation9:hover .premium-banner-ib-content,.premium-banner-animation9:hover .premium-banner-read-more{-webkit-transform:translate3d(0,45px,0);transform:translate3d(0,45px,0)}.premium-banner-animation9.active .premium-banner-ib-desc::before,.premium-banner-animation9:hover .premium-banner-ib-desc::before{opacity:.5;-webkit-transform:translate3d(-50%,-50%,0) rotate(45deg);transform:translate3d(-50%,-50%,0) rotate(45deg)}.premium-banner-animation9.active .premium-banner-ib-desc::after,.premium-banner-animation9:hover .premium-banner-ib-desc::after{opacity:.5;-webkit-transform:translate3d(-50%,-50%,0) rotate(-45deg);transform:translate3d(-50%,-50%,0) rotate(-45deg)}.premium-banner-animation9:hover img{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-banner-animation10 img{width:-webkit-calc(100% + 20px)!important;width:calc(100% + 20px)!important;max-width:-webkit-calc(100% + 20px)!important;max-width:calc(100% + 20px)!important;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation10 .premium-banner-ib-title{position:relative;overflow:hidden;padding:5px 0 15px;-webkit-transition:-webkit-transform .35s;transition:-webkit-transform .35s;transition:transform .35s;transition:transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0);margin-bottom:0}.premium-banner-animation10 .premium-banner-ib-title::after{position:absolute;content:"";bottom:0;left:0;width:100%;height:3px;background:#fff;opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s}.premium-banner-animation10.active .premium-banner-ib-title,.premium-banner-animation10:hover .premium-banner-ib-title{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation10.active .premium-banner-ib-title::after,.premium-banner-animation10:hover .premium-banner-ib-title::after{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation10.scale img,.premium-banner-animation10.zoomout img{-webkit-transform:translate3d(-10px,0,0) scale(1.1);transform:translate3d(-10px,0,0) scale(1.1)}.premium-banner-animation10 .premium-banner-ib-content,.premium-banner-animation10 .premium-banner-read-more{padding-top:15px;opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;transition:opacity .35s,transform .35s,-webkit-transform .35s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.premium-banner-animation10 .premium-banner-read-more{padding:0}.premium-banner-animation10.active .premium-banner-ib-content,.premium-banner-animation10.active .premium-banner-read-more,.premium-banner-animation10:hover .premium-banner-ib-content,.premium-banner-animation10:hover .premium-banner-read-more{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation11{-webkit-transition:-webkit-transform 1s ease-out;transition:-webkit-transform 1s ease-out;transition:transform 1s ease-out;transition:transform 1s ease-out,-webkit-transform 1s ease-out;-webkit-transition-delay:125ms;transition-delay:125ms}.premium-banner-animation11 .premium-banner-ib-desc{position:absolute;z-index:5;-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0);opacity:0;top:auto;bottom:0;min-height:25%;height:auto;max-height:100%;text-align:left;padding:30px;-webkit-transition:all .6s ease-out;transition:all .6s ease-out}.premium-banner-animation11 img{width:100%;-webkit-transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,-webkit-filter .35s,-webkit-transform .35s;transition:opacity .35s,filter .35s,transform .35s;transition:opacity .35s,filter .35s,transform .35s,-webkit-filter .35s,-webkit-transform .35s}.premium-banner-animation11 .premium-banner-ib-title{margin-bottom:10px}.premium-banner-animation11 .premium-banner-gradient{position:absolute;left:0;top:0;right:0;bottom:0}.premium-banner-animation11 .premium-banner-gradient:after,.premium-banner-animation11 .premium-banner-gradient:before{position:absolute;content:"";left:0;top:0;right:0;bottom:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background-image:-webkit-linear-gradient(40deg,rgba(84,89,95,.5) 27.89%,#6ec1e4 72.11%);background-image:linear-gradient(50deg,rgba(84,89,95,.5) 27.89%,#6ec1e4 72.11%);z-index:2}.premium-banner-animation11 .premium-banner-gradient:before{mix-blend-mode:color}.premium-banner-animation11 .premium-banner-gradient:after{mix-blend-mode:multiply}.premium-banner-animation11.active .premium-banner-ib-desc,.premium-banner-animation11:hover .premium-banner-ib-desc{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation11.active .premium-banner-gradient:after,.premium-banner-animation11.active .premium-banner-gradient:before,.premium-banner-animation11:hover .premium-banner-gradient:after,.premium-banner-animation11:hover .premium-banner-gradient:before{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.premium-banner-animation11.scale img,.premium-banner-animation11.zoomout img{-webkit-transform:translate3d(-10px,0,0) scale(1.1);transform:translate3d(-10px,0,0) scale(1.1)}.premium-blog-thumb-effect-wrapper{position:relative;overflow:hidden}.premium-blog-effect-container:not(.premium-blog-bordered-effect) .premium-blog-post-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;padding:20px}.premium-blog-bordered-effect .premium-blog-post-link{display:block;height:100%;position:relative}.premium-blog-thumbnail-container{overflow:hidden}.premium-blog-thumbnail-container .below-entry-meta,.premium-blog-thumbnail-container img{width:100%;height:100%;margin:0!important;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out;display:block}.premium-blog-scale-effect img,.premium-blog-zoomout-effect img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-blog-sepia-effect img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-blog-bright-effect img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-blog-trans-effect img{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-blog-post-outer-container:hover .premium-blog-zoomin-effect img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-blog-post-outer-container:hover .premium-blog-zoomout-effect img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-blog-post-outer-container:hover .premium-blog-scale-effect img{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-blog-post-outer-container:hover .premium-blog-gray-effect img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-blog-post-outer-container:hover .premium-blog-blur-effect img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-blog-post-outer-container:hover .premium-blog-sepia-effect img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-blog-post-outer-container:hover .premium-blog-bright-effect img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-blog-post-outer-container:hover .premium-blog-trans-effect img{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-blog-post-container{overflow:hidden}.premium-blog-post-container .premium-blog-inner-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-blog-post-container .premium-blog-post-content{line-height:1.5em;color:#777;font-size:14px;margin-bottom:10px}.premium-blog-post-container .premium-blog-post-link:focus,.premium-blog-post-container .premium-blog-post-link:hover,.premium-blog-post-container ul.post-categories a:focus,.premium-blog-post-container ul.post-categories a:hover{-webkit-box-shadow:none!important;box-shadow:none!important;outline:0!important}.premium-blog-post-container .premium-blog-entry-title{font-size:18px;margin-bottom:5px}.premium-blog-post-container.premium-blog-skin-modern .premium-blog-content-wrapper{position:relative;z-index:3;top:-50px}.premium-blog-post-container .premium-blog-content-wrapper{background-color:#f5f5f5;padding:30px}.premium-blog-post-container .premium-blog-content-wrapper.empty-thumb{top:0}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner) .premium-blog-thumbnail-container:after,.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner) .premium-blog-thumbnail-container:before{position:absolute;content:"";z-index:1;top:50%;left:50%;opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:all .4s linear 0s;transition:all .4s linear 0s;height:1px;width:100%;background-color:#fff}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner) .premium-blog-thumbnail-container:before{width:1px;height:100%}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner):hover .premium-blog-thumbnail-container:after{width:20px;opacity:1}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner):hover .premium-blog-thumbnail-container:before{height:20px;opacity:1}.premium-blog-post-container:not(.premium-blog-skin-classic):not(.premium-blog-skin-side):not(.premium-blog-skin-banner) .premium-blog-content-wrapper{margin:0 10px 20px;clear:both}.premium-blog-post-container.premium-blog-skin-banner .premium-blog-thumbnail-overlay,.premium-blog-post-container.premium-blog-skin-classic .premium-blog-thumbnail-overlay,.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-overlay{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:0}.premium-blog-post-container.premium-blog-skin-banner .premium-blog-thumbnail-overlay a,.premium-blog-post-container.premium-blog-skin-classic .premium-blog-thumbnail-overlay a,.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-overlay a{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%}.premium-blog-post-container.premium-blog-skin-banner .premium-blog-thumbnail-overlay i,.premium-blog-post-container.premium-blog-skin-banner .premium-blog-thumbnail-overlay span,.premium-blog-post-container.premium-blog-skin-classic .premium-blog-thumbnail-overlay i,.premium-blog-post-container.premium-blog-skin-classic .premium-blog-thumbnail-overlay span,.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-overlay i,.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-overlay span{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-post-container.premium-blog-skin-side{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-blog-post-container.premium-blog-skin-side .premium-blog-thumbnail-container{height:100%}.premium-blog-post-container.premium-blog-skin-side .premium-blog-content-wrapper{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.premium-blog-post-container.premium-blog-skin-banner{position:relative}.premium-blog-post-container.premium-blog-skin-banner .premium-blog-content-wrapper{position:absolute;width:100%;bottom:-5px;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:transparent;z-index:3;-webkit-transition:bottom .3s ease-in-out;transition:bottom .3s ease-in-out}.premium-blog-post-container.premium-blog-skin-banner:hover .premium-blog-content-wrapper{bottom:0}.premium-blog-post-container .premium-blog-cats-container ul.post-categories{margin:0;padding:0;list-style:none;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-blog-post-container .premium-blog-cats-container a{display:block;font-size:12px;color:#fff;background-color:#777;margin:0 3px 10px 0;padding:5px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-diagonal-container{position:absolute;top:0;left:0;width:100%;height:100%}.premium-blog-diagonal-effect:before{position:absolute;top:0;left:0;width:100%;height:100%;content:" ";z-index:1;background:rgba(255,255,255,.2);-webkit-transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-post-outer-container:hover .premium-blog-diagonal-effect:before{-webkit-transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0);transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0)}.premium-blog-framed-effect{position:absolute;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);height:-webkit-calc(100% - 30px);height:calc(100% - 30px);top:15px;left:15px;opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3);-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-post-outer-container:hover .premium-blog-framed-effect{opacity:.99;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-blog-bordered-effect{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;padding:15px;-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-bordered-effect .premium-blog-post-link:after,.premium-blog-bordered-effect .premium-blog-post-link:before{content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:all .5s linear 0s;transition:all .5s linear 0s;-webkit-transition-delay:0s;transition-delay:0s;border-color:rgba(255,255,255,.45)}.premium-blog-bordered-effect .premium-blog-post-link:before{border-right:2px solid;border-left:2px solid;-webkit-transform:scale(1,0);-ms-transform:scale(1,0);transform:scale(1,0);-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.premium-blog-bordered-effect .premium-blog-post-link:after{border-top:2px solid;border-bottom:2px solid;-webkit-transform:scale(0,1);-ms-transform:scale(0,1);transform:scale(0,1);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.premium-blog-bordered-effect:hover{opacity:.99}.premium-blog-bordered-effect:hover .premium-blog-post-link:after,.premium-blog-bordered-effect:hover .premium-blog-post-link:before{-webkit-transition-delay:.15s;transition-delay:.15s;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-blog-squares-effect,.premium-blog-squares-square-container{position:absolute;top:0;left:0;width:100%;height:100%}.premium-blog-squares-effect:after,.premium-blog-squares-effect:before{position:absolute;content:"";top:0;left:0;width:50%;height:50%;-webkit-transform:translate(-100%,-100%);-ms-transform:translate(-100%,-100%);transform:translate(-100%,-100%);opacity:.7;-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-squares-square-container:after,.premium-blog-squares-square-container:before{position:absolute;content:"";top:0;left:0;width:50%;height:50%;-webkit-transform:translate(-100%,-100%);-ms-transform:translate(-100%,-100%);transform:translate(-100%,-100%);opacity:.7;-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-blog-squares-square-container:after,.premium-blog-squares-square-container:before{opacity:.8}.premium-blog-squares-effect:after{-webkit-transform:translate(200%,200%);-ms-transform:translate(200%,200%);transform:translate(200%,200%)}.premium-blog-squares-square-container:before{-webkit-transform:translate(-100%,200%);-ms-transform:translate(-100%,200%);transform:translate(-100%,200%)}.premium-blog-squares-square-container:after{-webkit-transform:translate(200%,-100%);-ms-transform:translate(200%,-100%);transform:translate(200%,-100%)}.premium-blog-squares-effect:hover:before{-webkit-transform:translate(0,0) scaleY(1.003) scaleX(1.003);-ms-transform:translate(0,0) scaleY(1.003) scaleX(1.003);transform:translate(0,0) scaleY(1.003) scaleX(1.003)}.premium-blog-squares-effect:hover:after{-webkit-transform:translate(100%,100%) scaleY(1.003) scaleX(1.003);-ms-transform:translate(100%,100%) scaleY(1.003) scaleX(1.003);transform:translate(100%,100%) scaleY(1.003) scaleX(1.003)}.premium-blog-squares-effect:hover .premium-blog-squares-square-container:before{-webkit-transform:translate(0,100%);-ms-transform:translate(0,100%);transform:translate(0,100%)}.premium-blog-squares-effect:hover .premium-blog-squares-square-container:after{-webkit-transform:translate(100%,0);-ms-transform:translate(100%,0);transform:translate(100%,0)}.premium-blog-thumb-effect-wrapper:hover .premium-blog-thumbnail-overlay{opacity:1}.premium-blog-thumb-effect-wrapper:hover .premium-blog-thumbnail-overlay a{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-blog-clear-fix{clear:both}.premium-blog-masked .premium-blog-thumbnail-container{position:relative;overflow:visible}.premium-blog-masked .premium-blog-thumbnail-container svg{position:absolute;height:100px;width:100%;bottom:-5px;left:0;fill:#f5f5f5;z-index:99}.premium-blog-masked .premium-blog-thumbnail-container svg.premium-blog-shape-divider-svg{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.premium-blog-masked .premium-blog-author-thumbnail,.premium-blog-masked .premium-blog-skin-banner .premium-blog-content-wrapper{z-index:999!important}.premium-blog-format-link{padding:5px;line-height:0}.premium-blog-entry-meta{line-height:1.3em;font-size:12px;margin-bottom:13px;color:#adadad}.premium-blog-entry-meta i{margin-right:3px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-meta-data{display:inline-block}.premium-blog-meta-data .premium-blog-meta-separator{margin:0 5px}.premium-blog-meta-data a,.premium-blog-meta-data span{color:inherit;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-author-thumbnail{position:relative;padding:0 30px;width:100%;top:-10px;height:0;pointer-events:none}.premium-blog-author-thumbnail img{-webkit-border-radius:50%;border-radius:50%;width:60px;pointer-events:all;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-blog-entry-title a,.premium-blog-post-content .premium-blog-excerpt-link,.premium-blog-post-tags-container a{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-excerpt-link-wrap a.premium-blog-excerpt-link{background-color:transparent;color:#54595f;padding:0}.premium-blog-cta-full-yes .premium-blog-excerpt-link{width:100%}.premium-blog-post-tags-container{margin-top:8px;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.premium-blog-post-tags-container a{color:inherit;margin-left:5px}.premium-blog-align-left .post-categories,.premium-blog-align-left .premium-blog-post-tags-container{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.premium-blog-align-left .premium-blog-inner-container{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.premium-blog-align-center .post-categories,.premium-blog-align-center .premium-blog-post-tags-container{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-blog-align-center .premium-blog-inner-container{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-blog-align-right .post-categories,.premium-blog-align-right .premium-blog-post-tags-container{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.premium-blog-align-right .premium-blog-inner-container{-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end}.premium-blog-pagination-container{text-align:right}.premium-blog-pagination-container span{cursor:default}.premium-blog-pagination-container .page-numbers{display:inline-block;color:#000;line-height:1;font-size:1em;font-weight:400;text-decoration:none;padding:.75em;margin:0 .4em .4em 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-wrap .premium-loading-feed{display:block;position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0;background:rgba(255,255,255,.2);-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;z-index:99}.premium-blog-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.premium-blog-wrap ul.slick-dots{width:100%}.premium-blog-list .premium-blog-post-outer-container{width:100%}.premium-blog-even .premium-blog-post-container{height:100%}.premium-blog-even .slick-track{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-blog-even .slick-slide{height:inherit!important}.premium-blog-filter{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-blog-filter .premium-blog-filters-container li a.category{outline:0;text-decoration:none;-webkit-border-radius:75px;border-radius:75px;margin:15px 5px 20px;padding:7px 20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-filter ul.premium-blog-filters-container{text-align:center;margin:0;padding:0}.premium-blog-filter .premium-blog-filters-container li{list-style:none;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}@media (max-width:768px){.premium-blog-content-wrapper{top:0;margin:0;padding:15px}.premium-blog-skin-side{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.premium-button{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);cursor:pointer;-webkit-transition:all .2s ease-in-out!important;transition:all .2s ease-in-out!important}.premium-button-style1,.premium-button-style2,.premium-button-style5,.premium-button-style7{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);-webkit-box-shadow:0 0 1px transparent;box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.15s;transition-duration:.15s}.premium-button-style1:before,.premium-button-style2:before,.premium-button-style5:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;-webkit-transform:scaleY(0);-ms-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.premium-button-style5-radialin:before,.premium-button-style5-radialout:before{-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-border-radius:100%;border-radius:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-button-style5-radialin:before{-webkit-transform:scale(2);-ms-transform:scale(2);transform:scale(2)}.premium-button-style5-rectin:before{-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-button-style5-rectout:before{-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-button-style5-rectout:hover:before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-button-style5-rectin:hover:before{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-button-style5-radialout:hover:before{-webkit-transform:scale(2);-ms-transform:scale(2);transform:scale(2)}.premium-button-style5-radialin:hover:before{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.premium-button-style1-top:before{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.premium-button-style1-right:before{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}.premium-button-style1-left:before{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}.premium-button-style2-scshutoutver:before,.premium-button-style2-shutouthor:before{-webkit-transform:scaleY(0);-ms-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}.premium-button-style2-scshutouthor:before,.premium-button-style2-shutoutver:before{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.premium-button-style2-shutinhor:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%}.premium-button-style2-shutinver:before{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%}.premium-button-style1-bottom:hover:before,.premium-button-style1-top:hover:before{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1)}.premium-button-style1-left:hover:before,.premium-button-style1-right:hover:before,.premium-button-style2-shutouthor:hover:before,.premium-button-style2-shutoutver:hover:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.premium-button-style2-shutinhor:hover:before{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0)}.premium-button-style2-shutinver:hover:before{-webkit-transform:scaleY(0);-ms-transform:scaleY(0);transform:scaleY(0)}.premium-button-style2-scshutouthor:hover:before{-webkit-transform:scaleX(.9);-ms-transform:scaleX(.9);transform:scaleX(.9)}.premium-button-style2-scshutoutver:hover:before{-webkit-transform:scaleY(.8);-ms-transform:scaleY(.8);transform:scaleY(.8)}.premium-button-style2-dshutinhor:before{top:50%;left:50%;width:120%;height:0%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(-45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(-45deg);transform:translateX(-50%) translateY(-50%) rotate(-45deg);-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-transition-property:all;transition-property:all}.premium-button-style2-dshutinver:before{top:50%;left:50%;width:120%;height:0%;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-transition-property:all;transition-property:all;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg)}.premium-button-style2-dshutinhor:hover:before,.premium-button-style2-dshutinver:hover:before{height:220%}.premium-button-style3-before i,.premium-button-style3-before svg{opacity:0;-webkit-transform:translateX(-5px);-ms-transform:translateX(-5px);transform:translateX(-5px);-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.premium-button-style3-after i,.premium-button-style3-after svg{opacity:0;-webkit-transform:translateX(-5px);-ms-transform:translateX(-5px);transform:translateX(-5px);-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out;-webkit-transform:translateX(5px);-ms-transform:translateX(5px);transform:translateX(5px)}.premium-button-style3-after:hover i,.premium-button-style3-after:hover svg{opacity:1}.premium-button-style3-before:hover i,.premium-button-style3-before:hover svg{opacity:1}.premium-button-text-icon-wrapper{width:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-button-text-icon-wrapper i,.premium-button-text-icon-wrapper span,.premium-button-text-icon-wrapper svg{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-button-style4-icon-wrapper{position:absolute;z-index:2;width:100%;text-align:center;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;opacity:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-button-style4-icon-wrapper.top{bottom:-100%;left:0}.premium-button-style4-icon-wrapper.bottom{top:-100%;left:0}.premium-button-style4-icon-wrapper.left{top:0;left:-100%}.premium-button-style4-icon-wrapper.right{top:0;right:-100%}.premium-button-style4-bottom:hover .premium-button-style4-icon-wrapper{top:0;opacity:1}.premium-button-style4-top:hover .premium-button-style4-icon-wrapper{bottom:0;opacity:1}.premium-button-style4-left:hover .premium-button-style4-icon-wrapper{left:0;opacity:1}.premium-button-style4-right:hover .premium-button-style4-icon-wrapper{right:0;opacity:1}.premium-button-style4-bottom:hover .premium-button-text-icon-wrapper{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0}.premium-button-style4-top:hover .premium-button-text-icon-wrapper{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);opacity:0}.premium-button-style4-left:hover .premium-button-text-icon-wrapper{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0}.premium-button-style4-right:hover .premium-button-text-icon-wrapper{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);opacity:0}.premium-button-style6:before{content:"";position:absolute;left:50%;top:50%;width:100px;height:100px;-webkit-border-radius:100%;border-radius:100%;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-button-style6:hover:before{-webkit-transform:translate(-50%,-50%) scale(3);-ms-transform:translate(-50%,-50%) scale(3);transform:translate(-50%,-50%) scale(3)}.premium-button-style6 .premium-button-text-icon-wrapper{position:relative;z-index:1}.premium-button-style7-left .premium-button-text-icon-wrapper:before,.premium-button-style7-right .premium-button-text-icon-wrapper:before{-webkit-transition:width .3s ease-out .15s;transition:width .3s ease-out .15s}.premium-button-style7-left .premium-button-text-icon-wrapper:after,.premium-button-style7-right .premium-button-text-icon-wrapper:after{-webkit-transition:width .3s ease-out 0s;transition:width .3s ease-out 0s}.premium-button-style7-bottom .premium-button-text-icon-wrapper:before,.premium-button-style7-top .premium-button-text-icon-wrapper:before{-webkit-transition:height .3s ease-out .15s;transition:height .3s ease-out .15s}.premium-button-style7-bottom .premium-button-text-icon-wrapper:after,.premium-button-style7-top .premium-button-text-icon-wrapper:after{-webkit-transition:height .3s ease-out 0s;transition:height .3s ease-out 0s}.premium-button-style7:hover .premium-button-text-icon-wrapper:before{-webkit-transition-delay:0s;transition-delay:0s}.premium-button-style7:hover .premium-button-text-icon-wrapper:after{-webkit-transition-delay:.15s;transition-delay:.15s}.premium-button-style7-bottom .premium-button-text-icon-wrapper:after,.premium-button-style7-bottom .premium-button-text-icon-wrapper:before{content:"";position:absolute;right:0;top:0;left:0;height:0;z-index:-1}.premium-button-style7-top .premium-button-text-icon-wrapper:after,.premium-button-style7-top .premium-button-text-icon-wrapper:before{content:"";position:absolute;right:0;bottom:0;left:0;height:0;z-index:-1}.premium-button-style7-right .premium-button-text-icon-wrapper:after,.premium-button-style7-right .premium-button-text-icon-wrapper:before{content:"";position:absolute;right:0;top:0;bottom:0;width:0;z-index:-1}.premium-button-style7-left .premium-button-text-icon-wrapper:after,.premium-button-style7-left .premium-button-text-icon-wrapper:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;z-index:-1}.premium-button-style7-bottom:hover .premium-button-text-icon-wrapper:after,.premium-button-style7-bottom:hover .premium-button-text-icon-wrapper:before{height:100%;top:0}.premium-button-style7-top:hover .premium-button-text-icon-wrapper:after,.premium-button-style7-top:hover .premium-button-text-icon-wrapper:before{height:100%;bottom:0}.premium-button-style7-left:hover .premium-button-text-icon-wrapper:after,.premium-button-style7-left:hover .premium-button-text-icon-wrapper:before{width:100%;left:0}.premium-button-style7-right:hover .premium-button-text-icon-wrapper:after,.premium-button-style7-right:hover .premium-button-text-icon-wrapper:before{width:100%;right:0}.premium-carousel-wrapper a.carousel-arrow,.premium-carousel-wrapper a.ver-carousel-arrow{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;width:2em;height:2em;line-height:0;text-align:center;position:absolute;z-index:99;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-appearance:inherit;border:none;-webkit-box-shadow:none;box-shadow:none}.premium-carousel-wrapper a.carousel-arrow svg,.premium-carousel-wrapper a.ver-carousel-arrow svg{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.ver-carousel-arrow.carousel-next i{margin-bottom:-3px}.premium-carousel-wrapper a.slick-arrow:hover{-webkit-box-shadow:none!important;box-shadow:none!important}.premium-carousel-wrapper .premium-carousel-content-hidden{visibility:hidden}.premium-carousel-wrapper a.carousel-arrow{top:50%}.premium-carousel-wrapper a.ver-carousel-arrow{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-carousel-dots-above ul.slick-dots{position:absolute;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;width:auto;top:50%;bottom:auto;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-carousel-wrapper .premium-carousel-nav-arrow-next,.premium-carousel-wrapper .premium-carousel-nav-arrow-prev,.premium-carousel-wrapper .premium-carousel-nav-dot{display:none}.premium-carousel-wrapper ul.slick-dots svg{width:20px;height:20px;outline:0!important}@-webkit-keyframes hvr-ripple-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}@keyframes hvr-ripple-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}.premium-carousel-ripple-yes .premium-carousel-wrapper{padding-bottom:1px}.premium-carousel-ripple-yes ul.slick-dots li{position:relative}.premium-carousel-ripple-yes ul.slick-dots li i{position:relative;z-index:1}.premium-carousel-ripple-yes ul.slick-dots li:hover:before{content:"";position:absolute;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);top:0;right:0;bottom:0;left:0;-webkit-border-radius:50%;border-radius:50%;pointer-events:none;background-color:rgba(0,0,0,.15)}.premium-carousel-ripple-yes ul.slick-dots li.slick-active:hover:before{background-color:rgba(0,0,0,.3)}.premium-carousel-ripple-yes ul.slick-dots li:hover:before{-webkit-animation:hvr-ripple-out 1.3s infinite;animation:hvr-ripple-out 1.3s infinite}.premium-carousel-wrapper.premium-carousel-scale .slick-slide{-webkit-transform:scale(1.25,1.25);-ms-transform:scale(1.25,1.25);transform:scale(1.25,1.25);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-carousel-wrapper.premium-carousel-scale div.slick-active{-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1)}[dir=rtl] .premium-carousel-inner .slick-slide{float:right}.premium-contact-form-anim-yes .wpcf7-span::after{display:block;height:2px;content:"";top:-2px;position:relative;width:0;-webkit-transition:all ease-in-out .3s;transition:all ease-in-out .3s}.premium-contact-form-anim-yes .wpcf7-span.is-focused::after{width:100%}.premium-cf7-container input.wpcf7-submit{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-countdown{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;text-align:center}.countdown-row{display:block;text-align:center}.countdown .countdown-section{display:inline-block;max-width:100%;margin-bottom:15px;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.countdown .countdown-section:last-child{margin-right:0}.countdown span.countdown-amount{font-size:70px;line-height:1;padding:40px}.countdown .pre_time-mid{display:block}.premium-countdown-separator-yes .countdown_separator{display:block;margin:0 50px;font-size:30px}.premium-countdown-separator-yes .countdown-row .countdown-section:last-child .countdown_separator,.premium-countdown-separator-yes .premium-countdown-block:last-child .countdown_separator{display:none}.side .countdown-section .countdown-period{vertical-align:bottom}.countdown .countdown-section .countdown-period{font-size:17px;line-height:3em}.side .countdown-section .countdown-amount,.side .countdown-section .countdown-period{display:inline-block}.side .countdown-section .countdown-amount{margin-right:5px}.down .countdown-section .countdown-amount,.down .countdown-section .countdown-period{display:block}.premium-countdown-flip .premium-countdown-block{text-align:center;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-countdown-flip .premium-countdown-block:last-child{margin-right:0}.premium-countdown-flip .premium-countdown-label{overflow:hidden;color:#1a1a1a;text-transform:uppercase}.premium-countdown-flip .premium-countdown-figure{position:relative;height:110px;width:100px;line-height:107px;background-color:#fff;-webkit-border-radius:10px;border-radius:10px;-webkit-box-shadow:0 3px 4px 0 rgba(0,0,0,.2),inset 2px 4px 0 0 rgba(255,255,255,.08);box-shadow:0 3px 4px 0 rgba(0,0,0,.2),inset 2px 4px 0 0 rgba(255,255,255,.08)}.premium-countdown-flip .premium-countdown-figure:last-child{margin-right:0}.premium-countdown-flip .premium-countdown-figure>span{position:absolute;left:0;right:0;margin:auto;font-weight:700}.premium-countdown-flip .premium-countdown-figure .top{z-index:3;-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:perspective(200px);transform:perspective(200px);-webkit-backface-visibility:hidden;backface-visibility:hidden}.premium-countdown-flip .premium-countdown-figure .bottom{z-index:1}.premium-countdown-flip .premium-countdown-figure .bottom::before{content:"";position:absolute;display:block;top:0;left:0;width:100%;height:50%;background-color:rgba(0,0,0,.02)}.premium-countdown-flip .premium-countdown-figure .top-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:4;bottom:0;-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:perspective(200px) rotateX(180deg);transform:perspective(200px) rotateX(180deg)}.premium-countdown-flip .premium-countdown-figure .top-back span{position:absolute;top:-100%;left:0;right:0;margin:auto}.premium-countdown-flip .premium-countdown-figure .bottom-back{z-index:2;top:0}.premium-countdown-flip .premium-countdown-figure .bottom-back span{position:absolute;top:0;left:0;right:0;margin:auto}.premium-countdown-flip .premium-countdown-figure .bottom-back,.premium-countdown-flip .premium-countdown-figure .top,.premium-countdown-flip .premium-countdown-figure .top-back{height:50%;overflow:hidden;background-color:#f7f7f7;-webkit-border-top-left-radius:10px;border-top-left-radius:10px;-webkit-border-top-right-radius:10px;border-top-right-radius:10px}.premium-countdown-flip .premium-countdown-figure .top-back{-webkit-border-bottom-left-radius:10px;border-bottom-left-radius:10px;-webkit-border-bottom-right-radius:10px;border-bottom-right-radius:10px}.premium-countdown-flip .premium-countdown-figure .bottom-back::after,.premium-countdown-flip .premium-countdown-figure .top::after{content:"";position:absolute;z-index:-1;left:0;bottom:0;width:100%;height:100%;border-bottom:1px solid rgba(0,0,0,.1)}.side .premium-countdown-figure,.side .premium-countdown-label{display:inline-block}.side .premium-countdown-figure{margin-right:5px}.down .premium-countdown-figure,.down .premium-countdown-label{display:block}.down .premium-countdown-label{width:100%}.premium-counter-area{padding:10px 0;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-counter-area.top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-counter-area.right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.premium-counter-area.right .premium-counter-icon{padding-left:20px}.premium-counter-area.left .premium-counter-icon{padding-right:20px}.premium-counter-area .premium-counter-icon .icon i.fa:before{vertical-align:text-top}.premium-counter-area .premium-counter-icon span.icon{text-align:center;display:inline-block;vertical-align:middle}.premium-counter-area .premium-counter-icon .circle{-webkit-border-radius:100%;border-radius:100%}.premium-counter-area .premium-counter-icon img,.premium-counter-area .premium-counter-icon svg{width:80px}.premium-counter-area .premium-counter-icon .premium-counter-animation svg{height:80px}.premium-counter-area .premium-counter-title p{padding:0;margin:0}.premium-counter-area .premium-counter-value-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-init-wrapper{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-init-wrapper.row{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-init-wrapper.right{text-align:right}span.icon.flex-width{width:auto!important;height:auto!important}.premium-counter-area .premium-counter-init{font-size:35px}.premium-dual-header-first-header,.premium-dual-header-second-header{position:relative;padding:0;margin:0;display:inline-block;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.premium-dual-header-first-clip .premium-dual-header-first-span,.premium-dual-header-second-clip{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.premium-dual-header-first-clip.stroke .premium-dual-header-first-span,.premium-dual-header-second-clip.stroke{-webkit-text-stroke-color:transparent;-webkit-text-fill-color:#fafafa;-webkit-text-stroke-width:2px}@media (max-width:500px){.premium-dual-header-first-header,.premium-dual-header-second-header{word-wrap:break-word}}.premium-dual-header-first-header.gradient .premium-dual-header-first-span,.premium-dual-header-second-header.gradient{-webkit-background-size:300% 300%!important;background-size:300% 300%!important;-webkit-animation:Gradient 10s ease-in-out infinite;animation:Gradient 10s ease-in-out infinite}@-webkit-keyframes Gradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes Gradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}.premium-mask-yes.premium-header-inline .premium-dual-header-first-span{display:inline-block!important}.premium-fancy-text,.premium-prefix-text,.premium-suffix-text{font-size:40px}.premium-fancy-item-hidden,.premium-fancy-text-wrapper:not(.typing) .premium-fancy-text{opacity:0}.premium-fancy-text-wrapper .premium-fancy-list-items{list-style:none}.premium-fancy-text-wrapper .premium-fancy-text-span-align{vertical-align:top}.premium-fancy-text-wrapper:not(.typing):not(.slide) .premium-fancy-text-items-wrapper{margin:0;padding:0;border:none;position:relative}.premium-fancy-text-wrapper:not(.typing):not(.slide) .premium-fancy-list-items{position:absolute;top:0;left:0;display:inline-block}.premium-fancy-text-wrapper.zoomout .premium-fancy-item-hidden{-webkit-animation:pa-zoom-out .8s;animation:pa-zoom-out .8s}.premium-fancy-text-wrapper.zoomout .premium-fancy-item-visible{position:relative!important;-webkit-animation:pa-zoom-in .8s;animation:pa-zoom-in .8s}.premium-fancy-text-wrapper.zoomout .premium-fancy-text-items-wrapper{-webkit-perspective:300px;perspective:300px}.premium-fancy-text-wrapper.rotate .premium-fancy-list-items{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.premium-fancy-text-wrapper.rotate .premium-fancy-item-hidden{-webkit-transform:rotateX(180deg);transform:rotateX(180deg);-webkit-animation:pa-rotate-out 1.2s;animation:pa-rotate-out 1.2s}.premium-fancy-text-wrapper.rotate .premium-fancy-item-visible{position:relative!important;-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-animation:pa-rotate-in 1.2s;animation:pa-rotate-in 1.2s}.premium-fancy-text-wrapper.custom .premium-fancy-item-visible{position:relative!important}.premium-fancy-text-wrapper.auto-fade .premium-fancy-text{display:inline-block;width:200px;font-weight:400}.premium-fancy-text-wrapper.auto-fade .premium-fancy-svg-text{position:relative;vertical-align:sub}.premium-fancy-text-wrapper.auto-fade g>text{text-anchor:start;shape-rendering:crispEdges;opacity:0;font-size:300px;-webkit-animation-name:pa-auto-fade;animation-name:pa-auto-fade;-moz-animation-name:pa-auto-fade;-webkit-animation-duration:9s;animation-duration:9s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.premium-fancy-text-wrapper.auto-fade g>text:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.premium-fancy-text-wrapper.auto-fade g>text:nth-child(2){-webkit-animation-delay:3s;animation-delay:3s}.premium-fancy-text-wrapper.auto-fade g>text:nth-child(3){-webkit-animation-delay:6s;animation-delay:6s}.premium-fancy-text-wrapper.loading .premium-fancy-text{position:relative}.premium-fancy-text-wrapper.loading .premium-fancy-text .premium-loading-bar{position:absolute;width:100%;height:3px;bottom:0;left:0;animation:pa-loading-bar 2.5s ease-out infinite;-webkit-animation:pa-loading-bar 2.5s ease-out infinite}.premium-fancy-text-wrapper.loading.pause .premium-fancy-text:hover .premium-loading-bar{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes pa-auto-fade{0%{opacity:0}20%{opacity:1}35%{opacity:0}100%{opacity:0}}@keyframes pa-auto-fade{0%{opacity:0}20%{opacity:1}35%{opacity:0}100%{opacity:0}}@-webkit-keyframes pa-loading-bar{0%{width:0}100%{width:100}}@keyframes pa-loading-bar{0%{width:0}100%{width:100}}@-webkit-keyframes pa-zoom-in{0%{opacity:0;-webkit-transform:translateZ(100px);transform:translateZ(100px)}100%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes pa-zoom-in{0%{opacity:0;-webkit-transform:translateZ(100px);transform:translateZ(100px)}100%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes pa-zoom-out{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}100%{opacity:0;-webkit-transform:translateZ(-100px);transform:translateZ(-100px)}}@keyframes pa-zoom-out{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}100%{opacity:0;-webkit-transform:translateZ(-100px);transform:translateZ(-100px)}}@-webkit-keyframes pa-rotate-in{0%{opacity:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}35%{opacity:0;-webkit-transform:rotateX(120deg);transform:rotateX(120deg)}65%{opacity:0}100%{opacity:1;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@keyframes pa-rotate-in{0%{opacity:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}35%{opacity:0;-webkit-transform:rotateX(120deg);transform:rotateX(120deg)}65%{opacity:0}100%{opacity:1;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@-webkit-keyframes pa-rotate-out{0%{opacity:1;-webkit-transform:rotateX(0);transform:rotateX(0)}35%{opacity:1;-webkit-transform:rotateX(-40deg);transform:rotateX(-40deg)}65%{opacity:0}100%{opacity:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}}@keyframes pa-rotate-out{0%{opacity:1;-webkit-transform:rotateX(0);transform:rotateX(0)}35%{opacity:1;-webkit-transform:rotateX(-40deg);transform:rotateX(-40deg)}65%{opacity:0}100%{opacity:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}}.premium-bullet-list-box{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0}.premium-bullet-list-box .premium-bullet-list-content-grow-lc{-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center}.premium-bullet-list-box .premium-bullet-list-content-grow-rc{-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center}.premium-bullet-list-box .premium-bullet-list-content-grow-cc{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.premium-bullet-list-content{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;width:auto;position:relative}.premium-bullet-list-content .premium-bullet-list-text span,.premium-bullet-list-content .premium-bullet-list-wrapper{display:inline-block;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-bullet-list-content .premium-bullet-list-text span{margin:0 5px;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.premium-bullet-list-content .premium-bullet-list-icon-text p{font-size:18px;background-color:#eee;padding:1px 5px;-webkit-border-radius:2px;border-radius:2px}.premium-bullet-list-content .premium-bullet-list-icon-text p,.premium-bullet-list-content .premium-bullet-list-text span,.premium-bullet-list-content .premium-bullet-list-wrapper i,.premium-bullet-list-content .premium-bullet-list-wrapper img,.premium-bullet-list-content .premium-bullet-list-wrapper svg{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-bullet-list-content .premium-bullet-list-wrapper{position:relative;line-height:0}.premium-bullet-list-content .premium-bullet-list-wrapper img,.premium-bullet-list-content .premium-bullet-list-wrapper svg{width:30px!important;height:30px!important;position:relative;z-index:500}.premium-bullet-list-content .premium-bullet-list-wrapper .premium-bullet-list-icon-text,.premium-bullet-list-content .premium-bullet-list-wrapper i{position:relative;z-index:500}.premium-bullet-list-content .premium-bullet-list-wrapper i{width:1.25em}.premium-bullet-list-content .premium-bullet-list-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.premium-bullet-list-content:not(:last-of-type) .premium-bullet-list-connector{width:100%;height:100%;position:absolute;top:.5em;z-index:100;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-bullet-list-content:not(:last-of-type) .premium-bullet-list-connector .premium-icon-connector-content:after{content:"";border-right-width:1px;border-right-style:solid;border-color:#333;display:block;height:100%}li.premium-bullet-list-content.premium-bullet-list-content-inline{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;z-index:2}li.premium-bullet-list-content.premium-bullet-list-content-inline:not(:first-child){margin:0 3px}li.premium-bullet-list-content.premium-bullet-list-content-inline:first-child{margin:0 3px 0 0}.premium-bullet-list-divider:not(:last-child){width:100%;-webkit-box-flex:0;-webkit-flex:0 0 100%;-moz-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;overflow:hidden}.premium-bullet-list-divider:not(:last-child):after{content:"";display:block;border-top-style:solid;border-top-width:1px}.premium-bullet-list-divider-inline:not(:last-child){float:right;display:inline-block;position:relative;height:100%;overflow:hidden;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;margin:0 3px}.premium-bullet-list-divider-inline:not(:last-child):after{content:"";display:block;border-left-width:1px;height:33px;border-left-style:solid}.premium-bullet-list-icon-text{line-height:1.5}.premium-bullet-list-icon-text p,li.premium-bullet-list-content,ul.premium-bullet-list-box{margin:0}.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-icon-text p,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-text span,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-wrapper i{color:transparent!important;text-shadow:0 0 3px #aaa}.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-badge,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-wrapper .premium-lottie-animation svg,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-bullet-list-wrapper img,.premium-bullet-list-blur:hover .premium-bullet-list-content .premium-icon-connector-content{-webkit-filter:blur(3px);filter:blur(3px)}.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-icon-text p,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-text span,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-wrapper i{color:#aaa!important;text-shadow:0 0 0 transparent}.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-badge,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-wrapper .premium-lottie-animation svg,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-bullet-list-wrapper img,.premium-bullet-list-blur:hover .premium-bullet-list-content:hover .premium-icon-connector-content{-webkit-filter:none;filter:none}.premium-bullet-list-content .premium-bullet-list-badge{font-size:11px;top:auto;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.premium-bullet-list-content .premium-bullet-list-icon-text p{font-size:13px}.premium-bullet-list-gradient-effect[data-text]{display:inline-block;position:relative;text-decoration:none}.premium-bullet-list-gradient-effect[data-text]::before{content:attr(data-text);position:absolute;z-index:1;overflow:hidden;-webkit-clip-path:polygon(0 0,1px 0,1px 100%,0 100%);clip-path:polygon(0 0,1px 0,1px 100%,0 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-transition:all .4s ease;transition:all .4s ease}.premium-bullet-list-content:focus .premium-bullet-list-gradient-effect[data-text]::before,.premium-bullet-list-content:hover .premium-bullet-list-gradient-effect[data-text]::before{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}ul[data-list-animation*=animated-] .premium-bullet-list-content,ul[data-list-animation*=animated-] .premium-bullet-list-divider,ul[data-list-animation*=animated-] .premium-bullet-list-divider-inline{opacity:0}.premium-bullet-list-content-grow-effect:hover{-webkit-transform:scale(1.07);-ms-transform:scale(1.07);transform:scale(1.07)}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.premium-image-button{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative;overflow:hidden;background-color:#eee;cursor:pointer;-webkit-transition:all .2s ease-in-out!important;transition:all .2s ease-in-out!important}.premium-image-button .premium-button-style6-bg,.premium-image-button.premium-button-style6:before,.premium-image-button:not(.premium-image-button-style6):hover{background-color:#54595f}.premium-image-button-style1:before,.premium-image-button-style4-icon-wrapper{background-color:#54595f}.premium-image-button-text-icon-wrapper{width:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:3;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-image-button-text-icon-wrapper i,.premium-image-button-text-icon-wrapper span,.premium-image-button-text-icon-wrapper svg{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-image-button-style1:before{position:absolute;content:"";-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-image-button-style1-bottom:before{width:100%;height:0;top:0;left:0}.premium-image-button-style1-top:before{width:100%;height:0;bottom:0;left:0}.premium-image-button-style1-right:before{width:0;height:100%;bottom:0;left:0}.premium-image-button-style1-left:before{width:0;height:100%;top:0;right:0}.premium-image-button-style1-bottom:hover:before,.premium-image-button-style1-top:hover:before{height:100%}.premium-image-button-style1-left:hover:before,.premium-image-button-style1-right:hover:before{width:100%}.premium-image-button-style3{z-index:10}.premium-image-button-style3:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";z-index:1;background:rgba(255,255,255,.2);-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);-webkit-transition:all .8s ease-out;transition:all .8s ease-out}.premium-image-button-diagonal-right:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,150%,0)}.premium-image-button-diagonal-right:hover:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,-150%,0)}.premium-image-button-diagonal-left:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,-150%,0)}.premium-image-button-diagonal-left:hover:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,-45deg) translate3d(0,150%,0)}.premium-image-button-diagonal-bottom:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0)}.premium-image-button-diagonal-bottom:hover:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0)}.premium-image-button-diagonal-top:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,150%,0)}.premium-image-button-diagonal-top:hover:before{-webkit-transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0);transform:scale3d(14,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-150%,0)}.premium-image-button-style4-icon-wrapper{position:absolute;z-index:2;width:100%;text-align:center;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;opacity:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-image-button-style4-icon-wrapper.top{bottom:-100%;left:0}.premium-image-button-style4-icon-wrapper.bottom{top:-100%;left:0}.premium-image-button-style4-icon-wrapper.left{top:0;left:-100%}.premium-image-button-style4-icon-wrapper.right{top:0;right:-100%}.premium-image-button-style4-bottom:hover .premium-image-button-style4-icon-wrapper{top:0;opacity:1}.premium-image-button-style4-bottom:hover .premium-image-button-text-icon-wrapper{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0}.premium-image-button-style4-top:hover .premium-image-button-style4-icon-wrapper{bottom:0;opacity:1}.premium-image-button-style4-top:hover .premium-image-button-text-icon-wrapper{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);opacity:0}.premium-image-button-style4-left:hover .premium-image-button-style4-icon-wrapper{left:0;opacity:1}.premium-image-button-style4-left:hover .premium-image-button-text-icon-wrapper{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0}.premium-image-button-style4-right:hover .premium-image-button-style4-icon-wrapper{right:0;opacity:1}.premium-image-button-style4-right:hover .premium-image-button-text-icon-wrapper{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);opacity:0}.premium-image-button-style5:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;opacity:0;-webkit-transition:all 1s ease-in-out;transition:all 1s ease-in-out;background:rgba(255,255,255,.2);-webkit-animation-name:premium-overlap-effect-done;animation-name:premium-overlap-effect-done;-webkit-animation-duration:1s;animation-duration:1s}.premium-image-button-overlap-effect-vertical:before{-webkit-animation-name:premium-overlap-ver-effect-done;animation-name:premium-overlap-ver-effect-done}.premium-image-button-overlap-effect-horizontal:hover:before{-webkit-animation-name:premium-overlap-effect;animation-name:premium-overlap-effect}.premium-image-button-overlap-effect-vertical:hover:before{-webkit-animation-name:premium-overlap-ver-effect;animation-name:premium-overlap-ver-effect}.premium-image-button-style6:before{content:"";position:absolute;left:50%;top:50%;width:100px;height:100px;-webkit-border-radius:100%;border-radius:100%;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-image-button-style6:hover:before{-webkit-transform:translate(-50%,-50%) scale(3);-ms-transform:translate(-50%,-50%) scale(3);transform:translate(-50%,-50%) scale(3)}.premium-image-button-style6 .premium-button-text-icon-wrapper{position:relative;z-index:1}@-webkit-keyframes premium-overlap-effect{0%{opacity:0;-webkit-transform:rotateY(0);transform:rotateY(0)}50%{opacity:1;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{opacity:0;-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@keyframes premium-overlap-effect{0%{opacity:0;-webkit-transform:rotateY(0);transform:rotateY(0)}50%{opacity:1;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{opacity:0;-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@-webkit-keyframes premium-overlap-effect-done{0%{opacity:0;-webkit-transform:rotateY(0);transform:rotateY(0)}50%{opacity:1;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{opacity:0;-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@keyframes premium-overlap-effect-done{0%{opacity:0;-webkit-transform:rotateY(0);transform:rotateY(0)}50%{opacity:1;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{opacity:0;-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@-webkit-keyframes premium-overlap-ver-effect{0%{opacity:0;-webkit-transform:rotateX(0);transform:rotateX(0)}50%{opacity:1;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}100%{opacity:0;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@keyframes premium-overlap-ver-effect{0%{opacity:0;-webkit-transform:rotateX(0);transform:rotateX(0)}50%{opacity:1;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}100%{opacity:0;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@-webkit-keyframes premium-overlap-ver-effect-done{0%{opacity:0;-webkit-transform:rotateX(0);transform:rotateX(0)}50%{opacity:1;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}100%{opacity:0;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@keyframes premium-overlap-ver-effect-done{0%{opacity:0;-webkit-transform:rotateX(0);transform:rotateX(0)}50%{opacity:1;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}100%{opacity:0;-webkit-transform:rotateX(360deg);transform:rotateX(360deg)}}@font-face{font-family:pa-elements;src:url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.eot?vcwy2s);src:url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.eot?vcwy2s#iefix) format("embedded-opentype"),url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.ttf?vcwy2s) format("truetype"),url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.woff?vcwy2s) format("woff"),url(../../plugins/premium-addons-for-elementor/assets/editor/fonts/pa-elements.svg?vcwy2s#pa-elements) format("svg");font-weight:400;font-style:normal}.premium-image-scroll-container,.premium-image-scroll-section{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-image-scroll-section{position:relative;overflow:hidden;width:100%;-webkit-mask-image:-webkit-radial-gradient(white,#000)}.premium-image-scroll-container{width:100%}.premium-image-scroll-container .premium-image-scroll-mask-media{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.premium-container-scroll{overflow:auto}.premium-image-scroll-container .premium-image-scroll-horizontal{position:relative;width:100%;height:100%}.premium-image-scroll-container .premium-image-scroll-horizontal img{max-width:none;height:100%}.premium-image-scroll-container .premium-image-scroll-vertical img{width:100%;max-width:100%;height:auto}.premium-image-scroll-ver{position:relative}.premium-image-scroll-container .premium-image-scroll-overlay{background:rgba(2,2,2,.3)}.premium-image-scroll-container .premium-image-scroll-link,.premium-image-scroll-container .premium-image-scroll-overlay{position:absolute;top:0;bottom:0;left:0;right:0;z-index:4}.premium-image-scroll-content{display:inline-block;position:absolute;height:auto;top:50%;left:50%;text-align:center;z-index:5;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.premium-container-scroll-instant .premium-image-scroll-image{-webkit-transition:all 0s ease-in-out!important;transition:all 0s ease-in-out!important}.premium-image-scroll-container img{-webkit-transition:-webkit-transform 3s ease-in-out;transition:-webkit-transform 3s ease-in-out;transition:transform 3s ease-in-out;transition:transform 3s ease-in-out,-webkit-transform 3s ease-in-out}.premium-image-scroll-container .premium-image-scroll-content,.premium-image-scroll-container .premium-image-scroll-overlay{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:1}.premium-image-scroll-container:hover .premium-image-scroll-overlay{opacity:0}.premium-image-scroll-container:hover .premium-image-scroll-content{opacity:0;visibility:hidden}.premium-image-scroll-content .premium-image-scroll-icon{display:inline-block;font-family:pa-elements!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.pa-horizontal-mouse-scroll:before{content:"\e901"}.pa-vertical-mouse-scroll:before{content:"\e93c"}.pa-horizontal-mouse-scroll{-webkit-animation-name:pa-scroll-horizontal;animation-name:pa-scroll-horizontal}.pa-vertical-mouse-scroll{-webkit-animation-name:pa-scroll-vertical;animation-name:pa-scroll-vertical}@-webkit-keyframes pa-scroll-vertical{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(5px);transform:translateY(5px)}}@keyframes pa-scroll-vertical{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(5px);transform:translateY(5px)}}@-webkit-keyframes pa-scroll-horizontal{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(5px);transform:translateX(5px)}}@keyframes pa-scroll-horizontal{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(5px);transform:translateX(5px)}}.premium-image-separator-container{position:absolute;width:100%;z-index:2;top:auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-image-separator-container img,.premium-image-separator-container svg{display:inline-block!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.premium-image-separator-container .premium-image-separator-link{position:absolute;z-index:9999;top:0;left:0;width:100%;height:100%;text-decoration:none}.premium-image-separator-container .premium-image-separator-link:active,.premium-image-separator-container .premium-image-separator-link:focus,.premium-image-separator-container .premium-image-separator-link:hover,.premium-image-separator-container .premium-image-separator-link:visited{-webkit-box-shadow:none!important;box-shadow:none!important;outline:0!important;border:none!important;text-decoration:none!important}.premium-image-separator-container i,.premium-image-separator-container>svg{padding:20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-blog-filter,.premium-img-gallery-filter{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-img-gallery{clear:both;overflow:hidden}.premium-gallery-container .premium-gallery-item{padding:10px;float:left}.premium-gallery-container .grid-sizer{width:33.33%}.premium-gallery-container .pa-gallery-item{padding:10px}.premium-blog-filter .premium-blog-filters-container li a.category,.premium-img-gallery-filter .premium-gallery-cats-container li a.category{outline:0;text-decoration:none;-webkit-border-radius:75px;border-radius:75px;margin:15px 5px 20px;padding:7px 20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.pa-gallery-img{position:relative}.pa-gallery-img .pa-gallery-whole-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.pa-gallery-img .pa-gallery-whole-link span{display:none}.pa-gallery-img.style2 .pa-gallery-whole-link,.pa-gallery-img.style3 .pa-gallery-whole-link{z-index:99}.pa-gallery-img-container{overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.pa-gallery-img-container img{display:block;width:100%;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-img-gallery.gray img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-img-gallery.scale img,.premium-img-gallery.zoomout img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-img-gallery.sepia img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-img-gallery.bright img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-img-gallery.trans img{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.pa-gallery-img .pa-gallery-img-link,.pa-gallery-img .pa-gallery-magnific-image{outline:0}.pa-gallery-img .pa-gallery-img-link i,.pa-gallery-img .pa-gallery-img-link svg,.pa-gallery-img .pa-gallery-magnific-image i,.pa-gallery-img .pa-gallery-magnific-image svg{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.pa-gallery-img .pa-gallery-img-link span,.pa-gallery-img .pa-gallery-magnific-image span{line-height:1;display:inline-block;opacity:0;margin:0 5px;padding:15px;-webkit-border-radius:50%;border-radius:50%}.pa-gallery-img.style2 .pa-gallery-img-link span,.pa-gallery-img.style2 .pa-gallery-magnific-image span{margin:0 5px 20px}.pa-gallery-img:hover .pa-gallery-magnific-image span{-webkit-transition:all .3s ease-in-out,opacity .5s ease-in-out .3s;transition:all .3s ease-in-out,opacity .5s ease-in-out .3s}.pa-gallery-img:hover .pa-gallery-img-link span{-webkit-transition:all .3s ease-in-out,opacity .5s ease-in-out .6s;transition:all .3s ease-in-out,opacity .5s ease-in-out .6s}.pa-gallery-img:hover .pa-gallery-img-link span,.pa-gallery-img:hover .pa-gallery-magnific-image span{opacity:1}.premium-gallery-icon-show a.pa-gallery-video-icon span{opacity:1}.premium-blog-filter ul.premium-blog-filters-container,.premium-img-gallery-filter ul.premium-gallery-cats-container{text-align:center;margin:0;padding:0}.premium-blog-filter .premium-blog-filters-container li,.premium-img-gallery-filter .premium-gallery-cats-container li{list-style:none;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-img-gallery.zoomin .pa-gallery-img:hover img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-img-gallery.zoomout .pa-gallery-img:hover img{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-img-gallery.scale .pa-gallery-img:hover img{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-img-gallery.gray .pa-gallery-img:hover img{-webkit-filter:grayscale(0);filter:grayscale(0)}.premium-img-gallery.blur .pa-gallery-img:hover img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-img-gallery.sepia .pa-gallery-img:hover img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-img-gallery.trans .pa-gallery-img:hover img{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-img-gallery.bright .pa-gallery-img:hover img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.pa-gallery-img .premium-gallery-caption{padding:10px}.pa-gallery-img .premium-gallery-caption .premium-gallery-img-name{margin-bottom:0}.pa-gallery-img.style1{overflow:hidden}.pa-gallery-img:not(.style2) .pa-gallery-icons-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.pa-gallery-img:not(.style2) .pa-gallery-icons-inner-container{position:absolute;top:33.33%;width:100%;text-align:center;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:3}.pa-gallery-img.style1 .premium-gallery-caption{position:absolute;top:auto;right:0;bottom:-1px;left:0;width:100%;-webkit-transition:all .5s ease 0s;transition:all .5s ease 0s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.pa-gallery-img.style1:hover .premium-gallery-caption{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);bottom:-1px!important}.pa-gallery-img.default .premium-gallery-caption{position:absolute;top:auto;right:0;left:0;width:100%;bottom:0}.pa-gallery-img.style2 .pa-gallery-icons-caption-container{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;z-index:1;background-color:rgba(108,191,226,.68);-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;text-align:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.pa-gallery-img.style2 .pa-gallery-icons-caption-cell{width:100%}.pa-gallery-img.style2:hover .pa-gallery-icons-caption-container{opacity:1;-webkit-transform:translate(15px,15px);-ms-transform:translate(15px,15px);transform:translate(15px,15px)}.premium-clearfix{clear:both}.premium-img-gallery-metro .premium-gallery-item{overflow:hidden}.premium-img-gallery-metro .pa-gallery-img{height:100%}.premium-img-gallery-metro .pa-gallery-img-container{height:100%}.premium-img-gallery-metro .pa-gallery-img-container img{min-height:100%;width:100%;-o-object-fit:fill;object-fit:fill}.premium-img-gallery .premium-gallery-item-hidden{visibility:hidden;width:0!important;height:0!important;margin:0!important;padding:0!important}.premium-gallery-load-more{position:relative}.premium-gallery-load-more .premium-gallery-load-more-btn{-webkit-box-shadow:none;box-shadow:none;text-shadow:none;border:none;outline:0;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:bottom;cursor:pointer;line-height:1;font-style:normal;font-weight:400;background-image:none;color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-gallery-load-more-btn{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-gallery-load-more-btn div{margin-left:3px}.premium-gallery-load-more-btn .premium-loader{display:inline-block;width:20px;height:20px}.pa-gallery-img .pa-gallery-lightbox-wrap{display:inline-block}.pa-gallery-img .pa-gallery-video-icon,.premium-img-gallery-no-lightbox .premium-gallery-video-item .pa-gallery-img{cursor:pointer}.pa-gallery-img-container iframe{position:absolute;visibility:hidden;top:0;left:0;max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none}.pa-gallery-img-container video{position:absolute;visibility:hidden;top:0;left:0;max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none;-o-object-fit:contain;object-fit:contain}.pa-gallery-icons-caption-cell svg,.pa-gallery-icons-inner-container svg{width:14px;height:14px}.premium-gallery-gradient-layer{position:absolute;bottom:40px;width:100%;height:20px;background:-webkit-gradient(linear,left bottom,left top,from(#17181f),to(rgba(255,255,255,0)));background:-webkit-linear-gradient(bottom,#17181f 0,rgba(255,255,255,0) 100%);background:linear-gradient(to top,#17181f 0,rgba(255,255,255,0) 100%)}.elementor-widget-premium-lottie .premium-lottie-animation{position:relative;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.elementor-widget-premium-lottie .premium-lottie-animation a{position:absolute;left:0;top:0;width:100%;height:100%;z-index:2}.premium-maps-info-container{margin-top:10px;margin-bottom:10px}.premium-maps-info-desc,.premium-maps-info-title{margin:0;padding:0}.premium-maps-container .gm-style-iw{text-align:center}.premium-maps-container .gm-style img{max-width:none!important}.premium-modal-box-modal-lower-close,.premium-modal-trigger-btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent}.premium-modal-trigger-btn .premium-modal-box-icon,.premium-modal-trigger-btn>svg{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-modal-trigger-btn>svg{width:30px;height:30px}.premium-modal-box-modal-close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000}.premium-modal-box-modal-close:focus,.premium-modal-box-modal-close:hover{color:#000;text-decoration:none;cursor:pointer}button.premium-modal-box-modal-close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.premium-modal-box-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0;padding:0!important;background:rgba(0,0,0,.5);-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-modal-box-modal .premium-modal-box-modal-dialog{position:absolute;max-height:-webkit-calc(100vh - 150px);max-height:calc(100vh - 150px);-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;opacity:0;background-color:#fff;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;border-radius:6px}.premium-modal-box-modal-content{background-clip:padding-box;outline:0;overflow-x:hidden}.premium-modal-backdrop.premium-in{opacity:.5!important}.premium-in{opacity:1}.premium-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.premium-in{-js-display:flex!important;display:-webkit-box!important;display:-webkit-flex!important;display:-moz-box!important;display:-ms-flexbox!important;display:flex!important}.premium-modal-box-modal-header{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;padding:5px 15px;border-bottom:1px solid #e5e5e5}.premium-modal-box-modal-header .premium-modal-box-modal-close{margin-top:-2px}.premium-modal-box-modal-header .premium-modal-box-modal-title{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;margin:0;padding:0}.premium-modal-box-modal-header .premium-modal-box-modal-title svg{width:50px;height:60px}.premium-modal-box-modal-body{position:relative;padding:15px}.premium-modal-box-modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.premium-modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.premium-modal-trigger-text{background:0 0!important;display:inline-block}.premium-modal-box-container{width:100%!important}.premium-modal-trigger-container .premium-modal-trigger-btn{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;border:none;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-modal-trigger-container .premium-modal-trigger-btn.premium-btn-block{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-modal-trigger-container .premium-modal-trigger-animation,.premium-modal-trigger-container .premium-modal-trigger-img,.premium-modal-trigger-container .premium-modal-trigger-text{cursor:pointer}.premium-modal-trigger-container .premium-modal-trigger-animation{display:inline-block;width:200px;height:200px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-modal-box-modal-header img{width:48px;padding-right:5px}.premium-modal-box-modal-header i,.premium-modal-box-modal-header svg{padding-right:6px}.premium-modal-box-modal-close{position:relative;z-index:99}.premium-modal-box-close-button-container,.premium-modal-box-modal-close,.premium-modal-box-modal-lower-close,.premium-modal-trigger-img,.premium-modal-trigger-text{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}@media (min-width:768px){.premium-modal-box-modal-dialog{width:700px;max-height:600px;overflow:auto}}@media (max-width:767px){.premium-modal-box-modal-dialog{width:100%;max-height:500px;overflow:auto}}.premium-modal-box-container[data-modal-animation*=animated-]{opacity:0}.premium-nav-widget-container ul{list-style:none;margin:0;padding:0}.premium-nav-widget-container .premium-main-nav-menu{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:100%}.premium-nav-ver .premium-ver-inner-container{width:45%;position:relative}.premium-nav-ver .premium-nav-menu-container,.premium-nav-ver .premium-ver-toggler{width:100%}.premium-nav-ver .premium-nav-menu-container{background-color:#fff;-webkit-box-shadow:0 10px 25px rgba(0,0,0,.1);box-shadow:0 10px 25px rgba(0,0,0,.1)}.premium-nav-ver .premium-main-nav-menu{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item.menu-item-has-children .premium-sub-menu{visibility:hidden;opacity:0;position:absolute;min-width:250px}.premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item.menu-item-has-children:hover .premium-mega-content-container,.premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item.menu-item-has-children:hover>.premium-sub-menu{opacity:1;visibility:visible}.premium-nav-ver .premium-nav-menu-item{width:100%}.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-right .premium-mega-content-container,.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-right .premium-nav-menu-item.menu-item-has-children .premium-sub-menu{left:100%;top:0}.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-left .premium-mega-content-container,.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-left .premium-nav-menu-item.menu-item-has-children .premium-sub-menu{right:100%;top:0}.premium-nav-ver:not(.premium-hamburger-menu).premium-vertical-left .premium-menu-link{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.premium-nav-hor .premium-nav-menu-container{height:60px}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item .premium-sub-menu{visibility:hidden;opacity:0;position:absolute;min-width:220px}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item .premium-mega-content-container,.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item>.premium-sub-menu{top:100%}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item .premium-mega-content-container .premium-sub-menu,.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item>.premium-sub-menu .premium-sub-menu{left:100%;top:0}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:hover .premium-mega-content-container,.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-sub-menu{visibility:visible;opacity:1;pointer-events:auto}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item.premium-mega-item-static .premium-mega-content-container{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:not(.premium-mega-item-static) .premium-mega-content-container{left:0}.premium-mega-nav-item .premium-sub-menu{display:none}.premium-mega-nav-item{position:relative}.premium-mega-nav-item:hover .premium-mega-content-container{visibility:visible;opacity:1;pointer-events:auto}.premium-mega-content-container{visibility:hidden;position:absolute;z-index:9999;opacity:0;pointer-events:none}.premium-hamburger-menu .premium-mega-content-container,.premium-nav-dropdown .premium-mega-content-container,.premium-nav-slide .premium-mega-content-container{visibility:visible;position:relative;opacity:1;pointer-events:auto}.premium-mobile-menu-outer-container a.premium-mobile-menu-close,.premium-nav-widget-container a.premium-hamburger-toggle{text-decoration:none}.premium-nav-widget-container .premium-hamburger-toggle{display:none;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-nav-widget-container .premium-hamburger-toggle i{padding:.25em;font-size:22px}.premium-nav-widget-container .premium-hamburger-toggle svg{width:22px;height:22px}.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-close,.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-text,.premium-nav-widget-container .premium-hamburger-toggle i{color:#494c4f}.premium-nav-widget-container .premium-hamburger-toggle svg,.premium-nav-widget-container .premium-hamburger-toggle svg path{fill:#494c4f}.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-close,.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-text{margin:2px}.premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-close{display:none}.premium-mobile-menu-container{width:100%}.premium-mobile-menu-container .premium-main-mobile-menu{width:100%}.premium-mobile-menu-container ul{list-style:none;margin:0;padding:0}.premium-mobile-menu-container .premium-mobile-menu,.premium-mobile-menu-container .premium-sub-menu{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-mobile-menu-container .premium-nav-menu-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-mobile-menu-container .premium-item-badge{top:50%;right:0;left:unset;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-nav-hor .premium-mobile-menu-container .premium-item-badge{top:0;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-mobile-menu-outer-container{opacity:0}.premium-mobile-menu-outer-container.premium-vertical-toggle-open{opacity:1}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container{background-color:#f7f7f7;width:300px;-webkit-transform:translateX(-300px);-ms-transform:translateX(-300px);transform:translateX(-300px);height:100%;position:fixed;top:0;left:0;overflow-x:hidden;z-index:10002;-webkit-transition:.5s;transition:.5s;padding-top:50px}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-container{margin-top:50px}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-container .premium-item-badge{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close{position:absolute;top:2%;right:5px;padding:0 9px;z-index:10000;-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:#494c4f;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close .premium-toggle-close{margin:5px}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close svg{width:22px;height:22px;fill:#494c4f}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close svg path{fill:#494c4f}.premium-ver-hamburger-menu .premium-mobile-menu-outer-container .premium-mobile-menu-close i{font-size:22px}.premium-ver-hamburger-menu .premium-vertical-toggle-open{-webkit-transform:translateX(0)!important;-ms-transform:translateX(0)!important;transform:translateX(0)!important;-webkit-transition:.5s;transition:.5s}.premium-ver-toggle-yes .premium-nav-menu-container{height:auto}.premium-ver-toggle-yes .premium-ver-toggler{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:15px 20px 15px 20px;background:#eee;color:#042551;cursor:pointer}.premium-ver-toggle-yes .premium-ver-toggler .premium-ver-toggler-btn,.premium-ver-toggle-yes .premium-ver-toggler .premium-ver-toggler-title{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-ver-toggle-yes .premium-ver-toggler .premium-ver-toggler-txt{text-indent:5px}.premium-ver-toggle-yes .premium-ver-toggler:hover{background:#54595f;color:#fff}.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-close svg,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-close svg path,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-open svg,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-open svg path,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-title-icon svg,.premium-ver-toggle-yes .premium-ver-toggler:hover .premium-ver-title-icon svg path{fill:#fff}.premium-ver-toggle-yes .premium-nav-menu-container,.premium-ver-toggle-yes .premium-ver-close,.premium-ver-toggle-yes .premium-ver-open,.premium-ver-toggle-yes .premium-ver-toggler{-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-ver-toggle-yes .premium-nav-menu-container i,.premium-ver-toggle-yes .premium-nav-menu-container svg,.premium-ver-toggle-yes .premium-ver-close i,.premium-ver-toggle-yes .premium-ver-close svg,.premium-ver-toggle-yes .premium-ver-open i,.premium-ver-toggle-yes .premium-ver-open svg,.premium-ver-toggle-yes .premium-ver-toggler i,.premium-ver-toggle-yes .premium-ver-toggler svg{-webkit-transition:color .3s linear 0s;transition:color .3s linear 0s}.premium-ver-toggle-yes .premium-ver-toggler-txt{-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.premium-ver-toggle-yes .premium-ver-close,.premium-ver-toggle-yes .premium-ver-open,.premium-ver-toggle-yes .premium-ver-title-icon{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-ver-toggle-yes .premium-ver-close i,.premium-ver-toggle-yes .premium-ver-open i,.premium-ver-toggle-yes .premium-ver-title-icon i{font-size:16px}.premium-ver-toggle-yes .premium-ver-close svg,.premium-ver-toggle-yes .premium-ver-open svg,.premium-ver-toggle-yes .premium-ver-title-icon svg{width:17px;height:17px;fill:#042551}.premium-ver-toggle-yes .premium-ver-close svg path,.premium-ver-toggle-yes .premium-ver-open svg path,.premium-ver-toggle-yes .premium-ver-title-icon svg path{fill:#042551}.premium-ver-toggle-yes.premium-ver-always .premium-ver-open{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-ver-toggle-yes .premium-ver-collapsed .premium-nav-menu-container{visibility:hidden;opacity:0}.premium-ver-toggle-yes .premium-ver-collapsed .premium-ver-close{display:none}.premium-ver-toggle-yes .premium-ver-collapsed .premium-ver-open{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-ver-toggle-yes.premium-ver-hover .premium-nav-menu-container{position:absolute;z-index:10002}.premium-ver-toggle-yes.premium-ver-click .premium-nav-menu-container{position:absolute;z-index:10001}.premium-ver-toggle-yes .premium-nav-menu-container,.premium-ver-toggle-yes.premium-ver-hover .premium-ver-inner-container:hover .premium-nav-menu-container{visibility:visible;opacity:1}.premium-ver-toggle-yes .premium-ver-open,.premium-ver-toggle-yes.premium-ver-hover .premium-ver-inner-container:hover .premium-ver-open{display:none}.premium-ver-toggle-yes .premium-ver-close,.premium-ver-toggle-yes .premium-ver-title-icon,.premium-ver-toggle-yes.premium-ver-hover .premium-ver-inner-container:hover .premium-ver-close,.premium-ver-toggle-yes.premium-ver-hover .premium-ver-inner-container:hover .premium-ver-title-icon{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-sticky-parent{position:fixed;z-index:10003;-webkit-transition:all .3s linear;transition:all .3s linear}.premium-sticky-scroll-yes.premium-sticky-parent.headroom--not-top{will-change:transform;-webkit-transition:-webkit-transform .5s linear!important;transition:-webkit-transform .5s linear!important;transition:transform .5s linear!important;transition:transform .5s linear,-webkit-transform .5s linear!important;-webkit-transition-delay:1s;transition-delay:1s}.premium-sticky-scroll-yes.premium-sticky-parent.headroom--not-top.slideDown{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-sticky-scroll-yes.premium-sticky-parent.headroom--not-top.slideUp{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.premium-ham-dropdown .premium-stretch-dropdown .premium-mobile-menu-container,.premium-nav-sticky-yes.premium-sticky-active.premium-ham-dropdown .premium-mobile-menu-container{max-height:400px;overflow-y:auto}.premium-nav-slide-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:rgba(0,0,0,.6);z-index:10002}.premium-nav-slide-overlay.premium-vertical-toggle-open{display:block}.premium-active-menu,.premium-active-menu.premium-mega-nav-item>.premium-mega-content-container,.premium-active-menu:not(.premium-mega-nav-item)>.premium-sub-menu{-js-display:flex!important;display:-webkit-box!important;display:-webkit-flex!important;display:-moz-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-active-menu .premium-toggle-close{display:block}.premium-nav-menu-container .premium-sub-menu{background-color:#fff}.premium-mobile-menu-container li,.premium-mobile-menu-container li>.premium-mega-content-container{width:100%!important}.premium-item-icon,.premium-sub-item-icon{font-size:13px;margin:0 7px}.premium-item-icon svg,.premium-sub-item-icon svg{width:100%;height:100%}.premium-item-icon.premium-lottie-animation,.premium-sub-item-icon.premium-lottie-animation{width:20px;height:20px;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-item-icon.dashicons,.premium-sub-item-icon.dashicons{width:13px;height:13px}.premium-nav-menu-item{position:relative}.premium-nav-menu-item .premium-menu-link{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;height:100%;padding:7px 10px;text-decoration:none;position:relative}.premium-nav-menu-item .premium-dropdown-icon{margin:5px}.premium-nav-menu-item.menu-item-has-children{position:relative}.premium-nav-menu-item.menu-item-has-children .premium-sub-menu{z-index:9999}.premium-nav-menu-item.menu-item-has-children .premium-sub-menu .premium-sub-menu-link{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.premium-nav-menu-item .menu-link{position:relative;text-decoration:none}.premium-item-badge,.premium-sub-item-badge{position:absolute;padding:1px 6px;min-width:35px;text-align:center;font-size:10px;-webkit-border-radius:4px;border-radius:4px;line-height:1.8;white-space:nowrap}.premium-nav-hor:not(.premium-hamburger-menu) .premium-item-badge,.premium-nav-hor:not(.premium-nav-dropdown) .premium-item-badge,.premium-nav-hor:not(.premium-nav-slide) .premium-item-badge{position:relative;margin:8px}.premium-nav-dropdown .premium-sub-item-badge,.premium-nav-hor .premium-sub-item-badge,.premium-nav-slide .premium-sub-item-badge,.premium-nav-ver.premium-vertical-right .premium-item-badge,.premium-nav-ver.premium-vertical-right .premium-sub-item-badge{top:50%;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-nav-ver.premium-vertical-left .premium-item-badge,.premium-nav-ver.premium-vertical-left .premium-sub-item-badge{top:50%;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-mega-nav-item .premium-sub-menu{display:none}.premium-mega-nav-item{position:relative}.premium-hamburger-menu .premium-mega-content-container,.premium-nav-dropdown .premium-mega-content-container,.premium-nav-slide .premium-mega-content-container{display:none}.premium-mega-item-static{position:static!important}.premium-hamburger-menu .premium-nav-menu-container,.premium-nav-dropdown .premium-nav-menu-container,.premium-nav-slide .premium-nav-menu-container{display:none}.premium-hamburger-menu .premium-hamburger-toggle,.premium-nav-dropdown .premium-hamburger-toggle,.premium-nav-slide .premium-hamburger-toggle{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-hidden-icon-yes.premium-hamburger-menu .premium-item-icon,.premium-hidden-icon-yes.premium-hamburger-menu .premium-sub-item-icon,.premium-hidden-icon-yes.premium-nav-dropdown .premium-item-icon,.premium-hidden-icon-yes.premium-nav-dropdown .premium-sub-item-icon,.premium-hidden-icon-yes.premium-nav-slide .premium-item-icon,.premium-hidden-icon-yes.premium-nav-slide .premium-sub-item-icon{display:none}.premium-hidden-badge-yes.premium-hamburger-menu .premium-item-badge,.premium-hidden-badge-yes.premium-hamburger-menu .premium-sub-item-badge,.premium-hidden-badge-yes.premium-nav-dropdown .premium-item-badge,.premium-hidden-badge-yes.premium-nav-dropdown .premium-sub-item-badge,.premium-hidden-badge-yes.premium-nav-slide .premium-item-badge,.premium-hidden-badge-yes.premium-nav-slide .premium-sub-item-badge{display:none}.premium-ham-dropdown .premium-mobile-menu-container,.premium-nav-dropdown .premium-mobile-menu-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-ham-dropdown .premium-toggle-opened .premium-toggle-close,.premium-nav-dropdown .premium-toggle-opened .premium-toggle-close{display:inline!important}.premium-ham-dropdown .premium-toggle-opened .premium-toggle-text,.premium-nav-dropdown .premium-toggle-opened .premium-toggle-text{display:none!important}.premium-stretch-dropdown .premium-mobile-menu-container{position:absolute;z-index:9999}.premium-nav-default{display:none}.premium-hamburger-toggle{width:100%}.premium-menu-link-parent::after,.premium-menu-link-parent::before{display:block;position:absolute;-webkit-transition:all .3s cubic-bezier(.58,.3,.005,1);transition:all .3s cubic-bezier(.58,.3,.005,1)}.premium-nav-pointer-double-line .premium-menu-link-parent::after,.premium-nav-pointer-underline .premium-menu-link-parent::after{content:"";bottom:0}.premium-nav-pointer-double-line .premium-menu-link-parent::before,.premium-nav-pointer-overline .premium-menu-link-parent::before{content:"";top:0}.premium-nav-pointer-double-line .premium-menu-link-parent::after,.premium-nav-pointer-double-line .premium-menu-link-parent::before,.premium-nav-pointer-overline .premium-menu-link-parent::after,.premium-nav-pointer-overline .premium-menu-link-parent::before,.premium-nav-pointer-underline .premium-menu-link-parent::after,.premium-nav-pointer-underline .premium-menu-link-parent::before{height:3px;width:100%;left:0;background-color:#55595c;z-index:2}.premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{opacity:0}.premium-nav-pointer-double-line.premium-nav-animation-none,.premium-nav-pointer-overline.premium-nav-animation-none,.premium-nav-pointer-underline.premium-nav-animation-none{-webkit-transition-duration:0s;transition-duration:0s}.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent,.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent::after,.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent::before,.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent:focus,.premium-nav-pointer-double-line.premium-nav-animation-none .premium-menu-link-parent:hover,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent::after,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent::before,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent:focus,.premium-nav-pointer-overline.premium-nav-animation-none .premium-menu-link-parent:hover,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent::after,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent::before,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent:focus,.premium-nav-pointer-underline.premium-nav-animation-none .premium-menu-link-parent:hover{-webkit-transition-duration:0s;transition-duration:0s}.premium-nav-pointer-double-line.premium-nav-animation-slide .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-underline.premium-nav-animation-slide .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after{width:10px;inset-inline-start:100%}.premium-nav-pointer-double-line.premium-nav-animation-slide .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-overline.premium-nav-animation-slide .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{width:10px;left:-20px}.premium-nav-pointer-double-line.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-double-line.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-overline.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-overline.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-underline.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-underline.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{height:0;width:0;left:50%}.premium-nav-pointer-double-line.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-overline.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-underline.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{top:-10px}.premium-nav-pointer-double-line.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-overline.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-underline.premium-nav-animation-drop-in .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after{bottom:-10px}.premium-nav-pointer-double-line.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-overline.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before,.premium-nav-pointer-underline.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{top:10px}.premium-nav-pointer-double-line.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-overline.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after,.premium-nav-pointer-underline.premium-nav-animation-drop-out .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::after{bottom:10px}.premium-nav-pointer-framed .premium-menu-link-parent::before{content:""}.premium-nav-pointer-framed .premium-menu-link-parent::after,.premium-nav-pointer-framed .premium-menu-link-parent::before{background:0 0;left:0;top:0;bottom:0;right:0;border:3px solid #55595c}.premium-nav-pointer-framed.premium-nav-animation-grow .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{-webkit-transform:scale(.75);-ms-transform:scale(.75);transform:scale(.75)}.premium-nav-pointer-framed.premium-nav-animation-shrink .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{-webkit-transform:scale(1.25);-ms-transform:scale(1.25);transform:scale(1.25)}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent::before{width:3px;height:3px}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent::before{border-width:0 0 3px 3px;-webkit-transition:width .1s .2s,height .1s .3s,opacity .12s .22s;transition:width .1s .2s,height .1s .3s,opacity .12s .22s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent::after{content:"";top:auto;bottom:0;left:auto;right:0;border-width:3px 3px 0 0;-webkit-transition:width .1s,height .1s .1s,opacity 20ms .18s;transition:width .1s,height .1s .1s,opacity 20ms .18s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:focus::before,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:hover::before{-webkit-transition:opacity 20ms,height .1s,width .1s .1s;transition:opacity 20ms,height .1s,width .1s .1s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:focus::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:hover::after{-webkit-transition:opacity 20ms .2s,height .1s .2s,width .1s .3s;transition:opacity 20ms .2s,height .1s .2s,width .1s .3s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:focus::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:focus::before,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:hover::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-menu-link-parent:hover::before{width:100%;height:100%}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-active-item .premium-menu-link-parent::before{-webkit-transition:opacity 20ms,height .1s,width .1s .1s;transition:opacity 20ms,height .1s,width .1s .1s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-active-item .premium-menu-link-parent::after{-webkit-transition:opacity 20ms .2s,height .1s .2s,width .1s .3s;transition:opacity 20ms .2s,height .1s .2s,width .1s .3s}.premium-nav-pointer-framed.premium-nav-animation-draw .premium-active-item .premium-menu-link-parent::after,.premium-nav-pointer-framed.premium-nav-animation-draw .premium-active-item .premium-menu-link-parent::before{width:100%;height:100%}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent::before{border-width:3px 0 0 3px}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent::after{content:"";top:auto;bottom:0;left:auto;right:0;border-width:0 3px 3px 0}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent::after,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent::before{width:3px;height:3px}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent:focus::after,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent:focus::before,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent:hover::after,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-menu-link-parent:hover::before{width:100%;height:100%;-webkit-transition:opacity 2ms,width .4s,height .4s;transition:opacity 2ms,width .4s,height .4s}.premium-nav-pointer-framed.premium-nav-animation-corners .premium-active-item .premium-menu-link-parent::after,.premium-nav-pointer-framed.premium-nav-animation-corners .premium-active-item .premium-menu-link-parent::before{width:100%;height:100%;-webkit-transition:opacity 2ms,width .4s,height .4s;transition:opacity 2ms,width .4s,height .4s}.premium-nav-pointer-text.premium-nav-animation-grow .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-grow .premium-menu-link-parent:hover{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-nav-pointer-text.premium-nav-animation-shrink .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-shrink .premium-menu-link-parent:hover{-webkit-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8)}.premium-nav-pointer-text.premium-nav-animation-sink .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-sink .premium-menu-link-parent:hover{-webkit-transform:translateY(8px);-ms-transform:translateY(8px);transform:translateY(8px)}.premium-nav-pointer-text.premium-nav-animation-float .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-float .premium-menu-link-parent:hover{-webkit-transform:translateY(-8px);-ms-transform:translateY(-8px);transform:translateY(-8px)}.premium-nav-pointer-text.premium-nav-animation-skew .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-skew .premium-menu-link-parent:hover{-webkit-transform:skew(-8deg);-ms-transform:skew(-8deg);transform:skew(-8deg)}.premium-nav-pointer-text.premium-nav-animation-rotate .premium-menu-link-parent:focus,.premium-nav-pointer-text.premium-nav-animation-rotate .premium-menu-link-parent:hover{-webkit-transform:rotate(6deg);-ms-transform:rotate(6deg);transform:rotate(6deg)}.premium-nav-pointer-background .premium-menu-link-parent::before{top:0;left:0;right:0;bottom:0;background:#55595c;background-color:#55595c;z-index:-1}.premium-nav-pointer-background .premium-menu-link-parent::after,.premium-nav-pointer-background .premium-menu-link-parent::before{content:"";-webkit-transition:.3s;transition:.3s}.premium-nav-pointer-background.premium-nav-animation-grow .premium-menu-link-parent::before{-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}.premium-nav-pointer-background.premium-nav-animation-grow .premium-menu-link-parent:focus::before,.premium-nav-pointer-background.premium-nav-animation-grow .premium-menu-link-parent:hover::before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-nav-pointer-background.premium-nav-animation-grow .premium-active-item .premium-menu-link-parent::before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-nav-pointer-background.premium-nav-animation-shrink .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);-webkit-transition:.3;transition:.3}.premium-nav-pointer-background.premium-nav-animation-sweep-left .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{left:100%}.premium-nav-pointer-background.premium-nav-animation-sweep-right .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{right:100%}.premium-nav-pointer-background.premium-nav-animation-sweep-up .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{top:100%}.premium-nav-pointer-background.premium-nav-animation-sweep-down .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{bottom:100%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent::after,.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent::after{top:0;left:0;right:0;bottom:0;background:#55595c;background-color:#55595c;z-index:-1}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent::before{top:0;bottom:100%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent::after{top:100%;bottom:0}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent:focus::before,.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent:hover::before{bottom:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent:focus::after,.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-menu-link-parent:hover::after{top:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-active-item .premium-menu-link-parent::before{bottom:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-vertical .premium-active-item .premium-menu-link-parent::after{top:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-out-vertical .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{bottom:50%;top:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent::before{right:0;left:100%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent::after{right:100%;left:0}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent:focus::before,.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent:hover::before{left:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent:focus::after,.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-menu-link-parent:hover::after{right:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-active-item .premium-menu-link-parent::before{left:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-in-horizontal .premium-active-item .premium-menu-link-parent::after{right:50%}.premium-nav-pointer-background.premium-nav-animation-shutter-out-horizontal .premium-nav-menu-item:not(.premium-active-item) .premium-menu-link-parent:not(:hover):not(:focus)::before{left:50%;right:50%}.premium-active-item::after,.premium-active-item::before,.premium-menu-link-parent:focus::after,.premium-menu-link-parent:focus::before,.premium-menu-link-parent:hover::after,.premium-menu-link-parent:hover::before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-nav-menu-item .premium-mega-content-container,.premium-nav-menu-item .premium-sub-menu{-webkit-transition:.5s all ease-in-out;transition:.5s all ease-in-out;-webkit-transition-delay:.1s;transition-delay:.1s}[class*=premium-nav-slide-].premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-mega-content-container,[class*=premium-nav-slide-].premium-nav-hor:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-sub-menu,[class*=premium-nav-slide-].premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu:hover>.premium-sub-menu,[class*=premium-nav-slide-].premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-mega-content-container,[class*=premium-nav-slide-].premium-nav-ver:not(.premium-hamburger-menu) .premium-nav-menu-item:hover>.premium-sub-menu,[class*=premium-nav-slide-].premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu:hover>.premium-sub-menu{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.premium-nav-slide-up.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-up.premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu,.premium-nav-slide-up.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-up.premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}.premium-nav-slide-down.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-down.premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu,.premium-nav-slide-down.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-down.premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}.premium-nav-slide-right.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-right.premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu,.premium-nav-slide-right.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-right.premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}.premium-nav-slide-left.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-left.premium-nav-hor:not(.premium-hamburger-menu) .premium-sub-menu,.premium-nav-slide-left.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-content-container,.premium-nav-slide-left.premium-nav-ver:not(.premium-hamburger-menu) .premium-sub-menu{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}.premium-nav-slide-up.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static .premium-mega-content-container{-webkit-transform:translateX(-50%) translateY(10px);-ms-transform:translateX(-50%) translateY(10px);transform:translateX(-50%) translateY(10px)}.premium-nav-slide-up.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(-50%) translateY(0);-ms-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.premium-nav-slide-down.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static .premium-mega-content-container{-webkit-transform:translateX(-50%) translateY(-10px);-ms-transform:translateX(-50%) translateY(-10px);transform:translateX(-50%) translateY(-10px)}.premium-nav-slide-down.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(-50%) translateY(0);-ms-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.premium-nav-slide-left.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static .premium-mega-content-container{-webkit-transform:translateX(-45%);-ms-transform:translateX(-45%);transform:translateX(-45%)}.premium-nav-slide-left.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-nav-slide-right.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static .premium-mega-content-container{-webkit-transform:translateX(-55%);-ms-transform:translateX(-55%);transform:translateX(-55%)}.premium-nav-slide-right.premium-nav-hor:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-nav-slide-down.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container,.premium-nav-slide-up.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-nav-slide-left.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container,.premium-nav-slide-right.premium-nav-ver:not(.premium-hamburger-menu) .premium-mega-item-static:hover .premium-mega-content-container{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.premium-person-container{position:relative}.premium-person-image-container{position:relative;text-align:center;overflow:hidden}.premium-person-image-container .premium-person-image-wrap{overflow:hidden}.premium-person-scale-effect .premium-person-image-container img,.premium-person-zoomout-effect .premium-person-image-container img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-person-sepia-effect .premium-person-image-container img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-person-bright-effect .premium-person-image-container img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-person-trans-effect .premium-person-image-container img{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-person-zoomin-effect:hover .premium-person-image-container img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-person-zoomout-effect:hover .premium-person-image-container img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-person-scale-effect:hover .premium-person-image-container img{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-person-grayscale-effect:hover .premium-person-image-container img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-person-blur-effect:hover .premium-person-image-container img{-webkit-filter:blur(3px);filter:blur(3px)}.premium-person-sepia-effect:hover .premium-person-image-container img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-person-bright-effect:hover .premium-person-image-container img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-person-trans-effect:hover .premium-person-image-container img{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-person-container .premium-person-image-container img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.premium-person-style2 .premium-person-social{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-shadow:inset 0 0 120px 0 rgba(0,0,0,.5);box-shadow:inset 0 0 120px 0 rgba(0,0,0,.5);-webkit-transition:all .5s linear 0s;transition:all .5s linear 0s;opacity:0}.premium-person-style2 .premium-person-image-container:hover .premium-person-social{opacity:1}.premium-person-list-item a{display:inline-block}.premium-person-style2 .premium-person-list-item a{opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:all .5s ease-in-out 0s;transition:all .5s ease-in-out 0s}.premium-person-style2 .premium-person-image-container:hover .premium-person-list-item a{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-person-info-container{padding:30px 15px}.premium-person-name{margin:0 0 5px;font-weight:700}.premium-person-title{margin:0 0 20px;padding:0}.premium-person-content{margin:0 0 30px}ul.premium-person-social-list{margin:0!important;padding:0}.premium-person-social-list .premium-person-list-item{display:inline;list-style:none}.premium-person-social-list li{position:relative;bottom:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-person-social-list li i{position:relative;bottom:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.premium-person-defaults-yes li.premium-person-facebook:hover a{background-color:#3b5998!important}.premium-person-defaults-yes li.premium-person-twitter:hover a{background-color:#55acee!important}.premium-person-defaults-yes li.premium-person-linkedin:hover a{background-color:#0077b5!important}.premium-person-defaults-yes li.premium-person-google:hover a{background-color:#dc4e41!important}.premium-person-defaults-yes li.premium-person-youtube:hover a{background-color:#b31217!important}.premium-person-defaults-yes li.premium-person-instagram:hover a{background-color:#e4405f!important}.premium-person-defaults-yes li.premium-person-skype:hover a{background-color:#00aff0!important}.premium-person-defaults-yes li.premium-person-pinterest:hover a{background-color:#bd081c!important}.premium-person-defaults-yes li.premium-person-dribbble:hover a{background-color:#ea4c89!important}.premium-person-defaults-yes li.premium-person-mail:hover a{background-color:#b23121!important}.premium-person-defaults-yes li.premium-person-behance:hover a{background-color:#1769ff!important}.premium-person-defaults-yes li.premium-person-whatsapp:hover a{background-color:#25d366!important}.premium-person-defaults-yes li.premium-person-telegram:hover a{background-color:#08c!important}.premium-person-defaults-yes li.premium-person-site:hover a{background-color:#0055a5!important}.premium-person-social-list li:hover a{-webkit-box-shadow:none;box-shadow:none}.premium-person-social-list li a:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.premium-person-social-list li i{font-size:18px}.elementor-widget-premium-addon-person .elementor-widget-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-persons-container.multiple-persons{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%}.premium-person-style1 .premium-person-container{overflow:hidden}.premium-person-style1 .premium-person-container .premium-person-info{position:absolute;top:auto;right:0;left:0;-webkit-transition:all .5s ease 0s;transition:all .5s ease 0s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.premium-person-style1 .premium-person-container:hover .premium-person-info{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);bottom:-1px!important}.premium-person-style1 .premium-person-social-list li:hover{bottom:5px}.premium-person-style1.multiple-persons:not([data-persons-equal=yes]){-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.premium-person-style1 .slick-track{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-person-style1 .slick-slide{height:inherit!important}.premium-person-style3 .premium-person-info-container{position:absolute;top:0;left:0;width:100%;height:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.premium-person-style3 .premium-person-title-desc-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.premium-person-style3 .premium-person-name-icons-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end}.premium-person-style3 .premium-person-title{opacity:0;-webkit-transition:all .3s ease;transition:all .3s ease;width:0}.premium-person-style3 .premium-person-title span{display:inline-block}.premium-person-style3 .premium-person-name{padding-left:10px}.premium-person-style3 .premium-person-social-list{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);opacity:0;-webkit-transition:all .3s ease;transition:all .3s ease}.premium-person-style3 .premium-person-list-item{line-height:0}.premium-person-style3 .premium-person-list-item a{padding:5px 10px 0 0;margin:5px 0}.premium-person-style3 .premium-person-container:hover .premium-person-title{opacity:1}.premium-person-style3 .premium-person-container:hover .premium-person-social-list{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-persons-title-cw .premium-person-title{-webkit-transform:translateX(15px) rotate(90deg);-ms-transform:translateX(15px) rotate(90deg);transform:translateX(15px) rotate(90deg);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top}.premium-persons-title-cw .premium-person-container:hover .premium-person-title{-webkit-transform:translateX(0) rotate(90deg);-ms-transform:translateX(0) rotate(90deg);transform:translateX(0) rotate(90deg)}.premium-persons-title-ccw .premium-person-title{width:auto;margin-right:20px;-webkit-transform:translateX(15px) rotate(-90deg);-ms-transform:translateX(15px) rotate(-90deg);transform:translateX(15px) rotate(-90deg);-webkit-transform-origin:center right;-ms-transform-origin:center right;transform-origin:center right}.premium-persons-title-ccw .premium-person-container:hover .premium-person-title{-webkit-transform:translateX(0) rotate(-90deg);-ms-transform:translateX(0) rotate(-90deg);transform:translateX(0) rotate(-90deg)}.premium-pricing-table-container{position:relative;text-align:center;display:inline-block;width:100%;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-pricing-icon-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:0}.premium-pricing-icon-container .premium-pricing-icon{display:inline-block}.premium-pricing-icon-container .premium-pricing-image{overflow:hidden}.premium-pricing-icon-container .premium-pricing-image img{width:25px;height:25px;-o-object-fit:cover;object-fit:cover}.premium-badge-left{position:absolute;top:0}.premium-badge-right{position:absolute;top:0;right:0}.premium-badge-left{left:0}.premium-badge-triangle.premium-badge-left .corner{width:0;height:0;border-top:150px solid;border-bottom:150px solid transparent;border-right:150px solid transparent}.premium-badge-triangle.premium-badge-right .corner{width:0;height:0;border-bottom:150px solid transparent;border-right:150px solid;border-left:150px solid transparent}.premium-badge-triangle span{position:absolute;top:35px;width:100px;text-align:center;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);display:block;text-transform:uppercase}.premium-badge-triangle.premium-badge-right span{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);right:0}.premium-badge-circle{min-width:4em;min-height:4em;line-height:4em;text-align:center;-webkit-border-radius:100%;border-radius:100%;position:absolute;z-index:1}.premium-badge-stripe{position:absolute;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);width:15em;overflow:hidden;height:15em}.premium-badge-stripe.premium-badge-left{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.premium-badge-stripe .corner{text-align:center;left:0;width:150%;-webkit-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);-ms-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);margin-top:35px;font-size:13px;line-height:2;font-weight:800;text-transform:uppercase}.premium-badge-flag.premium-badge-right .corner{right:-8px;-webkit-border-radius:4px 4px 0 4px;border-radius:4px 4px 0 4px}.premium-badge-flag.premium-badge-right .corner::after,.premium-badge-flag.premium-badge-right .corner::before{right:0}.premium-badge-flag.premium-badge-left .corner{left:-8px;-webkit-border-radius:4px 4px 4px 0;border-radius:4px 4px 4px 0}.premium-badge-flag.premium-badge-left .corner::after,.premium-badge-flag.premium-badge-left .corner::before{left:0}.premium-badge-flag .corner{text-align:center;padding:3px 15px;position:absolute;top:10%}.premium-badge-flag .corner::after,.premium-badge-flag .corner::before{content:"";display:block;position:absolute;width:0;height:0;top:100%;border-bottom:8px solid transparent}.elementor-widget-premium-addon-pricing-table .elementor-widget-container{overflow:visible!important}.premium-badge-flag.premium-badge-right .corner::after{border-left:8px solid rgba(0,0,0,.2)}.premium-badge-flag.premium-badge-left .corner::before{border-right:8px solid rgba(0,0,0,.2)}.premium-pricing-price-currency{position:relative}.premium-pricing-button-container{display:block}.premium-pricing-list{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;list-style-type:none;margin:0;padding:0}.premium-pricing-list .premium-pricing-list-item{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-pricing-list .premium-pricing-list-item svg{width:50px;height:50px}.premium-pricing-list .premium-pricing-list-item img{width:30px;height:30px;-o-object-fit:cover;object-fit:cover}.premium-pricing-list .premium-pricing-list-span{position:relative}.premium-pricing-list .list-item-tooltip{border-bottom:1px dotted}.premium-pricing-list .premium-pricing-list-tooltip{position:absolute;top:-webkit-calc(100% + 1px);top:calc(100% + 1px);left:0;visibility:hidden;padding:15px 20px;-webkit-border-radius:5px;border-radius:5px;min-width:200px;overflow:hidden;text-align:left;font-size:.8rem;color:#fff;background-color:#aaa}.premium-pricing-features-left .premium-pricing-list-span{text-align:left}.premium-pricing-features-center .premium-pricing-list-span{text-align:center}.premium-pricing-features-right .premium-pricing-list-span{text-align:right}.premium-pricing-list-span:hover .premium-pricing-list-tooltip{z-index:99;visibility:visible;opacity:1}.premium-pricing-slashed-price-value{display:inline-block;font-size:20px;font-weight:400;margin-right:5px}.premium-pricing-price-value{font-size:70px}.premium-pricing-description-container li{list-style-position:inside;text-indent:-40px}@-moz-document url-prefix(){.premium-pricing-description-container li{text-indent:0}}.premium-pricing-price-button{display:block;padding:6px 12px;line-height:1.42857143;text-align:center;color:#fff;background:#6ec1e4;margin-bottom:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-progressbar-container{position:relative}.premium-progressbar-bar-wrap{position:relative;text-align:left;overflow:hidden;height:25px;margin-bottom:50px;background-color:#f5f5f5;-webkit-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.premium-progressbar-bar-wrap.premium-progressbar-dots{background-color:transparent;width:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:auto;-webkit-box-shadow:none;box-shadow:none}.premium-progressbar-bar-wrap .progress-segment{position:relative;width:25px;height:25px;-webkit-border-radius:50%;border-radius:50%;overflow:hidden;background-color:#f5f5f5}.premium-progressbar-bar-wrap .progress-segment.filled{background:#6ec1e4}.premium-progressbar-bar-wrap .progress-segment:not(:first-child):not(:last-child){margin:0 4px}.premium-progressbar-bar-wrap .progress-segment:first-child{margin-right:4px}.premium-progressbar-bar-wrap .progress-segment:last-child{margin-left:4px}.premium-progressbar-bar-wrap .progress-segment .segment-inner{position:absolute;top:0;left:0;height:100%;background-color:#6ec1e4}.premium-progressbar-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;background:#6ec1e4;text-align:center;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15)}.premium-progressbar-striped .premium-progressbar-bar{background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.premium-progressbar-active .premium-progressbar-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.premium-progressbar-gradient .premium-progressbar-bar{-webkit-background-size:400% 400%!important;background-size:400% 400%!important;-webkit-animation:progress-bar-gradient 10s ease-in-out infinite;animation:progress-bar-gradient 10s ease-in-out infinite}.premium-progressbar-bar{position:absolute;overflow:hidden;line-height:20px}.premium-progressbar-container .clearfix{clear:both}.premium-progressbar-bar{-webkit-transition:width 0s ease-in-out!important;transition:width 0s ease-in-out!important}.premium-progressbar-container p:first-of-type{margin:0;float:left}.premium-progressbar-container p:nth-of-type(2){margin:0;float:right}.premium-progressbar-name{left:50%;top:0;right:0;-webkit-transform:translateX(-12.5px);-ms-transform:translateX(-12.5px);transform:translateX(-12.5px);z-index:1}.premium-progressbar-multiple-label{position:relative;float:left;width:0;left:50%}.premium-progressbar-center-label{position:relative;white-space:nowrap}.premium-progressbar-arrow{height:15px;left:50%;display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:11px solid;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.premium-progressbar-pin{border-left:1px solid;height:12px;left:50%;display:inline-block}.premium-progressbar-circle-wrap,.premium-progressbar-hf-circle-wrap{width:200px;height:200px;position:relative;margin:0 auto}.premium-progressbar-circle-wrap .premium-progressbar-circle-content,.premium-progressbar-hf-circle-wrap .premium-progressbar-circle-content{position:absolute;top:0;left:0;width:100%;height:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.premium-progressbar-circle-wrap .premium-lottie-animation,.premium-progressbar-hf-circle-wrap .premium-lottie-animation{line-height:1}.premium-progressbar-circle-wrap .premium-progressbar-circle{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-clip-path:inset(0 0 0 50%);clip-path:inset(0 0 0 50%)}.premium-progressbar-circle-wrap .premium-progressbar-circle div{position:absolute;left:0;top:0;height:100%;width:100%;border-width:6px;border-style:solid;border-color:#54595f;-webkit-border-radius:50%;border-radius:50%;-webkit-clip-path:inset(0 50% 0 0);clip-path:inset(0 50% 0 0)}.premium-progressbar-circle-wrap .premium-progressbar-circle .premium-progressbar-circle-left{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.premium-progressbar-circle-wrap .premium-progressbar-circle .premium-progressbar-circle-right{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);visibility:hidden}.premium-progressbar-circle-wrap .premium-progressbar-circle-base{width:100%;height:100%;border:6px solid #eee;-webkit-border-radius:50%;border-radius:50%}.premium-progressbar-hf-container{position:relative;width:200px;height:200px}.premium-progressbar-hf-circle-wrap{overflow:hidden}.premium-progressbar-hf-circle-wrap .premium-progressbar-left-label{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}.premium-progressbar-hf-circle{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-clip-path:inset(0 0 50% 0);clip-path:inset(0 0 50% 0)}.premium-progressbar-hf-circle-progress{position:absolute;left:0;top:0;height:100%;width:100%;border:12px solid #000;-webkit-border-radius:50%;border-radius:50%;-webkit-clip-path:inset(50% 0 0 0);clip-path:inset(50% 0 0 0);-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform 1.5s linear;transition:-webkit-transform 1.5s linear;transition:transform 1.5s linear;transition:transform 1.5s linear,-webkit-transform 1.5s linear}.premium-progressbar-circle-inner{height:100%;width:100%;border:12px solid #eee;-webkit-border-radius:50%;border-radius:50%}.premium-progressbar-hf-labels{margin:0 auto;position:relative;font-size:12px;font-weight:400;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@-webkit-keyframes progress-bar-gradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes progress-bar-gradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@media (max-width:768px){.premium-progressbar-center-label{-webkit-transform:rotate(-90deg)!important;-ms-transform:rotate(-90deg)!important;transform:rotate(-90deg)!important;-webkit-transform-origin:0;-ms-transform-origin:0;transform-origin:0}}.premium-testimonial-box{width:100%;background:0 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-testimonial-box .premium-testimonial-author-info{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-testimonial-box .premium-testimonial-company-name,.premium-testimonial-box .premium-testimonial-person-name{font-weight:600;margin:0}.premium-testimonial-container{position:relative}.premium-testimonial-img-wrapper{margin-left:auto;margin-right:auto;overflow:hidden;border-style:solid!important}.premium-testimonial-img-wrapper.circle{-webkit-border-radius:50%;border-radius:50%}.premium-testimonial-img-wrapper.rounded{-webkit-border-radius:15px;border-radius:15px}.premium-testimonial-img-wrapper img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%!important}.premium-testimonial-content-wrapper{position:relative;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:2;width:100%;padding:20px;text-align:center}.premium-testimonial-clear-float{clear:both}.premium-testimonial-lower-quote,.premium-testimonial-upper-quote{position:absolute;z-index:1}.premium-title-container .premium-title-header{position:relative;margin:0;padding:10px}.premium-title-container .premium-title-header:not(.premium-title-style7){-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-title-container .premium-title-header svg{width:40px;height:40px}.premium-title-container .premium-title-header img{width:40px;height:40px;-o-object-fit:cover;object-fit:cover}.premium-title-container .premium-title-header a{position:absolute;top:0;left:0;width:100%;height:100%}.premium-title-container .premium-lottie-animation{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-title-icon-row .premium-title-icon{margin-right:10px}.premium-title-icon-row-reverse .premium-title-icon{margin-left:10px}.premium-title-style3,.premium-title-style4{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-title-style1,.premium-title-style2,.premium-title-style5,.premium-title-style6,.premium-title-style8,.premium-title-style9{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}.premium-title-style7{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-title-style7 .premium-title-style7-inner{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-title-style1{border-width:0;border-left:3px solid #6ec1e4}.premium-title-container.style2,.premium-title-container.style4,.premium-title-container.style5,.premium-title-container.style6{border-bottom:3px solid #6ec1e4}.premium-title-style6:before{position:absolute;left:50%;bottom:0;margin-left:-2px;content:"";border:3px solid transparent}.premium-title-style7-stripe-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-title-style7:before{display:none}.premium-title-style8 .premium-title-text[data-animation=shiny]{-webkit-background-size:125px 125px!important;background-size:125px!important;color:rgba(255,255,255,0);-webkit-background-clip:text!important;background-clip:text!important;-webkit-animation-name:pa-shinny-text!important;animation-name:pa-shinny-text!important;-webkit-animation-duration:var(--animation-speed)!important;animation-duration:var(--animation-speed)!important;-webkit-animation-iteration-count:infinite!important;animation-iteration-count:infinite!important;background:var(--base-color) -webkit-gradient(linear,left top,right top,from(var(--base-color)),to(var(--base-color)),color-stop(.5,var(--shiny-color))) 0 0 no-repeat}@-webkit-keyframes pa-shinny-text{0%{background-position:0}100%{background-position:200%}}@keyframes pa-shinny-text{0%{background-position:0}100%{background-position:200%}}.premium-title-style9[data-animation-blur=process] .premium-title-style9-letter{-webkit-animation:pa-blur-shadow 2s 1 alternate;animation:pa-blur-shadow 2s 1 alternate}@-webkit-keyframes pa-blur-shadow{from{text-shadow:0 0 var(--shadow-value) var(--shadow-color);color:transparent}to{text-shadow:0}}@keyframes pa-blur-shadow{from{text-shadow:0 0 var(--shadow-value) var(--shadow-color);color:transparent}to{text-shadow:0}}.premium-title-gradient-yes .premium-title-icon,.premium-title-gradient-yes .premium-title-text{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:-webkit-gradient(linear,left top,right top,from(#ffa648),color-stop(#f17cc1),to(#4da9fd));background-image:-webkit-linear-gradient(left,#ffa648,#f17cc1,#4da9fd);background-image:linear-gradient(to right,#ffa648,#f17cc1,#4da9fd);-webkit-animation:pa-text-gradient 8s infinite;animation:pa-text-gradient 8s infinite}.premium-title-clipped .premium-title-header{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@-webkit-keyframes pa-text-gradient{0%,100%{-webkit-filter:hue-rotate(0);filter:hue-rotate(0)}50%{-webkit-filter:hue-rotate(360deg);filter:hue-rotate(360deg)}}@keyframes pa-text-gradient{0%,100%{-webkit-filter:hue-rotate(0);filter:hue-rotate(0)}50%{-webkit-filter:hue-rotate(360deg);filter:hue-rotate(360deg)}}.premium-video-box-transform{-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.premium-video-box-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-video-box-container>div{position:relative;overflow:hidden}.pa-aspect-ratio-11 .premium-video-box-container>div{padding-bottom:100%}.pa-aspect-ratio-169 .premium-video-box-container>div{padding-bottom:56.25%}.pa-aspect-ratio-43 .premium-video-box-container>div{padding-bottom:75%}.pa-aspect-ratio-32 .premium-video-box-container>div{padding-bottom:66.6666%}.pa-aspect-ratio-219 .premium-video-box-container>div{padding-bottom:42.8571%}.pa-aspect-ratio-916 .premium-video-box-container>div{padding-bottom:177.8%}.premium-video-box-image-container{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;-webkit-background-size:cover;background-size:cover;background-position:50%;cursor:pointer;margin:auto;-webkit-transition:.2s all;transition:.2s all}.premium-video-box-play-icon-container{position:absolute;z-index:2;cursor:pointer;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:rgba(252,252,252,.35)}.premium-video-box-description-container{position:absolute;z-index:2;padding:5px;text-align:center;cursor:pointer;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.premium-video-box-text{margin-bottom:0!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-video-box-play-icon{padding:15px;-webkit-transform:translateX(4%);-ms-transform:translateX(4%);transform:translateX(4%);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vid-lightbox-container,.premium-video-box-video-container{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;-webkit-transition:opacity .8s ease-in-out;transition:opacity .8s ease-in-out;overflow:hidden;cursor:pointer}.premium-video-box-container[data-overlay=true][data-type=self] .premium-video-box-video-container{opacity:0;visibility:hidden}.premium-video-box-video-container iframe{max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none}.premium-video-box-video-container video{max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none;background-color:#000;-o-object-fit:contain;object-fit:contain}.premium-video-box-container .premium-video-box-vimeo-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;z-index:3;margin:10px;margin-right:10px;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out;margin-right:4.6em}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-portrait{width:60px;height:60px;background:rgba(23,35,34,.75);margin-right:1px;-webkit-box-flex:1;-webkit-flex:1 0 auto;-moz-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;padding:0}.premium-video-box-vimeo-portrait img{width:50px;height:50px;margin:5px;padding:0;border:0;-webkit-border-radius:50%;border-radius:50%}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-headers{font-size:10px}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-title{max-width:100%;font-size:2em!important;font-weight:700;margin:0;padding:.1em .2em;background:rgba(23,35,34,.75);display:inline-block;text-transform:none;line-height:normal;letter-spacing:normal}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-byline{font-size:1.2em!important;font-weight:400;color:#fff;margin-top:.1em;padding:.2em .5em;background:rgba(23,35,34,.75);text-transform:none;line-height:normal;letter-spacing:normal}.premium-video-box-playlist-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.premium-video-box-playlist-container .premium-video-box-container{height:100%;overflow:hidden}.premium-video-box-container:hover .premium-video-box-image-container.zoomin{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-video-box-container:hover .premium-video-box-image-container.zoomout{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-video-box-container:hover .premium-video-box-image-container.scale{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-video-box-container:hover .premium-video-box-image-container.gray{-webkit-filter:grayscale(0);filter:grayscale(0)}.premium-video-box-container:hover .premium-video-box-image-container.blur{-webkit-filter:blur(3px);filter:blur(3px)}.premium-video-box-container:hover .premium-video-box-image-container.sepia{-webkit-filter:sepia(0);filter:sepia(0)}.premium-video-box-container:hover .premium-video-box-image-container.trans{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-video-box-container:hover .premium-video-box-image-container.bright{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-video-box-image-container.gray{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-video-box-image-container.scale,.premium-video-box-image-container.zoomout{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-video-box-image-container.sepia{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-video-box-image-container.bright{-webkit-filter:brightness(1);filter:brightness(1)}.premium-video-box-image-container.trans{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-video-box-mask-media{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.premium-video-box-container.premium-video-box-sticky-apply{z-index:99;overflow:unset}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{position:fixed!important;z-index:99999;height:225px;width:400px;background:#fff}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-container:before,.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-vimeo-wrap{visibility:hidden}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap{-webkit-box-shadow:unset;box-shadow:unset}.premium-video-box-sticky-close,.premium-video-box-sticky-infobar{display:none}.premium-video-box-sticky-apply .premium-video-box-sticky-close{position:absolute;padding:5px;cursor:pointer;z-index:99999;height:14px;width:14px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-border-radius:100%;border-radius:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-video-box-sticky-apply .premium-video-box-play-icon-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-video-box-sticky-apply .premium-video-box-play-icon{-webkit-transition:none;transition:none}.premium-video-box-sticky-apply .premium-video-box-sticky-infobar{display:block;position:relative;top:100%;width:100%;padding:5px;text-align:center;z-index:9999;margin-top:-1px}.premium-video-box-sticky-apply .premium-video-box-inner-wrap.ui-draggable{cursor:move}.premium-video-sticky-top-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;top:20px}.premium-video-sticky-bottom-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;bottom:20px}.premium-video-sticky-top-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;top:20px}.premium-video-sticky-bottom-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;bottom:20px}.premium-video-sticky-center-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-video-sticky-center-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-video-sticky-bottom-left .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap,.premium-video-sticky-bottom-right .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap{bottom:55px}.premium-video-sticky-bottom-left .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-center-left .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-top-left .premium-video-box-sticky-apply .premium-video-box-sticky-close{top:-10px;right:-10px}.premium-video-sticky-bottom-right .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-center-right .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-top-right .premium-video-box-sticky-apply .premium-video-box-sticky-close{top:-10px;left:-10px}.premium-video-box-filter-sticky{-webkit-filter:none!important;filter:none!important}.premium-mscroll-yes.elementor-widget-premium-addon-video-box div{cursor:default}.premium-video-box-background{width:100%}.premium-video-box-background+div{position:absolute;width:80%;height:80%;top:0;left:0}.premium-vscroll-inner{position:relative;min-height:100%}.premium-vscroll-inner .premium-vscroll-dots{position:fixed;z-index:100;opacity:1;margin-top:-32px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vscroll-wrap .premium-vscroll-nav-menu{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vscroll-inner .premium-vscroll-dots,.premium-vscroll-wrap .premium-vscroll-dots-hide{opacity:0;visibility:hidden}.premium-vscroll-nav-dots-yes .premium-vscroll-inner .premium-vscroll-dots:not(.premium-vscroll-dots-hide){opacity:1;visibility:visible}.premium-vscroll-dots.middle{top:50%;margin-top:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-vscroll-dots.top{top:40px}.premium-vscroll-dots.bottom{bottom:30px}.premium-vscroll-dots.right{right:17px}.premium-vscroll-dots.left{left:17px}.premium-vscroll-inner ul.premium-vscroll-dots-list,.premium-vscroll-wrap .premium-vscroll-nav-menu{margin:0!important;padding:0}.premium-vscroll-inner ul.premium-vscroll-dots-list li{width:14px;height:13px;margin:7px;position:relative;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;overflow:visible}.premium-vscroll-inner .premium-vscroll-dot-item .premium-vscroll-nav-link{display:block;position:relative;z-index:1;width:100%;height:100%;cursor:pointer;text-decoration:none}.premium-vscroll-inner .premium-vscroll-dot-item .premium-vscroll-nav-link span{top:2px;left:2.5px;width:8px;height:8px;border:1px solid #000;-webkit-border-radius:50%;border-radius:50%;position:absolute;z-index:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vscroll-inner .premium-vscroll-dot-item.active .premium-vscroll-nav-link span{-webkit-transform:scale(1.6);-ms-transform:scale(1.6);transform:scale(1.6)}.premium-vscroll-inner .premium-vscroll-dot-item .premium-vscroll-tooltip{position:absolute;color:#fff;font-size:14px;font-family:arial,helvetica,sans-serif;white-space:nowrap;max-width:220px;padding-left:.4em;padding-right:.4em}.premium-vscroll-inner .premium-vscroll-dots.right .premium-vscroll-tooltip{right:27px}.premium-vscroll-inner .premium-vscroll-dots.lines .premium-vscroll-dot-item{width:4px;height:30px}.premium-vscroll-inner .premium-vscroll-dots.lines .premium-vscroll-dot-item span{width:100%;height:100%;-webkit-border-radius:0;border-radius:0}.premium-vscroll-inner .premium-vscroll-dots.lines .premium-vscroll-dot-item.active span{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-vscroll-inner .premium-vscroll-dots.right .premium-vscroll-tooltip::after{position:absolute;top:50%;content:"";left:-webkit-calc(100% - 1px);left:calc(100% - 1px);width:10px;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-vscroll-inner .premium-vscroll-dots.left .premium-vscroll-tooltip{left:27px}.premium-vscroll-inner .premium-vscroll-dots.left .premium-vscroll-tooltip::after{position:absolute;top:50%;content:"";right:-webkit-calc(100% - 1px);right:calc(100% - 1px);width:10px;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}@media (max-width:768px){.premium-vscroll-dots.right{right:7px}.premium-vscroll-dots.left{left:7px}}.premium-vscroll-nav-menu{position:fixed;top:20px;height:40px;z-index:100;padding:0;margin:0}.premium-vscroll-nav-menu.left{left:0}.premium-vscroll-nav-menu.right{right:0}.premium-vscroll-nav-menu .premium-vscroll-nav-item{display:inline-block;margin:10px;color:#000;background:#fff;background:rgba(255,255,255,.3)}.premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link{padding:9px 18px;display:block;cursor:pointer;color:#000}.premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link:hover{color:#000}.premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link:focus{outline:0}.multiscroll-nav li a:focus{outline:0}.premium-vscroll-temp .slimScrollBar{visibility:hidden}[data-hijacking=off] .premium-vscroll-temp{height:100vh}[data-hijacking=off] .premium-vscroll-temp>div{opacity:0;top:0;left:0;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}[data-hijacking=off] .premium-vscroll-temp:first-of-type>div::before{display:none;position:absolute;width:100%;top:20px;z-index:2}[data-hijacking=off][data-animation=rotate] .premium-vscroll-temp{position:relative;-webkit-perspective:1800px;perspective:1800px}[data-hijacking=off][data-animation=rotate] .premium-vscroll-temp>div{position:absolute;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}[data-hijacking=off][data-animation=rotate] .premium-vscroll-temp:last-of-type>div{opacity:1!important;-webkit-transform:translateY(0) scale(1) rotateX(0)!important;transform:translateY(0) scale(1) rotateX(0)!important}[data-hijacking=off][data-animation=parallax] .premium-vscroll-temp>div{position:fixed}[data-hijacking=off][data-animation=scaleDown] .premium-vscroll-temp>div{position:fixed}[data-hijacking=off] .premium-vscroll-parallax-last{-webkit-transform:translateY(0) scale(1)!important;-ms-transform:translateY(0) scale(1)!important;transform:translateY(0) scale(1)!important}[data-hijacking=off] .premium-vscroll-parallax-position{position:unset!important}.ast-single-post .entry-content .premium-woocommerce a{text-decoration:none}.premium-woocommerce .premium-woo-qv-btn{cursor:pointer}.premium-woocommerce:not(.premium-woo-skin-grid-7) li.product .star-rating{margin:0 auto .5em}.premium-woocommerce:not(.premium-woo-skin-grid-10) .premium-woo-product-featured-wrap .premium-woo-product-featured,.premium-woocommerce:not(.premium-woo-skin-grid-10) .premium-woo-product-sale-wrap .premium-woo-product-onsale{display:block;text-align:center;color:#fff;min-width:2em;min-height:2em;line-height:2em;padding:.3em .6em;margin:.5em .6em}.premium-woocommerce .pa-out-of-stock{display:block;text-align:center;color:#fff;min-width:2em;min-height:2em;line-height:2em;padding:.3em .6em;margin:.5em .6em}.premium-woocommerce .woocommerce-loop-product__title{margin-bottom:.5em;font-size:1em;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce .premium-woo-product-category{display:block;font-size:.85em;margin-bottom:.5em;line-height:1.3}.premium-woocommerce .star-rating{display:block;float:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;position:relative;height:1em;line-height:1;font-size:.857em;width:5.4em;font-family:star}.premium-woocommerce .star-rating::before{content:"\73\73\73\73\73";color:#54595f;float:left;top:0;left:0;position:absolute}.premium-woocommerce .star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}.premium-woocommerce .star-rating span::before{content:"\53\53\53\53\53";color:inherit;top:0;position:absolute;left:0}.premium-woocommerce .premium-woo-products-inner ul.products{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;margin:0;padding:0;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none outside;-webkit-column-gap:0;-moz-column-gap:0;column-gap:0}.premium-woocommerce .premium-woo-products-inner ul.products li.product{margin:0 0 10px;padding:0 10px}.premium-woocommerce .premium-woo-products-inner ul.products li.product .premium-woo-product-wrapper{overflow:hidden;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce .woocommerce-loop-product__link{position:relative;display:block!important;overflow:hidden;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce .pa-out-of-stock,.premium-woocommerce .premium-woo-ribbon-container{position:absolute;z-index:9}.premium-woocommerce .premium-woo-ribbon-container{top:0;left:0}.premium-woocommerce .pa-out-of-stock{top:7px;left:9px;margin:0}.premium-woo-product-thumbnail{position:relative;overflow:hidden}.premium-woo-product-thumbnail .woocommerce-loop-product__link img{margin:0;width:100%}.premium-woo-product-featured-wrap,.premium-woo-product-sale-wrap{margin:0}.premium-woocommerce .premium-woo-products-details-wrap{padding:1em 1.2em}.premium-woocommerce .premium-woo-products-details-wrap .button{display:inline-block;background-color:#6ec1e4;color:#fff;margin:.5em 0;line-height:1.3;padding:10px 40px;font-size:100%;cursor:pointer;text-decoration:none;overflow:visible;font-weight:700;background-image:none;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce li.product .price{display:block;line-height:1.3;font-weight:700;margin-bottom:.5em;font-size:.9em}.premium-woocommerce li.product .price del{display:inline-block;font-weight:400;background:0 0;opacity:1}.premium-woocommerce li.product .price ins{display:inline-block;background:0 0;text-decoration:none;font-weight:inherit}.premium-woocommerce li.product .price .amount{color:inherit!important}.premium-woocommerce li.product .premium-woo-product-desc p{margin:0}.premium-woo-product-align-left .premium-woocommerce li.product .star-rating{margin-left:0;margin-right:auto}.premium-woo-product-align-center .premium-woocommerce li.product .star-rating{margin-left:auto;margin-right:auto}.premium-woo-product-align-right .premium-woocommerce li.product .star-rating{margin-left:auto;margin-right:0}.premium-woo-products-pagination ul.page-numbers{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;list-style-type:none;margin:0;margin-top:10px;padding:0;border:none;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-woo-products-pagination ul.page-numbers li{margin:0 .4em .4em 0;padding:0;text-align:center}.premium-woo-products-pagination ul.page-numbers li .page-numbers{margin:0;text-decoration:none;color:#000;border:1px solid #54595f;padding:0;line-height:1;font-size:1em;font-weight:400;padding:.75em;display:block;min-width:2.5em;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woo-products-pagination ul.page-numbers li .page-numbers.current,.premium-woo-products-pagination ul.page-numbers li .page-numbers:hover{background-color:#54595f;color:#fff;outline:0}.premium-woo-quick-view-loader .premium-loading-feed,.premium-woocommerce .premium-loading-feed{display:block;position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0;background:rgba(255,255,255,.2);-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-woocommerce .woocommerce-loop-product__link img{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woo-product__hover-zoomout .woocommerce-loop-product__link img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-woo-product__hover-zoomout li.product:hover .woocommerce-loop-product__link img{-webkit-transform:none;-ms-transform:none;transform:none}.premium-woo-product__hover-zoomin .woocommerce-loop-product__link img{-webkit-transform:none;-ms-transform:none;transform:none}.premium-woo-product__hover-zoomin li.product:hover .woocommerce-loop-product__link img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-woo-product__hover-gray .woocommerce-loop-product__link img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-woo-product__hover-gray li.product:hover .woocommerce-loop-product__link img{-webkit-filter:grayscale(0);filter:grayscale(0)}.premium-woo-product__hover-sepia .woocommerce-loop-product__link img{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-woo-product__hover-sepia li.product:hover .woocommerce-loop-product__link img{-webkit-filter:sepia(0);filter:sepia(0)}.premium-woo-product__hover-bright .woocommerce-loop-product__link img{-webkit-filter:brightness(1);filter:brightness(1)}.premium-woo-product__hover-bright li.product:hover .woocommerce-loop-product__link img{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-woo-product__hover-trans .woocommerce-loop-product__link img{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-woo-product__hover-trans li.product:hover .woocommerce-loop-product__link img{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-woo-product__hover-scale li.product:hover .woocommerce-loop-product__link img{-webkit-transform:scaleX(1.3) scaleY(1.3) rotate(5deg);-ms-transform:scaleX(1.3) scaleY(1.3) rotate(5deg);transform:scaleX(1.3) scaleY(1.3) rotate(5deg)}.premium-woocommerce .premium-woo-product__on_hover{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;opacity:0}.premium-woo-product__hover-swap li.product:hover .premium-woo-product__on_hover{opacity:1}.premium-woo-skin-grid-1 .premium-woo-qv-btn,.premium-woo-skin-grid-3 .premium-woo-qv-btn,.premium-woo-skin-grid-4 .premium-woo-qv-btn{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:5px;background:rgba(2,2,2,.5);color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;z-index:2;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.premium-woo-skin-grid-4 .premium-woo-qv-btn{-webkit-transition-delay:.1s;transition-delay:.1s}.premium-woo-skin-grid-1 .premium-woo-qv-icon,.premium-woo-skin-grid-3 .premium-woo-qv-icon,.premium-woo-skin-grid-4 .premium-woo-qv-icon,.premium-woo-skin-grid-6 .premium-woo-qv-icon{margin-left:.5em}.premium-woo-product-thumbnail:hover .premium-woo-qv-btn-translate{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.premium-woo-product-wrapper .premium-woo-qv-data{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;cursor:pointer}.premium-woo-skin-grid-1 .premium-woo-product-actions-wrapper,.premium-woo-skin-grid-4 .premium-woo-product-actions-wrapper{position:absolute;top:.7em;right:1em;-webkit-transform:translate3d(15px,0,0);transform:translate3d(15px,0,0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:0;z-index:9}.premium-woocommerce .premium-woo-product-actions-wrapper .premium-woo-cart-btn{position:relative;display:block;margin:0 0 3px;background:#fff;text-align:center;outline:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woocommerce .premium-woo-product-actions-wrapper .premium-woo-add-cart-icon{display:block;color:#54595f;width:30px;line-height:30px;height:30px;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-woo-skin-grid-1 li.product:hover .premium-woo-product-actions-wrapper,.premium-woo-skin-grid-4 li.product:hover .premium-woo-product-actions-wrapper{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0);opacity:1}.premium-woocommerce .premium-woo-cart-btn.adding .premium-woo-add-cart-icon{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.premium-woocommerce .premium-woo-cart-btn.adding .premium-woo-add-cart-icon::before{content:"\f013"}.premium-woocommerce .premium-woo-cart-btn.added .premium-woo-add-cart-icon::before{content:"\f00c"}.premium-woo-skin-grid-2 li.product .premium-woo-products-details-wrap{position:absolute;background:#fff;bottom:0;left:0;width:100%;z-index:2;padding:0;opacity:0;-webkit-transition:opacity .2s,-webkit-transform .4s;transition:opacity .2s,-webkit-transform .4s;transition:transform .4s,opacity .2s;transition:transform .4s,opacity .2s,-webkit-transform .4s;-webkit-transform:translateZ(0) translateY(5px);transform:translateZ(0) translateY(5px)}.premium-woo-skin-grid-2 .premium-woo-product-details{padding:15px 0}.premium-woo-skin-grid-2 li.product:hover .premium-woo-products-details-wrap{opacity:1;-webkit-transform:translateZ(0) translateY(0);transform:translateZ(0) translateY(0)}.premium-woo-skin-grid-2 li.product .premium-woo-product-actions-wrapper{position:static;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.premium-woo-skin-grid-2 .premium-woo-product-actions-wrapper>*{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;min-width:50%}.premium-woo-skin-grid-2 li.product .premium-woo-product-actions-wrapper .button{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;margin:0;text-align:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-woo-skin-grid-2 li.product .premium-woo-product-actions-wrapper .premium-woo-qv-btn{background-color:#54595f}.premium-woo-skin-grid-4 li.product .premium-woo-products-details-wrap{position:absolute;left:0;right:0;top:50%;-webkit-transform:scale(.9) translateZ(0) translateY(-50%);transform:scale(.9) translateZ(0) translateY(-50%);text-align:center;z-index:2;opacity:0;-webkit-transition:opacity .5s,-webkit-transform .3s;transition:opacity .5s,-webkit-transform .3s;transition:opacity .5s,transform .3s;transition:opacity .5s,transform .3s,-webkit-transform .3s}.premium-woo-skin-grid-4 li.product .premium-woo-product-overlay,.premium-woo-skin-grid-8 li.product .premium-woo-product-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;background-color:rgba(27,27,23,.3);-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.premium-woo-skin-grid-4 li.product:hover .premium-woo-product-overlay,.premium-woo-skin-grid-8 li.product:hover .premium-woo-product-overlay{opacity:1;visibility:visible;z-index:1}.premium-woo-skin-grid-4 li.product:hover .premium-woo-products-details-wrap{-webkit-transform:scale(1) translateZ(0) translateY(-50%);transform:scale(1) translateZ(0) translateY(-50%);opacity:1}.premium-woo-skin-grid-5 li.product .premium-woo-product-actions-wrapper{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-woo-skin-grid-5 li.product .premium-woo-product-actions-wrapper .premium-woo-qv-btn{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;background-color:#54595f;padding:10px;-webkit-transition:all .25s ease 0s;transition:all .25s ease 0s}.premium-woo-skin-grid-5 li.product .premium-woo-products-details-wrap{width:75%}.premium-woo-skin-grid-5 .premium-woo-product-wrapper{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-woo-product-align-right .premium-woo-skin-grid-5 .premium-woo-product-actions-wrapper{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.premium-woo-product-align-center .premium-woo-skin-grid-5 .premium-woo-product-actions-wrapper{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-woo-skin-grid-6 .premium-woo-qv-btn{position:absolute;top:50%;left:50%;min-width:40%;text-align:center;padding:5px;background:rgba(2,2,2,.5);color:#fff;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0;visibility:hidden;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;cursor:pointer;z-index:2}.premium-woo-skin-grid-6 li.product:hover .premium-woo-qv-btn{opacity:1;visibility:visible}.premium-woo-product-align-left .premium-woo-skin-grid-6 li.product .premium-woo-product-info .star-rating,.premium-woo-product-align-left .premium-woo-skin-grid-7 li.product .premium-woo-product-info .star-rating,.premium-woo-product-align-right .premium-woo-skin-grid-6 li.product .premium-woo-product-info .star-rating,.premium-woo-product-align-right .premium-woo-skin-grid-7 li.product .premium-woo-product-info .star-rating{margin:0}.premium-woo-skin-grid-6 li.product .premium-woo-product-info{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.premium-woo-product-align-center .premium-woocommerce li.product .premium-woo-product-info{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-woo-product-align-right .premium-woocommerce li.product .premium-woo-product-info{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.premium-woo-skin-grid-6 li.product .premium-woo-product-gallery-images{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;position:absolute;bottom:10px;width:100%;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.premium-woo-product-gallery-images .premium-woo-product__gallery_image{width:20%;margin:0 .2em;border:2px solid #aaa;cursor:pointer}.premium-woo-products-metro li.product .premium-woo-product-thumbnail,.premium-woo-products-metro li.product .premium-woo-product-thumbnail img,.premium-woo-products-metro li.product .premium-woo-product-wrapper,.premium-woo-products-metro li.product .woocommerce-LoopProduct-link{height:100%}.premium-woo-products-metro ul.products li.product{margin-bottom:0}.premium-woo-products-metro li.product .premium-woo-product-thumbnail img{-o-object-fit:cover;object-fit:cover}.premium-carousel-hidden{opacity:0;visibility:hidden}.premium-woocommerce:not(.premium-woo-skin-grid-7) .slick-arrow{-webkit-border-radius:50%;border-radius:50%}.premium-woocommerce ul.slick-dots{width:100%}html.premium-woo-qv-opened,html.premium-woo-qv-opened body{overflow:hidden}.premium-woo-quick-view-back{position:fixed;visibility:hidden;overflow:hidden;background:rgba(2,2,2,.5);opacity:0;-webkit-transition:opacity .25s;transition:opacity .25s;z-index:999}.premium-woo-quick-view-active{top:0;left:0;width:100%;height:100%;opacity:1;visibility:visible}#premium-woo-quick-view-modal{position:fixed;visibility:hidden;opacity:0;top:0;left:0;width:100%;height:100%;z-index:1400;text-align:center;-webkit-transition:all .3s;transition:all .3s;overflow-x:hidden;overflow-y:auto}#premium-woo-quick-view-modal.active{visibility:visible;opacity:1}#premium-woo-quick-view-modal.active .premium-woo-content-main{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);opacity:1;width:100%}#premium-woo-quick-view-modal .premium-woo-content-main-wrapper{position:absolute;width:100%;height:100%;top:0;left:0;text-align:center;padding:30px;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}#premium-woo-quick-view-modal .premium-woo-content-main{position:relative;pointer-events:none;max-width:100%;text-align:left;z-index:1045;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);opacity:0;-webkit-transition:opacity .3s,-webkit-transform .5s;transition:opacity .3s,-webkit-transform .5s;transition:transform .5s,opacity .3s;transition:transform .5s,opacity .3s,-webkit-transform .5s;margin:0 auto}#premium-woo-quick-view-modal .premium-woo-lightbox-content{position:relative;display:table;pointer-events:auto;background-color:#fff;max-width:975px;margin:20px auto;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-box-shadow:3px 3px 20px 0 rgba(0,0,0,.15);box-shadow:3px 3px 20px 0 rgba(0,0,0,.15);overflow:hidden}#premium-woo-quick-view-modal .summary{width:50%;margin:0;padding:30px;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#premium-woo-quick-view-modal .summary .quantity{min-width:auto}#premium-woo-quick-view-modal .summary .quantity input.qty{width:54px;-webkit-appearance:button;-moz-appearance:button;appearance:button}#premium-woo-quick-view-modal .summary .quantity input[type=number]::-webkit-inner-spin-button,#premium-woo-quick-view-modal .summary .quantity input[type=number]::-webkit-outer-spin-button{display:unset}#premium-woo-quick-view-modal .woocommerce-product-details__short-description p{margin:0}#premium-woo-quick-view-close{position:absolute;font-size:22px;top:10px;right:10px;width:22px;height:22px;line-height:22px;opacity:.7;text-align:center;z-index:2;color:#000}#premium-woo-quick-view-modal .premium-woo-qv-image-slider{position:relative}#premium-woo-quick-view-modal .premium-woo-qv-image-slider li{list-style:none}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav{margin:0;padding:0;width:100%;position:absolute;bottom:10px;text-align:center}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav li{margin:0 6px;display:inline-block;vertical-align:middle}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav li a{width:11px;height:11px;display:block;background:#666;background:rgba(0,0,0,.5);cursor:pointer;text-indent:-9999px;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,.3);box-shadow:inset 0 0 3px rgba(0,0,0,.3);-webkit-border-radius:20px;border-radius:20px}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav li a.flex-active{background:rgba(0,0,0,.9);cursor:default}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-control-nav li a:focus{outline:0}#premium-woo-quick-view-modal .premium-woo-qv-image-slider img{-o-object-fit:cover;object-fit:cover;width:100%}#premium-woo-quick-view-content div.images{width:50%;float:left;opacity:1!important;margin:0}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav{margin:0;padding:0;list-style:none}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav a{text-decoration:none;display:block;width:14px;height:32px;font-size:32px;line-height:32px;margin:-20px 0 0;position:absolute;top:50%;z-index:10;overflow:hidden;cursor:pointer;color:rgba(0,0,0,.8);text-shadow:1px 1px 0 rgba(255,255,255,.3);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-next,#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-prev{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-prev{left:10px}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-next{right:10px}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-prev::before{content:"\f104"}#premium-woo-quick-view-modal .premium-woo-qv-image-slider .flex-direction-nav .flex-next::before{content:"\f105"}.premium-woocommerce li.product .added_to_cart.wc-forward{display:none}.premium-woo-atc-button .add_to_cart_button .premium-woo-cart-loader{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;margin-left:5px;vertical-align:baseline}.premium-woo-load-more{position:relative}.premium-woo-load-more .premium-woo-load-more-btn{-webkit-box-shadow:none;box-shadow:none;text-shadow:none;border:none;outline:0;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:bottom;cursor:pointer;line-height:1;font-style:normal;font-weight:400;background-image:none;color:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;padding:10px 20px}.premium-woo-load-more-btn{-js-display:inline-flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-woo-load-more-btn span{margin-right:3px}.premium-woo-load-more-btn .premium-loader{display:inline-block;width:20px;height:20px}.premium-woo-title-above-yes .premium-woo-product__link{opacity:0}@media (min-width:545px){#premium-woo-quick-view-content div.summary{content:"544";overflow-y:auto}}@media (max-width:544px){#premium-woo-quick-view-content .premium-woo-lightbox-content{display:block}#premium-woo-quick-view-content div.images,#premium-woo-quick-view-content div.summary{width:100%;float:none}}.premium-title-bg-text:before{position:absolute;content:attr(data-background);top:0;left:0;text-align:left}.premium-bg-text-yes .elementor-widget-container:before{position:absolute;top:0;left:0;text-align:left}.premium-mask-yes .premium-dual-header-first-clip .premium-dual-header-first-span .premium-mask-span,.premium-mask-yes .premium-dual-header-second-clip .premium-mask-span{background:inherit}.premium-mask-yes .premium-mask-span{position:relative;overflow:hidden;-js-display:inline-flex!important;display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-moz-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.premium-mask-yes .premium-mask-span::after{content:"";position:absolute;top:0;right:0;width:100%;height:100%;background-color:currentColor;-webkit-backface-visibility:visible;backface-visibility:visible}.premium-mask-active.premium-mask-tr .premium-mask-span::after{-webkit-animation:pa-mask-tr 1.7s cubic-bezier(1,0,.18,1) forwards;animation:pa-mask-tr 1.7s cubic-bezier(1,0,.18,1) forwards;-webkit-transform:translateX(-103%);-ms-transform:translateX(-103%);transform:translateX(-103%)}.premium-mask-active.premium-mask-tl .premium-mask-span::after{-webkit-animation:pa-mask-tl 1.7s cubic-bezier(1,0,.18,1) forwards;animation:pa-mask-tl 1.7s cubic-bezier(1,0,.18,1) forwards;-webkit-transform:translateX(103%);-ms-transform:translateX(103%);transform:translateX(103%)}.premium-mask-active.premium-mask-tb .premium-mask-span::after{-webkit-animation:pa-mask-tb 1.7s cubic-bezier(1,0,.18,1) forwards;animation:pa-mask-tb 1.7s cubic-bezier(1,0,.18,1) forwards;-webkit-transform:translateY(-103%);-ms-transform:translateY(-103%);transform:translateY(-103%)}.premium-mask-active.premium-mask-tt .premium-mask-span::after{-webkit-animation:pa-mask-tt 1.7s cubic-bezier(1,0,.18,1) forwards;animation:pa-mask-tt 1.7s cubic-bezier(1,0,.18,1) forwards;-webkit-transform:translateY(103%);-ms-transform:translateY(103%);transform:translateY(103%)}@-webkit-keyframes pa-mask-tr{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(103%);transform:translateX(103%)}}@keyframes pa-mask-tr{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(103%);transform:translateX(103%)}}@-webkit-keyframes pa-mask-tl{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-103%);transform:translateX(-103%)}}@keyframes pa-mask-tl{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-103%);transform:translateX(-103%)}}@-webkit-keyframes pa-mask-tb{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(103%);transform:translateY(103%)}}@keyframes pa-mask-tb{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(103%);transform:translateY(103%)}}@-webkit-keyframes pa-mask-tt{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(-103%);transform:translateY(-103%)}}@keyframes pa-mask-tt{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(-103%);transform:translateY(-103%)}}.premium-button .premium-lottie-animation,.premium-image-button .premium-lottie-animation{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-button svg,.premium-image-button svg{width:30px;height:30px}div[class*=elementor-widget-premium] .premium-btn-block,div[class*=elementor-widget-premium] .premium-btn-lg,div[class*=elementor-widget-premium] .premium-btn-md,div[class*=elementor-widget-premium] .premium-btn-sm{background-color:#eee;color:#042551;margin:0;text-decoration:none}div[class*=elementor-widget-premium] .premium-btn-block:hover,div[class*=elementor-widget-premium] .premium-btn-lg:hover,div[class*=elementor-widget-premium] .premium-btn-md:hover,div[class*=elementor-widget-premium] .premium-btn-sm:hover{background-color:#54595f;color:#eee}div[class*=elementor-widget-premium] .premium-btn-sm{padding:12px 24px;font-size:14px;line-height:1}div[class*=elementor-widget-premium] .premium-btn-md{padding:14px 26px;font-size:16px;line-height:1.2}div[class*=elementor-widget-premium] .premium-btn-lg{padding:16px 28px;font-size:18px;line-height:1.3333}div[class*=elementor-widget-premium] .premium-btn-block{font-size:18px;line-height:1;padding:20px 0;width:100%;text-align:center}.premium-button-text{display:inline-block;width:100%}.premium-mouse-detect-yes .premium-button-style6 .premium-button-style6-bg{position:absolute;z-index:0;top:0;left:0;width:0;height:0;-webkit-border-radius:50%;border-radius:50%;display:block;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:width .4s ease-in-out,height .4s ease-in-out;transition:width .4s ease-in-out,height .4s ease-in-out}.premium-mouse-detect-yes .premium-button-style6:hover .premium-button-style6-bg{width:225%;height:560px}.premium-mouse-detect-yes .premium-button-style6:before{width:0;height:0}.premium-loader{border:3px solid #f3f3f3;border-top-width:3px;border-top-style:solid;border-top-color:#f3f3f3;-webkit-border-radius:50%;border-radius:50%;border-top:3px solid;border-top-color:#bbb;width:30px;height:30px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;margin:0 auto}.premium-svg-drawer *,.premium-svg-nodraw *{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transition-property:stroke,fill,background-color;transition-property:stroke,fill,background-color}.premium-svg-drawer .no-transition,.premium-svg-nodraw .no-transition{-webkit-transition:none!important;transition:none!important}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.premium-error-notice{width:100%;padding:10px;color:#b94a48;background-color:#f2dede;border-color:#eed3d7;text-align:center}
assets/frontend/min-css/premium-video-box.min.css CHANGED
@@ -1 +1 @@
1
- .premium-video-box-transform{-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.premium-video-box-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-video-box-container>div{position:relative;overflow:hidden}.pa-aspect-ratio-11 .premium-video-box-container>div{padding-bottom:100%}.pa-aspect-ratio-169 .premium-video-box-container>div{padding-bottom:56.25%}.pa-aspect-ratio-43 .premium-video-box-container>div{padding-bottom:75%}.pa-aspect-ratio-32 .premium-video-box-container>div{padding-bottom:66.6666%}.pa-aspect-ratio-219 .premium-video-box-container>div{padding-bottom:42.8571%}.pa-aspect-ratio-916 .premium-video-box-container>div{padding-bottom:177.8%}.premium-video-box-image-container{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;-webkit-background-size:cover;background-size:cover;background-position:50%;cursor:pointer;margin:auto;-webkit-transition:.2s all;transition:.2s all}.premium-video-box-play-icon-container{position:absolute;z-index:2;cursor:pointer;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:rgba(252,252,252,.35)}.premium-video-box-description-container{position:absolute;z-index:2;padding:5px;text-align:center;cursor:pointer;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.premium-video-box-text{margin-bottom:0!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-video-box-play-icon{padding:15px;-webkit-transform:translateX(4%);-ms-transform:translateX(4%);transform:translateX(4%);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vid-lightbox-container,.premium-video-box-video-container{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;-webkit-transition:opacity .8s ease-in-out;transition:opacity .8s ease-in-out;overflow:hidden;cursor:pointer}.premium-video-box-container[data-overlay=true][data-type=self] .premium-video-box-video-container{opacity:0;visibility:hidden}.premium-video-box-video-container iframe{max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none}.premium-video-box-video-container video{max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none;background-color:#000;-o-object-fit:contain;object-fit:contain}.premium-video-box-container .premium-video-box-vimeo-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;z-index:3;margin:10px;margin-right:10px;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out;margin-right:4.6em}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-portrait{width:60px;height:60px;background:rgba(23,35,34,.75);margin-right:1px;-webkit-box-flex:1;-webkit-flex:1 0 auto;-moz-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;padding:0}.premium-video-box-vimeo-portrait img{width:50px;height:50px;margin:5px;padding:0;border:0;-webkit-border-radius:50%;border-radius:50%}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-headers{font-size:10px}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-title{max-width:100%;font-size:2em!important;font-weight:700;margin:0;padding:.1em .2em;background:rgba(23,35,34,.75);display:inline-block;text-transform:none;line-height:normal;letter-spacing:normal}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-byline{font-size:1.2em!important;font-weight:400;color:#fff;margin-top:.1em;padding:.2em .5em;background:rgba(23,35,34,.75);text-transform:none;line-height:normal;letter-spacing:normal}.premium-video-box-playlist-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.premium-video-box-playlist-container .premium-video-box-container{height:100%;overflow:hidden}.premium-video-box-container:hover .premium-video-box-image-container.zoomin{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-video-box-container:hover .premium-video-box-image-container.zoomout{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-video-box-container:hover .premium-video-box-image-container.scale{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-video-box-container:hover .premium-video-box-image-container.gray{-webkit-filter:grayscale(0);filter:grayscale(0)}.premium-video-box-container:hover .premium-video-box-image-container.blur{-webkit-filter:blur(3px);filter:blur(3px)}.premium-video-box-container:hover .premium-video-box-image-container.sepia{-webkit-filter:sepia(0);filter:sepia(0)}.premium-video-box-container:hover .premium-video-box-image-container.trans{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-video-box-container:hover .premium-video-box-image-container.bright{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-video-box-image-container.gray{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-video-box-image-container.scale,.premium-video-box-image-container.zoomout{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-video-box-image-container.sepia{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-video-box-image-container.bright{-webkit-filter:brightness(1);filter:brightness(1)}.premium-video-box-image-container.trans{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-video-box-mask-media{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.premium-video-box-container.premium-video-box-sticky-apply{z-index:99;overflow:unset}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{position:fixed!important;z-index:99999;height:225px;width:400px;background:#fff}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-container:before,.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-vimeo-wrap{visibility:hidden}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap{-webkit-box-shadow:unset;box-shadow:unset}.premium-video-box-sticky-close,.premium-video-box-sticky-infobar{display:none}.premium-video-box-sticky-apply .premium-video-box-sticky-close{position:absolute;padding:5px;cursor:pointer;z-index:99999;height:14px;width:14px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-border-radius:100%;border-radius:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-video-box-sticky-apply .premium-video-box-play-icon-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-video-box-sticky-apply .premium-video-box-play-icon{-webkit-transition:none;transition:none}.premium-video-box-sticky-apply .premium-video-box-sticky-infobar{display:block;position:relative;top:100%;width:100%;padding:5px;text-align:center;z-index:9999;margin-top:-1px}.premium-video-box-sticky-apply .premium-video-box-inner-wrap.ui-draggable{cursor:move}.premium-video-sticky-top-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;top:20px}.premium-video-sticky-bottom-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;bottom:20px}.premium-video-sticky-top-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;top:20px}.premium-video-sticky-bottom-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;bottom:20px}.premium-video-sticky-center-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-video-sticky-center-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-video-sticky-bottom-left .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap,.premium-video-sticky-bottom-right .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap{bottom:55px}.premium-video-sticky-bottom-left .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-center-left .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-top-left .premium-video-box-sticky-apply .premium-video-box-sticky-close{top:-10px;right:-10px}.premium-video-sticky-bottom-right .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-center-right .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-top-right .premium-video-box-sticky-apply .premium-video-box-sticky-close{top:-10px;left:-10px}.premium-video-box-filter-sticky{-webkit-filter:none!important;filter:none!important}.premium-mscroll-yes.elementor-widget-premium-addon-video-box div{cursor:default}
1
+ .premium-video-box-transform{-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.premium-video-box-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.premium-video-box-container>div{position:relative;overflow:hidden}.pa-aspect-ratio-11 .premium-video-box-container>div{padding-bottom:100%}.pa-aspect-ratio-169 .premium-video-box-container>div{padding-bottom:56.25%}.pa-aspect-ratio-43 .premium-video-box-container>div{padding-bottom:75%}.pa-aspect-ratio-32 .premium-video-box-container>div{padding-bottom:66.6666%}.pa-aspect-ratio-219 .premium-video-box-container>div{padding-bottom:42.8571%}.pa-aspect-ratio-916 .premium-video-box-container>div{padding-bottom:177.8%}.premium-video-box-image-container{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;-webkit-background-size:cover;background-size:cover;background-position:50%;cursor:pointer;margin:auto;-webkit-transition:.2s all;transition:.2s all}.premium-video-box-play-icon-container{position:absolute;z-index:2;cursor:pointer;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:rgba(252,252,252,.35)}.premium-video-box-description-container{position:absolute;z-index:2;padding:5px;text-align:center;cursor:pointer;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.premium-video-box-text{margin-bottom:0!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-video-box-play-icon{padding:15px;-webkit-transform:translateX(4%);-ms-transform:translateX(4%);transform:translateX(4%);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.premium-vid-lightbox-container,.premium-video-box-video-container{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;-webkit-transition:opacity .8s ease-in-out;transition:opacity .8s ease-in-out;overflow:hidden;cursor:pointer}.premium-video-box-container[data-overlay=true][data-type=self] .premium-video-box-video-container{opacity:0;visibility:hidden}.premium-video-box-video-container iframe{max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none}.premium-video-box-video-container video{max-width:100%;width:100%;height:100%;margin:0;line-height:1;border:none;background-color:#000;-o-object-fit:contain;object-fit:contain}.premium-video-box-container .premium-video-box-vimeo-wrap{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;z-index:3;margin:10px;margin-right:10px;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out;margin-right:4.6em}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-portrait{width:60px;height:60px;background:rgba(23,35,34,.75);margin-right:1px;-webkit-box-flex:1;-webkit-flex:1 0 auto;-moz-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;padding:0}.premium-video-box-vimeo-portrait img{width:50px;height:50px;margin:5px;padding:0;border:0;-webkit-border-radius:50%;border-radius:50%}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-headers{font-size:10px}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-title{max-width:100%;font-size:2em!important;font-weight:700;margin:0;padding:.1em .2em;background:rgba(23,35,34,.75);display:inline-block;text-transform:none;line-height:normal;letter-spacing:normal}.premium-video-box-vimeo-wrap .premium-video-box-vimeo-byline{font-size:1.2em!important;font-weight:400;color:#fff;margin-top:.1em;padding:.2em .5em;background:rgba(23,35,34,.75);text-transform:none;line-height:normal;letter-spacing:normal}.premium-video-box-playlist-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.premium-video-box-playlist-container .premium-video-box-container{height:100%;overflow:hidden}.premium-video-box-container:hover .premium-video-box-image-container.zoomin{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.premium-video-box-container:hover .premium-video-box-image-container.zoomout{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.premium-video-box-container:hover .premium-video-box-image-container.scale{-webkit-transform:scale(1.3) rotate(5deg);-ms-transform:scale(1.3) rotate(5deg);transform:scale(1.3) rotate(5deg)}.premium-video-box-container:hover .premium-video-box-image-container.gray{-webkit-filter:grayscale(0);filter:grayscale(0)}.premium-video-box-container:hover .premium-video-box-image-container.blur{-webkit-filter:blur(3px);filter:blur(3px)}.premium-video-box-container:hover .premium-video-box-image-container.sepia{-webkit-filter:sepia(0);filter:sepia(0)}.premium-video-box-container:hover .premium-video-box-image-container.trans{-webkit-transform:translateX(0) scale(1.1);-ms-transform:translateX(0) scale(1.1);transform:translateX(0) scale(1.1)}.premium-video-box-container:hover .premium-video-box-image-container.bright{-webkit-filter:brightness(1.2);filter:brightness(1.2)}.premium-video-box-image-container.gray{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.premium-video-box-image-container.scale,.premium-video-box-image-container.zoomout{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.premium-video-box-image-container.sepia{-webkit-filter:sepia(30%);filter:sepia(30%)}.premium-video-box-image-container.bright{-webkit-filter:brightness(1);filter:brightness(1)}.premium-video-box-image-container.trans{-webkit-transform:translateX(-15px) scale(1.1);-ms-transform:translateX(-15px) scale(1.1);transform:translateX(-15px) scale(1.1)}.premium-video-box-mask-media{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.premium-video-box-container.premium-video-box-sticky-apply{z-index:99;overflow:unset}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{position:fixed!important;z-index:99999;height:225px;width:400px;background:#fff}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-container:before,.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-vimeo-wrap{visibility:hidden}.premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap{-webkit-box-shadow:unset;box-shadow:unset}.premium-video-box-sticky-close,.premium-video-box-sticky-infobar{display:none}.premium-video-box-sticky-apply .premium-video-box-sticky-close{position:absolute;padding:5px;cursor:pointer;z-index:99999;height:14px;width:14px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-border-radius:100%;border-radius:100%;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.premium-video-box-sticky-apply .premium-video-box-play-icon-container{-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.premium-video-box-sticky-apply .premium-video-box-play-icon{-webkit-transition:none;transition:none}.premium-video-box-sticky-apply .premium-video-box-sticky-infobar{display:block;position:relative;top:100%;width:100%;padding:5px;text-align:center;z-index:9999;margin-top:-1px}.premium-video-box-sticky-apply .premium-video-box-inner-wrap.ui-draggable{cursor:move}.premium-video-sticky-top-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;top:20px}.premium-video-sticky-bottom-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;bottom:20px}.premium-video-sticky-top-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;top:20px}.premium-video-sticky-bottom-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;bottom:20px}.premium-video-sticky-center-left .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{right:auto;left:20px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-video-sticky-center-right .premium-video-box-container.premium-video-box-sticky-apply .premium-video-box-inner-wrap{left:auto;right:20px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.premium-video-sticky-bottom-left .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap,.premium-video-sticky-bottom-right .premium-video-box-sticky-infobar-wrap.premium-video-box-sticky-apply .premium-video-box-inner-wrap{bottom:55px}.premium-video-sticky-bottom-left .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-center-left .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-top-left .premium-video-box-sticky-apply .premium-video-box-sticky-close{top:-10px;right:-10px}.premium-video-sticky-bottom-right .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-center-right .premium-video-box-sticky-apply .premium-video-box-sticky-close,.premium-video-sticky-top-right .premium-video-box-sticky-apply .premium-video-box-sticky-close{top:-10px;left:-10px}.premium-video-box-filter-sticky{-webkit-filter:none!important;filter:none!important}.premium-mscroll-yes.elementor-widget-premium-addon-video-box div{cursor:default}.premium-video-box-background{width:100%}.premium-video-box-background+div{position:absolute;width:80%;height:80%;top:0;left:0}
assets/frontend/min-js/premium-dis-conditions.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(window).on("elementor/frontend/init",function(){var e=(new Date).toString().match(/([A-Z]+[\+-][0-9]+.*)/)[1],t="https:"===document.location.protocol?"secure":"";document.cookie="localTimeZone="+e+";SameSite=Strict;"+t,elementorFrontend.config.post.id&&(document.cookie="isReturningVisitor"+elementorFrontend.config.post.id+"=true;SameSite=Strict;"+t)});
1
+ jQuery(window).on("elementor/frontend/init",function(){var e=(new Date).toString().match(/([A-Z]+[\+-][0-9]+.*)/)[1],t="https:"===document.location.protocol?"secure":"";-1!=e.indexOf("(")&&(e=e.split("(")[0]),document.cookie="localTimeZone="+e+";SameSite=Strict;"+t,elementorFrontend.config.post.id&&(document.cookie="isReturningVisitor"+elementorFrontend.config.post.id+"=true;SameSite=Strict;"+t)});
includes/addons-cross-cp.php CHANGED
@@ -1,216 +1,216 @@
1
- <?php
2
-
3
- namespace PremiumAddons\Includes;
4
-
5
- use Elementor\Utils;
6
- use Elementor\Controls_Stack;
7
-
8
- if ( ! defined( 'WPINC' ) ) {
9
- die;
10
- }
11
-
12
- /*
13
- * Premium Cross Domain Copy Paste Feature
14
- */
15
- if ( ! class_exists( 'Addons_Cross_CP' ) ) {
16
-
17
- /**
18
- * Define Addons_Cross_CP class
19
- */
20
- class Addons_Cross_CP {
21
-
22
- /**
23
- * Class instance
24
- *
25
- * @var instance
26
- */
27
- private static $instance = null;
28
-
29
- /**
30
- * Initalize integration hooks
31
- *
32
- * @return void
33
- */
34
- public function __construct() {
35
- add_action( 'wp_ajax_premium_cross_cp_import', array( $this, 'cross_cp_fetch_content_data' ) );
36
- }
37
-
38
- /**
39
- * Cross copy paste fetch data.
40
- *
41
- * @since 3.21.1
42
- */
43
- public static function cross_cp_fetch_content_data() {
44
-
45
- check_ajax_referer( 'premium_cross_cp_import', 'nonce' );
46
-
47
- if ( ! current_user_can( 'edit_posts' ) ) {
48
- wp_send_json_error(
49
- __( 'Not a valid user', 'premium-addons-for-elementor' ),
50
- 403
51
- );
52
- }
53
-
54
- $media_import = isset( $_POST['copy_content'] ) ? wp_unslash( $_POST['copy_content'] ) : '';
55
-
56
- if ( empty( $media_import ) ) {
57
- wp_send_json_error( __( 'Empty Content.', 'premium-addons-for-elementor' ) );
58
- }
59
-
60
- $media_import = array( json_decode( $media_import, true ) );
61
- $media_import = self::cross_cp_import_elements_ids( $media_import );
62
- $media_import = self::cross_cp_import_copy_content( $media_import );
63
-
64
- wp_send_json_success( $media_import );
65
- }
66
-
67
- /**
68
- * Replace media element id with random id.
69
- *
70
- * @since 3.21.1
71
- *
72
- * @param object $media_import media to import.
73
- */
74
- protected static function cross_cp_import_elements_ids( $media_import ) {
75
-
76
- return \Elementor\Plugin::instance()->db->iterate_data(
77
- $media_import,
78
- function( $element ) {
79
- $element['id'] = Utils::generate_random_string();
80
- return $element;
81
- }
82
- );
83
-
84
- }
85
-
86
- /**
87
- * Media import copy content.
88
- *
89
- * @since 3.21.1
90
- *
91
- * @param object $media_import media to import.
92
- */
93
- protected static function cross_cp_import_copy_content( $media_import ) {
94
-
95
- return \Elementor\Plugin::instance()->db->iterate_data(
96
- $media_import,
97
- function( $element_data ) {
98
- $element = \Elementor\Plugin::instance()->elements_manager->create_element_instance( $element_data );
99
-
100
- // If the widget/element isn't exist, like a plugin that creates a widget but deactivated.
101
- if ( ! $element ) {
102
- return null;
103
- }
104
-
105
- return self::cross_cp_import_element( $element );
106
- }
107
- );
108
-
109
- }
110
-
111
- /**
112
- * Start element copy content for media import.
113
- *
114
- * @since 3.21.1
115
- *
116
- * @param Controls_Stack $element element to import.
117
- */
118
- protected static function cross_cp_import_element( Controls_Stack $element ) {
119
-
120
- $element_data = $element->get_data();
121
- $method = 'on_import';
122
-
123
- if ( method_exists( $element, $method ) ) {
124
- // TODO: Use the internal element data without parameters.
125
- $element_data = $element->{$method}( $element_data );
126
- }
127
-
128
- foreach ( $element->get_controls() as $control ) {
129
- $control_class = \Elementor\Plugin::instance()->controls_manager->get_control( $control['type'] );
130
-
131
- // If the control isn't exist, like a plugin that creates the control but deactivated.
132
- if ( ! $control_class ) {
133
- return $element_data;
134
- }
135
-
136
- if ( method_exists( $control_class, $method ) ) {
137
-
138
- if ( 'media' !== $control['type'] && 'hedia' !== $control['type'] && 'repeater' !== $control['type'] ) {
139
- $element_data['settings'][ $control['name'] ] = $control_class->{$method}( $element->get_settings( $control['name'] ), $control );
140
- } elseif ( 'repeater' === $control['type'] ) {
141
- $element_data['settings'][ $control['name'] ] = self::on_import_repeater( $element->get_settings( $control['name'] ), $control );
142
- } else {
143
- if ( ! empty( $element_data['settings'][ $control['name'] ]['url'] ) ) {
144
- $element_data['settings'][ $control['name'] ] = self::on_import_media( $element->get_settings( $control['name'] ) );
145
- }
146
- }
147
- }
148
- }
149
-
150
- return $element_data;
151
- }
152
-
153
- protected static function on_import_media( $settings ) {
154
-
155
- if ( empty( $settings['url'] ) || false != strpos( $settings['url'], 'placeholder' ) ) {
156
- return $settings;
157
- }
158
-
159
- $settings = \Elementor\Plugin::$instance->templates_manager->get_import_images_instance()->import( $settings );
160
-
161
- return $settings;
162
- }
163
-
164
- protected static function on_import_repeater( $settings, $control_data = array() ) {
165
- if ( empty( $settings ) || empty( $control_data['fields'] ) ) {
166
- return $settings;
167
- }
168
-
169
- $method = 'on_import';
170
-
171
- foreach ( $settings as &$item ) {
172
- foreach ( $control_data['fields'] as $field ) {
173
- if ( empty( $field['name'] ) || empty( $item[ $field['name'] ] ) ) {
174
- continue;
175
- }
176
-
177
- $control_obj = \Elementor\Plugin::$instance->controls_manager->get_control( $field['type'] );
178
-
179
- if ( ! $control_obj ) {
180
- continue;
181
- }
182
-
183
- if ( method_exists( $control_obj, $method ) ) {
184
- if ( 'media' !== $field['type'] && 'hedia' !== $field['type'] ) {
185
- $item[ $field['name'] ] = $control_obj->{$method}( $item[ $field['name'] ], $field );
186
- } else {
187
- if ( ! empty( $item[ $field['name'] ]['url'] ) ) {
188
- $item[ $field['name'] ] = self::on_import_media( $item[ $field['name'] ] );
189
- }
190
- }
191
- }
192
- }
193
- }
194
-
195
- return $settings;
196
- }
197
-
198
- /**
199
- * Returns the instance.
200
- *
201
- * @since 3.21.1
202
- * @return object
203
- *
204
- * @param array $shortcodes shortcodes.
205
- */
206
- public static function get_instance( $shortcodes = array() ) {
207
-
208
- if ( ! isset( self::$instance ) ) {
209
-
210
- self::$instance = new self( $shortcodes );
211
- }
212
-
213
- return self::$instance;
214
- }
215
- }
216
- }
1
+ <?php
2
+
3
+ namespace PremiumAddons\Includes;
4
+
5
+ use Elementor\Utils;
6
+ use Elementor\Controls_Stack;
7
+
8
+ if ( ! defined( 'WPINC' ) ) {
9
+ die;
10
+ }
11
+
12
+ /*
13
+ * Premium Cross Domain Copy Paste Feature
14
+ */
15
+ if ( ! class_exists( 'Addons_Cross_CP' ) ) {
16
+
17
+ /**
18
+ * Define Addons_Cross_CP class
19
+ */
20
+ class Addons_Cross_CP {
21
+
22
+ /**
23
+ * Class instance
24
+ *
25
+ * @var instance
26
+ */
27
+ private static $instance = null;
28
+
29
+ /**
30
+ * Initalize integration hooks
31
+ *
32
+ * @return void
33
+ */
34
+ public function __construct() {
35
+ add_action( 'wp_ajax_premium_cross_cp_import', array( $this, 'cross_cp_fetch_content_data' ) );
36
+ }
37
+
38
+ /**
39
+ * Cross copy paste fetch data.
40
+ *
41
+ * @since 3.21.1
42
+ */
43
+ public static function cross_cp_fetch_content_data() {
44
+
45
+ check_ajax_referer( 'premium_cross_cp_import', 'nonce' );
46
+
47
+ if ( ! current_user_can( 'edit_posts' ) ) {
48
+ wp_send_json_error(
49
+ __( 'Not a valid user', 'premium-addons-for-elementor' ),
50
+ 403
51
+ );
52
+ }
53
+
54
+ $media_import = isset( $_POST['copy_content'] ) ? wp_unslash( $_POST['copy_content'] ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
55
+
56
+ if ( empty( $media_import ) ) {
57
+ wp_send_json_error( __( 'Empty Content.', 'premium-addons-for-elementor' ) );
58
+ }
59
+
60
+ $media_import = array( json_decode( $media_import, true ) );
61
+ $media_import = self::cross_cp_import_elements_ids( $media_import );
62
+ $media_import = self::cross_cp_import_copy_content( $media_import );
63
+
64
+ wp_send_json_success( $media_import );
65
+ }
66
+
67
+ /**
68
+ * Replace media element id with random id.
69
+ *
70
+ * @since 3.21.1
71
+ *
72
+ * @param object $media_import media to import.
73
+ */
74
+ protected static function cross_cp_import_elements_ids( $media_import ) {
75
+
76
+ return \Elementor\Plugin::instance()->db->iterate_data(
77
+ $media_import,
78
+ function( $element ) {
79
+ $element['id'] = Utils::generate_random_string();
80
+ return $element;
81
+ }
82
+ );
83
+
84
+ }
85
+
86
+ /**
87
+ * Media import copy content.
88
+ *
89
+ * @since 3.21.1
90
+ *
91
+ * @param object $media_import media to import.
92
+ */
93
+ protected static function cross_cp_import_copy_content( $media_import ) {
94
+
95
+ return \Elementor\Plugin::instance()->db->iterate_data(
96
+ $media_import,
97
+ function( $element_data ) {
98
+ $element = \Elementor\Plugin::instance()->elements_manager->create_element_instance( $element_data );
99
+
100
+ // If the widget/element isn't exist, like a plugin that creates a widget but deactivated.
101
+ if ( ! $element ) {
102
+ return null;
103
+ }
104
+
105
+ return self::cross_cp_import_element( $element );
106
+ }
107
+ );
108
+
109
+ }
110
+
111
+ /**
112
+ * Start element copy content for media import.
113
+ *
114
+ * @since 3.21.1
115
+ *
116
+ * @param Controls_Stack $element element to import.
117
+ */
118
+ protected static function cross_cp_import_element( Controls_Stack $element ) {
119
+
120
+ $element_data = $element->get_data();
121
+ $method = 'on_import';
122
+
123
+ if ( method_exists( $element, $method ) ) {
124
+ // TODO: Use the internal element data without parameters.
125
+ $element_data = $element->{$method}( $element_data );
126
+ }
127
+
128
+ foreach ( $element->get_controls() as $control ) {
129
+ $control_class = \Elementor\Plugin::instance()->controls_manager->get_control( $control['type'] );
130
+
131
+ // If the control isn't exist, like a plugin that creates the control but deactivated.
132
+ if ( ! $control_class ) {
133
+ return $element_data;
134
+ }
135
+
136
+ if ( method_exists( $control_class, $method ) ) {
137
+
138
+ if ( 'media' !== $control['type'] && 'hedia' !== $control['type'] && 'repeater' !== $control['type'] ) {
139
+ $element_data['settings'][ $control['name'] ] = $control_class->{$method}( $element->get_settings( $control['name'] ), $control );
140
+ } elseif ( 'repeater' === $control['type'] ) {
141
+ $element_data['settings'][ $control['name'] ] = self::on_import_repeater( $element->get_settings( $control['name'] ), $control );
142
+ } else {
143
+ if ( ! empty( $element_data['settings'][ $control['name'] ]['url'] ) ) {
144
+ $element_data['settings'][ $control['name'] ] = self::on_import_media( $element->get_settings( $control['name'] ) );
145
+ }
146
+ }
147
+ }
148
+ }
149
+
150
+ return $element_data;
151
+ }
152
+
153
+ protected static function on_import_media( $settings ) {
154
+
155
+ if ( empty( $settings['url'] ) || false != strpos( $settings['url'], 'placeholder' ) ) {
156
+ return $settings;
157
+ }
158
+
159
+ $settings = \Elementor\Plugin::$instance->templates_manager->get_import_images_instance()->import( $settings );
160
+
161
+ return $settings;
162
+ }
163
+
164
+ protected static function on_import_repeater( $settings, $control_data = array() ) {
165
+ if ( empty( $settings ) || empty( $control_data['fields'] ) ) {
166
+ return $settings;
167
+ }
168
+
169
+ $method = 'on_import';
170
+
171
+ foreach ( $settings as &$item ) {
172
+ foreach ( $control_data['fields'] as $field ) {
173
+ if ( empty( $field['name'] ) || empty( $item[ $field['name'] ] ) ) {
174
+ continue;
175
+ }
176
+
177
+ $control_obj = \Elementor\Plugin::$instance->controls_manager->get_control( $field['type'] );
178
+
179
+ if ( ! $control_obj ) {
180
+ continue;
181
+ }
182
+
183
+ if ( method_exists( $control_obj, $method ) ) {
184
+ if ( 'media' !== $field['type'] && 'hedia' !== $field['type'] ) {
185
+ $item[ $field['name'] ] = $control_obj->{$method}( $item[ $field['name'] ], $field );
186
+ } else {
187
+ if ( ! empty( $item[ $field['name'] ]['url'] ) ) {
188
+ $item[ $field['name'] ] = self::on_import_media( $item[ $field['name'] ] );
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
194
+
195
+ return $settings;
196
+ }
197
+
198
+ /**
199
+ * Returns the instance.
200
+ *
201
+ * @since 3.21.1
202
+ * @return object
203
+ *
204
+ * @param array $shortcodes shortcodes.
205
+ */
206
+ public static function get_instance( $shortcodes = array() ) {
207
+
208
+ if ( ! isset( self::$instance ) ) {
209
+
210
+ self::$instance = new self( $shortcodes );
211
+ }
212
+
213
+ return self::$instance;
214
+ }
215
+ }
216
+ }
includes/addons-integration.php CHANGED
@@ -277,7 +277,7 @@ class Addons_Integration {
277
  include_once PREMIUM_ADDONS_PATH . 'includes/live-editor-modal.php';
278
  $output = ob_get_contents();
279
  ob_end_clean();
280
- echo $output;
281
  }
282
 
283
 
277
  include_once PREMIUM_ADDONS_PATH . 'includes/live-editor-modal.php';
278
  $output = ob_get_contents();
279
  ob_end_clean();
280
+ echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
281
  }
282
 
283
 
includes/class-premium-template-tags.php CHANGED
@@ -556,8 +556,12 @@ class Premium_Template_Tags {
556
 
557
  global $wp_the_query, $paged;
558
 
559
- if ( isset( $_POST['page_number'] ) && '' !== $_POST['page_number'] ) {
560
- return sanitize_text_field( wp_unslash( $_POST['page_number'] ) );
 
 
 
 
561
  }
562
 
563
  // Check the 'paged' query var.
@@ -1210,7 +1214,7 @@ class Premium_Template_Tags {
1210
 
1211
  check_ajax_referer( 'pa-blog-widget-nonce', 'nonce' );
1212
 
1213
- $query_options = isset( $_POST['query_options'] ) ? array_map( 'strip_tags', $_POST['query_options'] ) : '';
1214
 
1215
  $query = new \WP_Query(
1216
  array(
@@ -1583,7 +1587,7 @@ class Premium_Template_Tags {
1583
 
1584
  );
1585
 
1586
- echo $mask_array[ $mask ];
1587
  }
1588
 
1589
 
556
 
557
  global $wp_the_query, $paged;
558
 
559
+ $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : false;
560
+
561
+ if ( $nonce && wp_verify_nonce( $nonce, 'pa-blog-widget-nonce' ) ) {
562
+ if ( isset( $_POST['page_number'] ) && '' !== $_POST['page_number'] ) {
563
+ return sanitize_text_field( wp_unslash( $_POST['page_number'] ) );
564
+ }
565
  }
566
 
567
  // Check the 'paged' query var.
1214
 
1215
  check_ajax_referer( 'pa-blog-widget-nonce', 'nonce' );
1216
 
1217
+ $query_options = isset( $_POST['query_options'] ) ? array_map( 'strip_tags', $_POST['query_options'] ) : ''; // phpcs:ignore
1218
 
1219
  $query = new \WP_Query(
1220
  array(
1587
 
1588
  );
1589
 
1590
+ echo $mask_array[ $mask ]; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1591
  }
1592
 
1593
 
includes/helper-functions.php CHANGED
@@ -766,7 +766,9 @@ class Helper_Functions {
766
  */
767
  public static function get_local_time( $format ) {
768
 
769
- $local_time_zone = isset( $_COOKIE['localTimeZone'] ) && ! empty( $_COOKIE['localTimeZone'] ) ? str_replace( 'GMT ', 'GMT+', $_COOKIE['localTimeZone'] ) : date_default_timezone_get();
 
 
770
 
771
  $today = new \DateTime( 'now', new \DateTimeZone( $local_time_zone ) );
772
 
766
  */
767
  public static function get_local_time( $format ) {
768
 
769
+ $local_time_zone = isset( $_COOKIE['localTimeZone'] ) && ! empty( $_COOKIE['localTimeZone'] ) ?
770
+ str_replace( 'GMT ', 'GMT+', sanitize_text_field( wp_unslash( $_COOKIE['localTimeZone'] ) ) )
771
+ : date_default_timezone_get();
772
 
773
  $today = new \DateTime( 'now', new \DateTimeZone( $local_time_zone ) );
774
 
includes/pa-display-conditions/conditions/ip-location.php CHANGED
@@ -1,100 +1,102 @@
1
- <?php
2
- /**
3
- * IP Location Condition Handler.
4
- */
5
-
6
- namespace PremiumAddons\Includes\PA_Display_Conditions\Conditions;
7
-
8
- // Elementor Classes.
9
- use Elementor\Controls_Manager;
10
-
11
- // PA Classes.
12
- use PremiumAddons\Includes\Helper_Functions;
13
-
14
- if ( ! defined( 'ABSPATH' ) ) {
15
- exit; // Exit if accessed directly.
16
- }
17
-
18
- /**
19
- * Class Ip_Location
20
- */
21
- class Ip_Location extends Condition {
22
-
23
- /**
24
- * Get Controls Options.
25
- *
26
- * @access public
27
- * @since 4.7.0
28
- *
29
- * @return array|void controls options
30
- */
31
- public function get_control_options() {
32
-
33
- $country_list = array();
34
-
35
- $countries = array( 'Afghanistan', 'Albania', 'Algeria', 'American Samoa', 'Andorra', 'Angola', 'Anguilla', 'Antarctica', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivia', 'Bosnia and Herzegowina', 'Botswana', 'Bouvet Island', 'Brazil', 'British Indian Ocean Territory', 'Brunei Darussalam', 'Bulgaria', 'Burkina Faso', 'Burundi', 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Cayman Islands', 'Central African Republic', 'Chad', 'Chile', 'China', 'Christmas Island', 'Cocos (Keeling) Islands', 'Colombia', 'Comoros', 'Congo', 'Congo, the Democratic Republic of the', 'Cook Islands', 'Costa Rica', "Cote d'Ivoire", 'Croatia (Hrvatska)', 'Cuba', 'Cyprus', 'Czech Republic', 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', 'East Timor', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Ethiopia', 'Falkland Islands (Malvinas)', 'Faroe Islands', 'Fiji', 'Finland', 'France', 'France Metropolitan', 'French Guiana', 'French Polynesia', 'French Southern Territories', 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Greece', 'Greenland', 'Grenada', 'Guadeloupe', 'Guam', 'Guatemala', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Heard and Mc Donald Islands', 'Holy See (Vatican City State)', 'Honduras', 'Hong Kong', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran (Islamic Republic of)', 'Iraq', 'Ireland', 'Israel', 'Italy', 'Jamaica', 'Japan', 'Jordan', 'Kazakhstan', 'Kenya', 'Kiribati', "Korea, Democratic People's Republic of", 'Korea, Republic of', 'Kuwait', 'Kyrgyzstan', "Lao, People's Democratic Republic", 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libyan Arab Jamahiriya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Macau', 'Macedonia, The Former Yugoslav Republic of', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Martinique', 'Mauritania', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia, Federated States of', 'Moldova, Republic of', 'Monaco', 'Mongolia', 'Montserrat', 'Morocco', 'Mozambique', 'Myanmar', 'Namibia', 'Nauru', 'Nepal', 'Netherlands', 'Netherlands Antilles', 'New Caledonia', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk Island', 'Northern Mariana Islands', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Pitcairn', 'Poland', 'Portugal', 'Puerto Rico', 'Qatar', 'Reunion', 'Romania', 'Russian Federation', 'Rwanda', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Scotland', 'Senegal', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia (Slovak Republic)', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Georgia and the South Sandwich Islands', 'Spain', 'Sri Lanka', 'St. Helena', 'St. Pierre and Miquelon', 'Sudan', 'Suriname', 'Svalbard and Jan Mayen Islands', 'Swaziland', 'Sweden', 'Switzerland', 'Syrian Arab Republic', 'Taiwan, Province of China', 'Tajikistan', 'Tanzania, United Republic of', 'Thailand', 'Togo', 'Tokelau', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Turks and Caicos Islands', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States', 'United States Minor Outlying Islands', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Venezuela', 'Vietnam', 'Virgin Islands (British)', 'Virgin Islands (U.S.)', 'Wales', 'Wallis and Futuna Islands', 'Western Sahara', 'Yemen', 'Yugoslavia', 'Zambia', 'Zimbabwe' );
36
-
37
- foreach ( $countries as $country ) {
38
- $key = strtolower( $country );
39
- /* translators: %s: Country Name */
40
- $val = sprintf( __( '%s', 'premium-addons-for-elementor' ), ucwords( $country ) );
41
- $country_list[ $key ] = $val;
42
- }
43
-
44
- return array(
45
- 'label' => __( 'Value', 'premium-addons-for-elementor' ),
46
- 'type' => Controls_Manager::SELECT2,
47
- 'label_block' => true,
48
- 'default' => array(),
49
- 'options' => $country_list,
50
- 'multiple' => true,
51
- 'condition' => array(
52
- 'pa_condition_key' => 'ip_location',
53
- ),
54
- );
55
- }
56
-
57
- /**
58
- * Compare Condition Value.
59
- *
60
- * @access public
61
- * @since 4.7.0
62
- *
63
- * @param array $settings element settings.
64
- * @param string $operator condition operator.
65
- * @param string $value condition value.
66
- * @param string $compare_val compare value.
67
- * @param string|bool $tz time zone.
68
- *
69
- * @return bool|void
70
- */
71
- public function compare_value( $settings, $operator, $value, $compare_val, $tz ) {
72
-
73
- if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
74
-
75
- if ( is_array( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
76
-
77
- $http_x_headers = explode( ',', filter_var_array( sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ) );
78
- $_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
79
- } else {
80
- $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
81
- }
82
- }
83
-
84
- $ip_address = isset( $_SERVER['REMOTE_ADDR'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) : '';
85
-
86
- $location_data = unserialize( rplg_urlopen( 'http://www.geoplugin.net/php.gp?ip=' . $ip_address )['data'] );
87
-
88
- if ( 404 === $location_data['geoplugin_status'] ) {
89
- return; // localhost.
90
- }
91
-
92
- $location = strtolower( $location_data['geoplugin_countryName'] );
93
-
94
- $condition_result = is_array( $value ) && ! empty( $value ) ? in_array( $location, $value, true ) : $value === $location;
95
-
96
- return Helper_Functions::get_final_result( $condition_result, $operator );
97
-
98
- }
99
-
100
- }
 
 
1
+ <?php
2
+ /**
3
+ * IP Location Condition Handler.
4
+ */
5
+
6
+ namespace PremiumAddons\Includes\PA_Display_Conditions\Conditions;
7
+
8
+ // Elementor Classes.
9
+ use Elementor\Controls_Manager;
10
+
11
+ // PA Classes.
12
+ use PremiumAddons\Includes\Helper_Functions;
13
+
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit; // Exit if accessed directly.
16
+ }
17
+
18
+ /**
19
+ * Class Ip_Location
20
+ */
21
+ class Ip_Location extends Condition {
22
+
23
+ /**
24
+ * Get Controls Options.
25
+ *
26
+ * @access public
27
+ * @since 4.7.0
28
+ *
29
+ * @return array|void controls options
30
+ */
31
+ public function get_control_options() {
32
+
33
+ $country_list = array();
34
+
35
+ $countries = array( 'Afghanistan', 'Albania', 'Algeria', 'American Samoa', 'Andorra', 'Angola', 'Anguilla', 'Antarctica', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivia', 'Bosnia and Herzegowina', 'Botswana', 'Bouvet Island', 'Brazil', 'British Indian Ocean Territory', 'Brunei Darussalam', 'Bulgaria', 'Burkina Faso', 'Burundi', 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Cayman Islands', 'Central African Republic', 'Chad', 'Chile', 'China', 'Christmas Island', 'Cocos (Keeling) Islands', 'Colombia', 'Comoros', 'Congo', 'Congo, the Democratic Republic of the', 'Cook Islands', 'Costa Rica', "Cote d'Ivoire", 'Croatia (Hrvatska)', 'Cuba', 'Cyprus', 'Czech Republic', 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', 'East Timor', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Ethiopia', 'Falkland Islands (Malvinas)', 'Faroe Islands', 'Fiji', 'Finland', 'France', 'France Metropolitan', 'French Guiana', 'French Polynesia', 'French Southern Territories', 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Greece', 'Greenland', 'Grenada', 'Guadeloupe', 'Guam', 'Guatemala', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Heard and Mc Donald Islands', 'Holy See (Vatican City State)', 'Honduras', 'Hong Kong', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran (Islamic Republic of)', 'Iraq', 'Ireland', 'Israel', 'Italy', 'Jamaica', 'Japan', 'Jordan', 'Kazakhstan', 'Kenya', 'Kiribati', "Korea, Democratic People's Republic of", 'Korea, Republic of', 'Kuwait', 'Kyrgyzstan', "Lao, People's Democratic Republic", 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libyan Arab Jamahiriya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Macau', 'Macedonia, The Former Yugoslav Republic of', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Martinique', 'Mauritania', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia, Federated States of', 'Moldova, Republic of', 'Monaco', 'Mongolia', 'Montserrat', 'Morocco', 'Mozambique', 'Myanmar', 'Namibia', 'Nauru', 'Nepal', 'Netherlands', 'Netherlands Antilles', 'New Caledonia', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk Island', 'Northern Mariana Islands', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Pitcairn', 'Poland', 'Portugal', 'Puerto Rico', 'Qatar', 'Reunion', 'Romania', 'Russian Federation', 'Rwanda', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Scotland', 'Senegal', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia (Slovak Republic)', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Georgia and the South Sandwich Islands', 'Spain', 'Sri Lanka', 'St. Helena', 'St. Pierre and Miquelon', 'Sudan', 'Suriname', 'Svalbard and Jan Mayen Islands', 'Swaziland', 'Sweden', 'Switzerland', 'Syrian Arab Republic', 'Taiwan, Province of China', 'Tajikistan', 'Tanzania, United Republic of', 'Thailand', 'Togo', 'Tokelau', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Turks and Caicos Islands', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States', 'United States Minor Outlying Islands', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Venezuela', 'Vietnam', 'Virgin Islands (British)', 'Virgin Islands (U.S.)', 'Wales', 'Wallis and Futuna Islands', 'Western Sahara', 'Yemen', 'Yugoslavia', 'Zambia', 'Zimbabwe' );
36
+
37
+ foreach ( $countries as $country ) {
38
+ $key = strtolower( $country );
39
+ /* translators: %s: Country Name */
40
+ $val = sprintf( __( '%s', 'premium-addons-for-elementor' ), ucwords( $country ) );
41
+ $country_list[ $key ] = $val;
42
+ }
43
+
44
+ return array(
45
+ 'label' => __( 'Value', 'premium-addons-for-elementor' ),
46
+ 'type' => Controls_Manager::SELECT2,
47
+ 'label_block' => true,
48
+ 'default' => array(),
49
+ 'options' => $country_list,
50
+ 'multiple' => true,
51
+ 'condition' => array(
52
+ 'pa_condition_key' => 'ip_location',
53
+ ),
54
+ );
55
+ }
56
+
57
+ /**
58
+ * Compare Condition Value.
59
+ *
60
+ * @access public
61
+ * @since 4.7.0
62
+ *
63
+ * @param array $settings element settings.
64
+ * @param string $operator condition operator.
65
+ * @param string $value condition value.
66
+ * @param string $compare_val compare value.
67
+ * @param string|bool $tz time zone.
68
+ *
69
+ * @return bool|void
70
+ */
71
+ public function compare_value( $settings, $operator, $value, $compare_val, $tz ) {
72
+
73
+ if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
74
+
75
+ $x_forward = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) );
76
+
77
+ if ( is_array( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
78
+
79
+ $http_x_headers = explode( ',', filter_var_array( $x_forward ) );
80
+ $_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
81
+ } else {
82
+ $_SERVER['REMOTE_ADDR'] = $x_forward;
83
+ }
84
+ }
85
+
86
+ $ip_address = isset( $_SERVER['REMOTE_ADDR'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) : '';
87
+
88
+ $location_data = unserialize( rplg_urlopen( 'http://www.geoplugin.net/php.gp?ip=' . $ip_address )['data'] );
89
+
90
+ if ( 404 === $location_data['geoplugin_status'] ) {
91
+ return; // localhost.
92
+ }
93
+
94
+ $location = strtolower( $location_data['geoplugin_countryName'] );
95
+
96
+ $condition_result = is_array( $value ) && ! empty( $value ) ? in_array( $location, $value, true ) : $value === $location;
97
+
98
+ return Helper_Functions::get_final_result( $condition_result, $operator );
99
+
100
+ }
101
+
102
+ }
includes/pa-display-conditions/conditions/url-referer.php CHANGED
@@ -78,7 +78,10 @@ param2=value2',
78
 
79
  $is_strict = strpos( $param, '=' );
80
  if ( ! $is_strict ) {
81
- $value[ $index ] = $value[ $index ] . '=' . rawurlencode( $_GET[ $param ] );
 
 
 
82
  }
83
  }
84
 
78
 
79
  $is_strict = strpos( $param, '=' );
80
  if ( ! $is_strict ) {
81
+
82
+ $ref = isset( $_GET[ $param ] ) ? sanitize_text_field( wp_unslash( $_GET[ $param ] ) ) : '';
83
+
84
+ $value[ $index ] = $value[ $index ] . '=' . rawurlencode( $ref );
85
  }
86
  }
87
 
includes/pa-nav-menu-walker.php CHANGED
@@ -1,481 +1,481 @@
1
- <?php
2
- /**
3
- * PA Nav Menu Walker.
4
- */
5
-
6
- namespace PremiumAddons\Includes;
7
-
8
- // PA classes.
9
- use PremiumAddons\Includes\Premium_Template_Tags;
10
-
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit; // Exit if accessed directly.
13
- }
14
-
15
- /**
16
- * Class Pa_Nav_Menu_Walker.
17
- */
18
- class Pa_Nav_Menu_Walker extends \Walker_Nav_Menu {
19
-
20
- /**
21
- * Menu Settings.
22
- *
23
- * @var settings
24
- */
25
- private $settings = null;
26
-
27
- /**
28
- * Is mobile menu flag.
29
- *
30
- * @var is_mobile_menu
31
- */
32
- private $is_mobile_menu = null;
33
-
34
-
35
- /**
36
- * Class Constructor.
37
- *
38
- * @param array $widget_settings widget settings.
39
- * @param bool $is_mobile_menu is toggle menu flag.
40
- */
41
- public function __construct( $widget_settings, $is_mobile_menu = false ) {
42
-
43
- $this->settings = $widget_settings;
44
-
45
- $this->is_mobile_menu = $is_mobile_menu;
46
- }
47
-
48
- /**
49
- * Get Item Postmeta data.
50
- *
51
- * @since 4.9.4
52
- * @access public
53
- *
54
- * @param int|string $item_id menu item id.
55
- *
56
- * @return object
57
- */
58
- public function get_item_postmeta( $item_id ) {
59
-
60
- $defauls = array(
61
- 'item_id' => '',
62
- 'item_icon' => '',
63
- 'item_badge' => '',
64
- 'item_depth' => '',
65
- 'item_badge_bg' => '',
66
- 'item_icon_type' => '',
67
- 'item_lottie_url' => '',
68
- 'item_icon_color' => '',
69
- 'item_badge_color' => '',
70
- 'mega_content_pos' => '',
71
- 'mega_content_width' => '',
72
- 'mega_content_enabled' => '',
73
- 'full_width_mega_content' => '',
74
- );
75
-
76
- $item_meta = array_merge( $defauls, (array) json_decode( get_post_meta( $item_id, 'pa_megamenu_item_meta', true ) ) );
77
-
78
- return (object) $item_meta;
79
- }
80
-
81
- /**
82
- * Get Mega Content ID.
83
- * Retrieves mega content id from postmeta table.
84
- *
85
- * @access public
86
- * @since 4.9.4
87
- *
88
- * @param string $item_id menu item id.
89
- *
90
- * @return string
91
- */
92
- public function get_mega_content_id( $item_id ) {
93
- return get_post_meta( $item_id, 'pa_mega_content_temp', true );
94
- }
95
-
96
- /**
97
- * Get default submenu icon.
98
- *
99
- * @access public
100
- * @since 4.9.18
101
- *
102
- * @param string $layout main menu layout.
103
- *
104
- * @return string
105
- */
106
- public function get_default_submenu_icon() {
107
-
108
- // toggle menu icon.
109
- if ( $this->is_mobile_menu ) {
110
- return 'fas fa-angle-down';
111
- }
112
-
113
- $icon = 'fas fa-angle-right';
114
- $layout = $this->settings['pa_nav_menu_layout'];
115
-
116
- switch ( $layout ) {
117
- case 'hor':
118
- if ( is_rtl() ) {
119
- $icon = 'fas fa-angle-left';
120
- }
121
- break;
122
-
123
- case 'slide':
124
- case 'dropdown':
125
- $icon = 'fas fa-angle-down';
126
- break;
127
-
128
- case 'ver':
129
- $icon = 'fas fa-angle-' . $this->settings['pa_nav_ver_submenu'];
130
- break;
131
- }
132
-
133
- return $icon;
134
- }
135
-
136
- /**
137
- * Starts the list before the elements are added.
138
- *
139
- * @since 3.0.0
140
- *
141
- * @see Walker::start_lvl()
142
- *
143
- * @param string $output Used to append additional content (passed by reference).
144
- * @param int $depth Depth of menu item. Used for padding.
145
- * @param stdClass $args An object of wp_nav_menu() arguments.
146
- */
147
- public function start_lvl( &$output, $depth = 0, $args = null ) {
148
- if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
149
- $t = '';
150
- $n = '';
151
- } else {
152
- $t = "\t";
153
- $n = "\n";
154
- }
155
-
156
- $indent = str_repeat( $t, $depth );
157
-
158
- $classes = array( 'premium-sub-menu' );
159
-
160
- /**
161
- * Filters the CSS class(es) applied to a menu list element.
162
- *
163
- * @since 4.8.0
164
- *
165
- * @param string[] $classes Array of the CSS classes that are applied to the menu `<ul>` element.
166
- * @param stdClass $args An object of `wp_nav_menu()` arguments.
167
- * @param int $depth Depth of menu item. Used for padding.
168
- */
169
- $class_names = implode( ' ', apply_filters( 'nav_menu_submenu_css_class', $classes, $args, $depth ) );
170
- $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
171
-
172
- $output .= "{$n}{$indent}<ul$class_names>{$n}";
173
- }
174
-
175
- /**
176
- * Ends the list of after the elements are added.
177
- *
178
- * @since 3.0.0
179
- *
180
- * @see Walker::end_lvl()
181
- *
182
- * @param string $output Used to append additional content (passed by reference).
183
- * @param int $depth Depth of menu item. Used for padding.
184
- * @param stdClass $args An object of wp_nav_menu() arguments.
185
- */
186
- public function end_lvl( &$output, $depth = 0, $args = null ) {
187
- if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
188
- $t = '';
189
- $n = '';
190
- } else {
191
- $t = "\t";
192
- $n = "\n";
193
- }
194
- $indent = str_repeat( $t, $depth );
195
- $output .= "$indent</ul>{$n}";
196
- }
197
-
198
- /**
199
- * Starts the element output.
200
- *
201
- * @since 3.0.0
202
- * @since 4.4.0 The {@see 'nav_menu_item_args'} filter was added.
203
- * @since 5.9.0 Renamed `$item` to `$data_object` and `$id` to `$current_object_id`
204
- * to match parent class for PHP 8 named parameter support.
205
- *
206
- * @see Walker::start_el()
207
- *
208
- * @param string $output Used to append additional content (passed by reference).
209
- * @param WP_Post $data_object Menu item data object.
210
- * @param int $depth Depth of menu item. Used for padding.
211
- * @param stdClass $args An object of wp_nav_menu() arguments.
212
- * @param int $current_object_id Optional. ID of the current menu item. Default 0.
213
- */
214
- public function start_el( &$output, $data_object, $depth = 0, $args = array(), $current_object_id = 0 ) {
215
-
216
- $settings = $this->settings;
217
-
218
- // Restores the more descriptive, specific name for use within this method.
219
- $menu_item = $data_object;
220
-
221
- if ( is_null( $menu_item ) ) {
222
- return;
223
- }
224
-
225
- $item_meta = $this->get_item_postmeta( $menu_item->ID );
226
-
227
- if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
228
- $t = '';
229
- $n = '';
230
- } else {
231
- $t = "\t";
232
- $n = "\n";
233
- }
234
-
235
- $indent = ( $depth ) ? str_repeat( $t, $depth ) : '';
236
-
237
- $classes = empty( $menu_item->classes ) ? array() : (array) $menu_item->classes; // has default classes.
238
-
239
- $classes[] = 'premium-nav-menu-item'; // add our own class too.
240
-
241
- if ( 0 < $depth ) {
242
- $classes[] = 'premium-sub-menu-item';
243
- }
244
-
245
- if ( 'true' == $item_meta->mega_content_enabled ) {
246
- $classes[] = 'premium-mega-nav-item';
247
-
248
- if ( 'default' === $item_meta->mega_content_pos ) {
249
- $classes[] = 'premium-mega-item-static';
250
- }
251
- }
252
-
253
- // we can later add other classes here based on the user settings.
254
- if ( in_array( 'current-menu-item', $classes, true ) ) {
255
- $classes[] = 'premium-active-item';
256
- }
257
-
258
- /**
259
- * Filters the arguments for a single nav menu item.
260
- *
261
- * @since 4.4.0
262
- *
263
- * @param stdClass $args An object of wp_nav_menu() arguments.
264
- * @param WP_Post $menu_item Menu item data object.
265
- * @param int $depth Depth of menu item. Used for padding.
266
- */
267
- $args = apply_filters( 'nav_menu_item_args', $args, $menu_item, $depth ); // default fitler.
268
-
269
- /**
270
- * Filters the CSS classes applied to a menu item's list item element.
271
- *
272
- * @since 3.0.0
273
- * @since 4.1.0 The `$depth` parameter was added.
274
- *
275
- * @param string[] $classes Array of the CSS classes that are applied to the menu item's `<li>` element.
276
- * @param WP_Post $menu_item The current menu item object.
277
- * @param stdClass $args An object of wp_nav_menu() arguments.
278
- * @param int $depth Depth of menu item. Used for padding.
279
- */
280
- $class_names = implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $menu_item, $args, $depth ) );
281
- $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
282
-
283
- /**
284
- * Filters the ID applied to a menu item's list item element.
285
- *
286
- * @since 3.0.1
287
- * @since 4.1.0 The `$depth` parameter was added.
288
- *
289
- * @param string $menu_id The ID that is applied to the menu item's `<li>` element.
290
- * @param WP_Post $menu_item The current menu item.
291
- * @param stdClass $args An object of wp_nav_menu() arguments.
292
- * @param int $depth Depth of menu item. Used for padding.
293
- */
294
- $id = apply_filters( 'nav_menu_item_id', 'premium-nav-menu-item-' . $menu_item->ID, $menu_item, $args, $depth ); // change the default id.
295
- $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
296
-
297
- $full_width = 'true' == $item_meta->full_width_mega_content ? ' data-full-width="true"' : '';
298
-
299
- $output .= $indent . '<li' . $id . $class_names . $full_width . '>';
300
- // link attributes.
301
- $atts = array();
302
- $atts['title'] = ! empty( $menu_item->attr_title ) ? $menu_item->attr_title : '';
303
- $atts['target'] = ! empty( $menu_item->target ) ? $menu_item->target : '';
304
-
305
- if ( '_blank' === $menu_item->target && empty( $menu_item->xfn ) ) {
306
-
307
- $atts['rel'] = 'noopener';
308
- } else {
309
-
310
- $atts['rel'] = $menu_item->xfn;
311
- }
312
-
313
- $atts['href'] = ! empty( $menu_item->url ) ? $menu_item->url : '';
314
- $atts['aria-current'] = $menu_item->current ? 'page' : '';
315
-
316
- /**
317
- * Page-Transition Experiment Fix.
318
- * add elementor's custom attribute to Toggle menu links
319
- * && if the element has sub|mega menu.
320
- */
321
- $is_parent = in_array( 'menu-item-has-children', $classes, true ) || 'true' == $item_meta->mega_content_enabled;
322
- $is_toggle = in_array( $settings['pa_nav_menu_layout'], array( 'dropdown', 'slide' ), true ) || wp_is_mobile();
323
-
324
- if ( $is_toggle && $is_parent ) {
325
- $atts['data-e-disable-page-transition'] = 'true';
326
- }
327
-
328
- /**
329
- * Filters the HTML attributes applied to a menu item's anchor element.
330
- *
331
- * @since 3.6.0
332
- * @since 4.1.0 The `$depth` parameter was added.
333
- *
334
- * @param array $atts {
335
- * The HTML attributes applied to the menu item's `<a>` element, empty strings are ignored.
336
- *
337
- * @type string $title Title attribute.
338
- * @type string $target Target attribute.
339
- * @type string $rel The rel attribute.
340
- * @type string $href The href attribute.
341
- * @type string $aria-current The aria-current attribute.
342
- * }
343
- * @param WP_Post $menu_item The current menu item object.
344
- * @param stdClass $args An object of wp_nav_menu() arguments.
345
- * @param int $depth Depth of menu item. Used for padding.
346
- */
347
- $atts = apply_filters( 'nav_menu_link_attributes', $atts, $menu_item, $args, $depth );
348
-
349
- // add our own class.
350
- if ( empty( $atts['class'] ) ) {
351
- $atts['class'] = 'premium-menu-link';
352
- } else {
353
- $atts['class'] .= ' premium-menu-link';
354
- }
355
-
356
- if ( 0 == $depth ) {
357
- $atts['class'] .= ' premium-menu-link-parent';
358
- }
359
-
360
- $dropdown_icon = '';
361
-
362
- $dropdown_icon_class = '';
363
- $item_icon = '';
364
- $item_badge = '';
365
- $icon_class = 0 < $depth ? ' premium-sub-item-icon' : ' premium-item-icon';
366
- $badge_class = 0 < $depth ? 'premium-sub-item-badge' : 'premium-item-badge';
367
-
368
- if ( in_array( 'menu-item-has-children', $classes, true ) || 'true' == $item_meta->mega_content_enabled ) {
369
-
370
- // $dropdown_icon_class = 0 === $depth ? $settings['submenu_icon']['value'] : 'fas fa-angle-right';
371
- $dropdown_icon_class = 0 === $depth ? $settings['submenu_icon']['value'] : $this->get_default_submenu_icon();
372
- $dropdown_icon_class .= ' premium-dropdown-icon';
373
-
374
- $dropdown_icon = sprintf( '<i class="%1$s"></i>', $dropdown_icon_class );
375
- }
376
-
377
- // add item icon.
378
- if ( 'icon' === $item_meta->item_icon_type && ! empty( $item_meta->item_icon ) ) {
379
- $item_icon = sprintf( '<i class="%1$s" style="color:%2$s"></i>', $item_meta->item_icon . $icon_class, $item_meta->item_icon_color );
380
- } elseif ( 'lottie' === $item_meta->item_icon_type && ! empty( $item_meta->item_lottie_url ) ) {
381
- $item_icon = sprintf( '<div class="%1$s" data-lottie-url="%2$s" data-lottie-loop="true"></div>', $icon_class . ' premium-lottie-animation', $item_meta->item_lottie_url );
382
- }
383
-
384
- // add item badge.
385
- if ( ! empty( $item_meta->item_badge ) ) {
386
- $item_badge = sprintf( '<span class="%1$s" style="color:%2$s; background-color:%3$s;">%4$s</span>', $badge_class, $item_meta->item_badge_color, $item_meta->item_badge_bg, $item_meta->item_badge );
387
- }
388
-
389
- if ( 0 < $depth ) {
390
- $atts['class'] .= ' premium-sub-menu-link';
391
- }
392
-
393
- $attributes = '';
394
- foreach ( $atts as $attr => $value ) {
395
- if ( is_scalar( $value ) && '' !== $value && false !== $value ) {
396
- $value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
397
- $attributes .= ' ' . $attr . '="' . $value . '"';
398
- }
399
- }
400
-
401
- /** This filter is documented in wp-includes/post-template.php */
402
- $title = apply_filters( 'the_title', $menu_item->title, $menu_item->ID );
403
-
404
- /**
405
- * Filters a menu item's title.
406
- *
407
- * @since 4.4.0
408
- *
409
- * @param string $title The menu item's title.
410
- * @param WP_Post $menu_item The current menu item object.
411
- * @param stdClass $args An object of wp_nav_menu() arguments.
412
- * @param int $depth Depth of menu item. Used for padding.
413
- */
414
- $title = apply_filters( 'nav_menu_item_title', $title, $menu_item, $args, $depth );
415
-
416
- $item_output = $args->before;
417
- $item_output .= '<a' . $attributes . '>';
418
- $item_output .= $args->link_before . $item_icon . $title . $dropdown_icon . $item_badge . $args->link_after;
419
- $item_output .= '</a>';
420
- $item_output .= $args->after;
421
-
422
- /**
423
- * Filters a menu item's starting output.
424
- *
425
- * The menu item's starting output only includes `$args->before`, the opening `<a>`,
426
- * the menu item's title, the closing `</a>`, and `$args->after`. Currently, there is
427
- * no filter for modifying the opening and closing `<li>` for a menu item.
428
- *
429
- * @since 3.0.0
430
- *
431
- * @param string $item_output The menu item's starting HTML output.
432
- * @param WP_Post $menu_item Menu item data object.
433
- * @param int $depth Depth of menu item. Used for padding.
434
- * @param stdClass $args An object of wp_nav_menu() arguments.
435
- */
436
- $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $menu_item, $depth, $args );
437
- }
438
-
439
- /**
440
- * Ends the element output, if needed.
441
- *
442
- * @since 3.0.0
443
- * @since 5.9.0 Renamed `$item` to `$data_object` to match parent class for PHP 8 named parameter support.
444
- *
445
- * @see Walker::end_el()
446
- *
447
- * @param string $output Used to append additional content (passed by reference).
448
- * @param WP_Post $data_object Menu item data object. Not used.
449
- * @param int $depth Depth of page. Not Used.
450
- * @param stdClass $args An object of wp_nav_menu() arguments.
451
- */
452
- public function end_el( &$output, $data_object, $depth = 0, $args = null ) {
453
-
454
- /**
455
- * Add mega content to main nav menu items only.
456
- */
457
- if ( 0 === $depth ) {
458
-
459
- $item_meta = $this->get_item_postmeta( $data_object->ID );
460
-
461
- if ( 'true' == $item_meta->mega_content_enabled && class_exists( 'Elementor\Plugin' ) ) {
462
-
463
- $temp_id = $this->get_mega_content_id( $data_object->ID );
464
- $temp_instance = Premium_Template_Tags::getInstance();
465
- $content = $temp_instance->get_template_content( $temp_id, true );
466
- $style = 'width:' . $item_meta->mega_content_width;
467
- $output .= sprintf( '<div id="premium-mega-content-%1$s" class="premium-mega-content-container" style="%2$s">%3$s</div>', $data_object->ID, $style, $content );
468
- }
469
- }
470
-
471
- if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
472
- $t = '';
473
- $n = '';
474
- } else {
475
- $t = "\t";
476
- $n = "\n";
477
- }
478
-
479
- $output .= "</li>{$n}";
480
- }
481
- }
1
+ <?php
2
+ /**
3
+ * PA Nav Menu Walker.
4
+ */
5
+
6
+ namespace PremiumAddons\Includes;
7
+
8
+ // PA classes.
9
+ use PremiumAddons\Includes\Premium_Template_Tags;
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
+ exit; // Exit if accessed directly.
13
+ }
14
+
15
+ /**
16
+ * Class Pa_Nav_Menu_Walker.
17
+ */
18
+ class Pa_Nav_Menu_Walker extends \Walker_Nav_Menu {
19
+
20
+ /**
21
+ * Menu Settings.
22
+ *
23
+ * @var settings
24
+ */
25
+ private $settings = null;
26
+
27
+ /**
28
+ * Is mobile menu flag.
29
+ *
30
+ * @var is_mobile_menu
31
+ */
32
+ private $is_mobile_menu = null;
33
+
34
+
35
+ /**
36
+ * Class Constructor.
37
+ *
38
+ * @param array $widget_settings widget settings.
39
+ * @param bool $is_mobile_menu is toggle menu flag.
40
+ */
41
+ public function __construct( $widget_settings, $is_mobile_menu = false ) {
42
+
43
+ $this->settings = $widget_settings;
44
+
45
+ $this->is_mobile_menu = $is_mobile_menu;
46
+ }
47
+
48
+ /**
49
+ * Get Item Postmeta data.
50
+ *
51
+ * @since 4.9.4
52
+ * @access public
53
+ *
54
+ * @param int|string $item_id menu item id.
55
+ *
56
+ * @return object
57
+ */
58
+ public function get_item_postmeta( $item_id ) {
59
+
60
+ $defauls = array(
61
+ 'item_id' => '',
62
+ 'item_icon' => '',
63
+ 'item_badge' => '',
64
+ 'item_depth' => '',
65
+ 'item_badge_bg' => '',
66
+ 'item_icon_type' => '',
67
+ 'item_lottie_url' => '',
68
+ 'item_icon_color' => '',
69
+ 'item_badge_color' => '',
70
+ 'mega_content_pos' => '',
71
+ 'mega_content_width' => '',
72
+ 'mega_content_enabled' => '',
73
+ 'full_width_mega_content' => '',
74
+ );
75
+
76
+ $item_meta = array_merge( $defauls, (array) json_decode( get_post_meta( $item_id, 'pa_megamenu_item_meta', true ) ) );
77
+
78
+ return (object) $item_meta;
79
+ }
80
+
81
+ /**
82
+ * Get Mega Content ID.
83
+ * Retrieves mega content id from postmeta table.
84
+ *
85
+ * @access public
86
+ * @since 4.9.4
87
+ *
88
+ * @param string $item_id menu item id.
89
+ *
90
+ * @return string
91
+ */
92
+ public function get_mega_content_id( $item_id ) {
93
+ return get_post_meta( $item_id, 'pa_mega_content_temp', true );
94
+ }
95
+
96
+ /**
97
+ * Get default submenu icon.
98
+ *
99
+ * @access public
100
+ * @since 4.9.18
101
+ *
102
+ * @param string $layout main menu layout.
103
+ *
104
+ * @return string
105
+ */
106
+ public function get_default_submenu_icon() {
107
+
108
+ // toggle menu icon.
109
+ if ( $this->is_mobile_menu ) {
110
+ return 'fas fa-angle-down';
111
+ }
112
+
113
+ $icon = 'fas fa-angle-right';
114
+ $layout = $this->settings['pa_nav_menu_layout'];
115
+
116
+ switch ( $layout ) {
117
+ case 'hor':
118
+ if ( is_rtl() ) {
119
+ $icon = 'fas fa-angle-left';
120
+ }
121
+ break;
122
+
123
+ case 'slide':
124
+ case 'dropdown':
125
+ $icon = 'fas fa-angle-down';
126
+ break;
127
+
128
+ case 'ver':
129
+ $icon = 'fas fa-angle-' . $this->settings['pa_nav_ver_submenu'];
130
+ break;
131
+ }
132
+
133
+ return $icon;
134
+ }
135
+
136
+ /**
137
+ * Starts the list before the elements are added.
138
+ *
139
+ * @since 3.0.0
140
+ *
141
+ * @see Walker::start_lvl()
142
+ *
143
+ * @param string $output Used to append additional content (passed by reference).
144
+ * @param int $depth Depth of menu item. Used for padding.
145
+ * @param stdClass $args An object of wp_nav_menu() arguments.
146
+ */
147
+ public function start_lvl( &$output, $depth = 0, $args = null ) {
148
+ if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
149
+ $t = '';
150
+ $n = '';
151
+ } else {
152
+ $t = "\t";
153
+ $n = "\n";
154
+ }
155
+
156
+ $indent = str_repeat( $t, $depth );
157
+
158
+ $classes = array( 'premium-sub-menu' );
159
+
160
+ /**
161
+ * Filters the CSS class(es) applied to a menu list element.
162
+ *
163
+ * @since 4.8.0
164
+ *
165
+ * @param string[] $classes Array of the CSS classes that are applied to the menu `<ul>` element.
166
+ * @param stdClass $args An object of `wp_nav_menu()` arguments.
167
+ * @param int $depth Depth of menu item. Used for padding.
168
+ */
169
+ $class_names = implode( ' ', apply_filters( 'nav_menu_submenu_css_class', $classes, $args, $depth ) );
170
+ $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
171
+
172
+ $output .= "{$n}{$indent}<ul$class_names>{$n}";
173
+ }
174
+
175
+ /**
176
+ * Ends the list of after the elements are added.
177
+ *
178
+ * @since 3.0.0
179
+ *
180
+ * @see Walker::end_lvl()
181
+ *
182
+ * @param string $output Used to append additional content (passed by reference).
183
+ * @param int $depth Depth of menu item. Used for padding.
184
+ * @param stdClass $args An object of wp_nav_menu() arguments.
185
+ */
186
+ public function end_lvl( &$output, $depth = 0, $args = null ) {
187
+ if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
188
+ $t = '';
189
+ $n = '';
190
+ } else {
191
+ $t = "\t";
192
+ $n = "\n";
193
+ }
194
+ $indent = str_repeat( $t, $depth );
195
+ $output .= "$indent</ul>{$n}";
196
+ }
197
+
198
+ /**
199
+ * Starts the element output.
200
+ *
201
+ * @since 3.0.0
202
+ * @since 4.4.0 The {@see 'nav_menu_item_args'} filter was added.
203
+ * @since 5.9.0 Renamed `$item` to `$data_object` and `$id` to `$current_object_id`
204
+ * to match parent class for PHP 8 named parameter support.
205
+ *
206
+ * @see Walker::start_el()
207
+ *
208
+ * @param string $output Used to append additional content (passed by reference).
209
+ * @param WP_Post $data_object Menu item data object.
210
+ * @param int $depth Depth of menu item. Used for padding.
211
+ * @param stdClass $args An object of wp_nav_menu() arguments.
212
+ * @param int $current_object_id Optional. ID of the current menu item. Default 0.
213
+ */
214
+ public function start_el( &$output, $data_object, $depth = 0, $args = array(), $current_object_id = 0 ) {
215
+
216
+ $settings = $this->settings;
217
+
218
+ // Restores the more descriptive, specific name for use within this method.
219
+ $menu_item = $data_object;
220
+
221
+ if ( is_null( $menu_item ) ) {
222
+ return;
223
+ }
224
+
225
+ $item_meta = $this->get_item_postmeta( $menu_item->ID );
226
+
227
+ if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
228
+ $t = '';
229
+ $n = '';
230
+ } else {
231
+ $t = "\t";
232
+ $n = "\n";
233
+ }
234
+
235
+ $indent = ( $depth ) ? str_repeat( $t, $depth ) : '';
236
+
237
+ $classes = empty( $menu_item->classes ) ? array() : (array) $menu_item->classes; // has default classes.
238
+
239
+ $classes[] = 'premium-nav-menu-item'; // add our own class too.
240
+
241
+ if ( 0 < $depth ) {
242
+ $classes[] = 'premium-sub-menu-item';
243
+ }
244
+
245
+ if ( 'true' == $item_meta->mega_content_enabled ) {
246
+ $classes[] = 'premium-mega-nav-item';
247
+
248
+ if ( 'default' === $item_meta->mega_content_pos ) {
249
+ $classes[] = 'premium-mega-item-static';
250
+ }
251
+ }
252
+
253
+ // we can later add other classes here based on the user settings.
254
+ if ( in_array( 'current-menu-item', $classes, true ) ) {
255
+ $classes[] = 'premium-active-item';
256
+ }
257
+
258
+ /**
259
+ * Filters the arguments for a single nav menu item.
260
+ *
261
+ * @since 4.4.0
262
+ *
263
+ * @param stdClass $args An object of wp_nav_menu() arguments.
264
+ * @param WP_Post $menu_item Menu item data object.
265
+ * @param int $depth Depth of menu item. Used for padding.
266
+ */
267
+ $args = apply_filters( 'nav_menu_item_args', $args, $menu_item, $depth ); // default fitler.
268
+
269
+ /**
270
+ * Filters the CSS classes applied to a menu item's list item element.
271
+ *
272
+ * @since 3.0.0
273
+ * @since 4.1.0 The `$depth` parameter was added.
274
+ *
275
+ * @param string[] $classes Array of the CSS classes that are applied to the menu item's `<li>` element.
276
+ * @param WP_Post $menu_item The current menu item object.
277
+ * @param stdClass $args An object of wp_nav_menu() arguments.
278
+ * @param int $depth Depth of menu item. Used for padding.
279
+ */
280
+ $class_names = implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $menu_item, $args, $depth ) );
281
+ $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
282
+
283
+ /**
284
+ * Filters the ID applied to a menu item's list item element.
285
+ *
286
+ * @since 3.0.1
287
+ * @since 4.1.0 The `$depth` parameter was added.
288
+ *
289
+ * @param string $menu_id The ID that is applied to the menu item's `<li>` element.
290
+ * @param WP_Post $menu_item The current menu item.
291
+ * @param stdClass $args An object of wp_nav_menu() arguments.
292
+ * @param int $depth Depth of menu item. Used for padding.
293
+ */
294
+ $id = apply_filters( 'nav_menu_item_id', 'premium-nav-menu-item-' . $menu_item->ID, $menu_item, $args, $depth ); // change the default id.
295
+ $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
296
+
297
+ $full_width = 'true' == $item_meta->full_width_mega_content ? ' data-full-width="true"' : '';
298
+
299
+ $output .= $indent . '<li' . $id . $class_names . $full_width . '>';
300
+ // link attributes.
301
+ $atts = array();
302
+ $atts['title'] = ! empty( $menu_item->attr_title ) ? $menu_item->attr_title : '';
303
+ $atts['target'] = ! empty( $menu_item->target ) ? $menu_item->target : '';
304
+
305
+ if ( '_blank' === $menu_item->target && empty( $menu_item->xfn ) ) {
306
+
307
+ $atts['rel'] = 'noopener';
308
+ } else {
309
+
310
+ $atts['rel'] = $menu_item->xfn;
311
+ }
312
+
313
+ $atts['href'] = ! empty( $menu_item->url ) ? $menu_item->url : '';
314
+ $atts['aria-current'] = $menu_item->current ? 'page' : '';
315
+
316
+ /**
317
+ * Page-Transition Experiment Fix.
318
+ * add elementor's custom attribute to Toggle menu links
319
+ * && if the element has sub|mega menu.
320
+ */
321
+ $is_parent = in_array( 'menu-item-has-children', $classes, true ) || 'true' == $item_meta->mega_content_enabled;
322
+ $is_toggle = in_array( $settings['pa_nav_menu_layout'], array( 'dropdown', 'slide' ), true ) || wp_is_mobile();
323
+
324
+ if ( $is_toggle && $is_parent ) {
325
+ $atts['data-e-disable-page-transition'] = 'true';
326
+ }
327
+
328
+ /**
329
+ * Filters the HTML attributes applied to a menu item's anchor element.
330
+ *
331
+ * @since 3.6.0
332
+ * @since 4.1.0 The `$depth` parameter was added.
333
+ *
334
+ * @param array $atts {
335
+ * The HTML attributes applied to the menu item's `<a>` element, empty strings are ignored.
336
+ *
337
+ * @type string $title Title attribute.
338
+ * @type string $target Target attribute.
339
+ * @type string $rel The rel attribute.
340
+ * @type string $href The href attribute.
341
+ * @type string $aria-current The aria-current attribute.
342
+ * }
343
+ * @param WP_Post $menu_item The current menu item object.
344
+ * @param stdClass $args An object of wp_nav_menu() arguments.
345
+ * @param int $depth Depth of menu item. Used for padding.
346
+ */
347
+ $atts = apply_filters( 'nav_menu_link_attributes', $atts, $menu_item, $args, $depth );
348
+
349
+ // add our own class.
350
+ if ( empty( $atts['class'] ) ) {
351
+ $atts['class'] = 'premium-menu-link';
352
+ } else {
353
+ $atts['class'] .= ' premium-menu-link';
354
+ }
355
+
356
+ if ( 0 == $depth ) {
357
+ $atts['class'] .= ' premium-menu-link-parent';
358
+ }
359
+
360
+ $dropdown_icon = '';
361
+
362
+ $dropdown_icon_class = '';
363
+ $item_icon = '';
364
+ $item_badge = '';
365
+ $icon_class = 0 < $depth ? ' premium-sub-item-icon' : ' premium-item-icon';
366
+ $badge_class = 0 < $depth ? 'premium-sub-item-badge' : 'premium-item-badge';
367
+
368
+ if ( in_array( 'menu-item-has-children', $classes, true ) || 'true' == $item_meta->mega_content_enabled ) {
369
+
370
+ // $dropdown_icon_class = 0 === $depth ? $settings['submenu_icon']['value'] : 'fas fa-angle-right';
371
+ $dropdown_icon_class = 0 === $depth ? $settings['submenu_icon']['value'] : $this->get_default_submenu_icon();
372
+ $dropdown_icon_class .= ' premium-dropdown-icon';
373
+
374
+ $dropdown_icon = sprintf( '<i class="%1$s"></i>', $dropdown_icon_class );
375
+ }
376
+
377
+ // add item icon.
378
+ if ( 'icon' === $item_meta->item_icon_type && ! empty( $item_meta->item_icon ) ) {
379
+ $item_icon = sprintf( '<i class="%1$s" style="color:%2$s"></i>', $item_meta->item_icon . $icon_class, $item_meta->item_icon_color );
380
+ } elseif ( 'lottie' === $item_meta->item_icon_type && ! empty( $item_meta->item_lottie_url ) ) {
381
+ $item_icon = sprintf( '<div class="%1$s" data-lottie-url="%2$s" data-lottie-loop="true"></div>', $icon_class . ' premium-lottie-animation', $item_meta->item_lottie_url );
382
+ }
383
+
384
+ // add item badge.
385
+ if ( ! empty( $item_meta->item_badge ) ) {
386
+ $item_badge = sprintf( '<span class="%1$s" style="color:%2$s; background-color:%3$s;">%4$s</span>', $badge_class, $item_meta->item_badge_color, $item_meta->item_badge_bg, $item_meta->item_badge );
387
+ }
388
+
389
+ if ( 0 < $depth ) {
390
+ $atts['class'] .= ' premium-sub-menu-link';
391
+ }
392
+
393
+ $attributes = '';
394
+ foreach ( $atts as $attr => $value ) {
395
+ if ( is_scalar( $value ) && '' !== $value && false !== $value ) {
396
+ $value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
397
+ $attributes .= ' ' . $attr . '="' . $value . '"';
398
+ }
399
+ }
400
+
401
+ /** This filter is documented in wp-includes/post-template.php */
402
+ $title = apply_filters( 'the_title', $menu_item->title, $menu_item->ID );
403
+
404
+ /**
405
+ * Filters a menu item's title.
406
+ *
407
+ * @since 4.4.0
408
+ *
409
+ * @param string $title The menu item's title.
410
+ * @param WP_Post $menu_item The current menu item object.
411
+ * @param stdClass $args An object of wp_nav_menu() arguments.
412
+ * @param int $depth Depth of menu item. Used for padding.
413
+ */
414
+ $title = apply_filters( 'nav_menu_item_title', $title, $menu_item, $args, $depth );
415
+
416
+ $item_output = $args->before;
417
+ $item_output .= '<a' . $attributes . '>';
418
+ $item_output .= $args->link_before . $item_icon . $title . $dropdown_icon . $item_badge . $args->link_after;
419
+ $item_output .= '</a>';
420
+ $item_output .= $args->after;
421
+
422
+ /**
423
+ * Filters a menu item's starting output.
424
+ *
425
+ * The menu item's starting output only includes `$args->before`, the opening `<a>`,
426
+ * the menu item's title, the closing `</a>`, and `$args->after`. Currently, there is
427
+ * no filter for modifying the opening and closing `<li>` for a menu item.
428
+ *
429
+ * @since 3.0.0
430
+ *
431
+ * @param string $item_output The menu item's starting HTML output.
432
+ * @param WP_Post $menu_item Menu item data object.
433
+ * @param int $depth Depth of menu item. Used for padding.
434
+ * @param stdClass $args An object of wp_nav_menu() arguments.
435
+ */
436
+ $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $menu_item, $depth, $args );
437
+ }
438
+
439
+ /**
440
+ * Ends the element output, if needed.
441
+ *
442
+ * @since 3.0.0
443
+ * @since 5.9.0 Renamed `$item` to `$data_object` to match parent class for PHP 8 named parameter support.
444
+ *
445
+ * @see Walker::end_el()
446
+ *
447
+ * @param string $output Used to append additional content (passed by reference).
448
+ * @param WP_Post $data_object Menu item data object. Not used.
449
+ * @param int $depth Depth of page. Not Used.
450
+ * @param stdClass $args An object of wp_nav_menu() arguments.
451
+ */
452
+ public function end_el( &$output, $data_object, $depth = 0, $args = null ) {
453
+
454
+ /**
455
+ * Add mega content to main nav menu items only.
456
+ */
457
+ if ( 0 === $depth ) {
458
+
459
+ $item_meta = $this->get_item_postmeta( $data_object->ID );
460
+
461
+ if ( 'true' == $item_meta->mega_content_enabled && class_exists( 'Elementor\Plugin' ) ) {
462
+
463
+ $temp_id = $this->get_mega_content_id( $data_object->ID );
464
+ $temp_instance = Premium_Template_Tags::getInstance();
465
+ $content = $temp_instance->get_template_content( $temp_id, true );
466
+ $style = 'width:' . $item_meta->mega_content_width;
467
+ $output .= sprintf( '<div id="premium-mega-content-%1$s" class="premium-mega-content-container" style="%2$s">%3$s</div>', $data_object->ID, $style, $content );
468
+ }
469
+ }
470
+
471
+ if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
472
+ $t = '';
473
+ $n = '';
474
+ } else {
475
+ $t = "\t";
476
+ $n = "\n";
477
+ }
478
+
479
+ $output .= "</li>{$n}";
480
+ }
481
+ }
includes/templates/classes/assets.php CHANGED
@@ -170,7 +170,7 @@ if ( ! class_exists( 'Premium_Templates_Assets' ) ) {
170
  $name = basename( $file, '.php' );
171
  ob_start();
172
  include $file;
173
- printf( '<script type="text/html" id="tmpl-premium-%1$s">%2$s</script>', $name, ob_get_clean() );
174
 
175
  },
176
  $scripts
170
  $name = basename( $file, '.php' );
171
  ob_start();
172
  include $file;
173
+ printf( '<script type="text/html" id="tmpl-premium-%1$s">%2$s</script>', $name, ob_get_clean() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
174
 
175
  },
176
  $scripts
includes/templates/classes/manager.php CHANGED
@@ -152,7 +152,7 @@ if ( ! class_exists( 'Premium_Templates_Manager' ) ) {
152
  wp_send_json_error();
153
  }
154
 
155
- $tab = $_GET['tab'];
156
  $tabs = $this->get_template_tabs();
157
  $sources = $tabs[ $tab ]['sources'];
158
 
@@ -202,7 +202,7 @@ if ( ! class_exists( 'Premium_Templates_Manager' ) ) {
202
  wp_send_json_error();
203
  }
204
 
205
- $template = isset( $_REQUEST['template'] ) ? $_REQUEST['template'] : false;
206
 
207
  if ( ! $template ) {
208
  wp_send_json_error();
@@ -248,12 +248,13 @@ if ( ! class_exists( 'Premium_Templates_Manager' ) ) {
248
  */
249
  public function register_ajax_actions( $ajax_manager ) {
250
 
251
- if ( ! isset( $_POST['actions'] ) ) {
252
  return;
253
  }
254
 
255
- $actions = json_decode( stripslashes( $_REQUEST['actions'] ), true );
256
- $data = false;
 
257
 
258
  foreach ( $actions as $id => $action_data ) {
259
  if ( ! isset( $action_data['get_template_data'] ) ) {
152
  wp_send_json_error();
153
  }
154
 
155
+ $tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : '';
156
  $tabs = $this->get_template_tabs();
157
  $sources = $tabs[ $tab ]['sources'];
158
 
202
  wp_send_json_error();
203
  }
204
 
205
+ $template = isset( $_REQUEST['template'] ) ? filter_var_array( wp_unslash( $_REQUEST['template'] ), FILTER_SANITIZE_STRING ) : false; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
206
 
207
  if ( ! $template ) {
208
  wp_send_json_error();
248
  */
249
  public function register_ajax_actions( $ajax_manager ) {
250
 
251
+ if ( ! isset( $_REQUEST['actions'] ) ) {
252
  return;
253
  }
254
 
255
+ $actions = json_decode( wp_unslash( $_REQUEST['actions'] ), true ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
256
+
257
+ $data = false;
258
 
259
  foreach ( $actions as $id => $action_data ) {
260
  if ( ! isset( $action_data['get_template_data'] ) ) {
includes/templates/sources/base.php CHANGED
@@ -1,359 +1,363 @@
1
- <?php
2
-
3
- namespace PremiumAddons\Includes\Templates\Sources;
4
-
5
- if ( ! defined( 'ABSPATH' ) ) {
6
- exit; // Exit if accessed directly.
7
- }
8
-
9
- abstract class Premium_Templates_Source_Base {
10
-
11
- /**
12
- * @abstract
13
- * @since 3.6.0
14
- * @access public
15
- */
16
- abstract public function get_slug();
17
-
18
- /**
19
- * @abstract
20
- * @since 3.6.0
21
- * @access public
22
- */
23
- abstract public function get_items();
24
-
25
- /**
26
- * @abstract
27
- * @since 3.6.0
28
- * @access public
29
- */
30
- abstract public function get_categories();
31
-
32
- /**
33
- * Return source item list
34
- *
35
- * @since 3.6.0
36
- * @access public
37
- */
38
- abstract public function get_keywords();
39
-
40
- /**
41
- * @abstract
42
- * @since 3.6.0
43
- * @access public
44
- */
45
- abstract public function get_item( $template_id );
46
-
47
- /**
48
- * @abstract
49
- * @since 3.6.0
50
- * @access public
51
- */
52
- abstract public function transient_lifetime();
53
-
54
- /**
55
- * Returns templates transient key for current source
56
- *
57
- * @return string
58
- */
59
- public function templates_key() {
60
- return 'premium_templates_' . $this->get_slug() . '_1.0.0';
61
- }
62
-
63
- /**
64
- * Returns categories transient key for current source
65
- *
66
- * @return string
67
- */
68
- public function categories_key() {
69
- return 'premium_categories_' . $this->get_slug() . '_1.0.0';
70
- }
71
-
72
- /**
73
- * Returns keywords transient key for current source
74
- *
75
- * @return string
76
- */
77
- public function keywords_key() {
78
- return 'premium_keywords_' . $this->get_slug() . '_1.0.0';
79
- }
80
-
81
- /**
82
- * Set templates cache.
83
- *
84
- * @param array $value
85
- */
86
- public function set_templates_cache( $value ) {
87
-
88
- $localhost = array(
89
- '127.0.0.1',
90
- '::1',
91
- );
92
-
93
- // Load templates remotely if localhost.
94
- if ( ! in_array( $_SERVER['REMOTE_ADDR'], $localhost ) ) {
95
- set_transient( $this->templates_key(), $value, $this->transient_lifetime() );
96
- }
97
- }
98
-
99
- /**
100
- * Set templates cache.
101
- */
102
- public function get_templates_cache() {
103
-
104
- // if ( $this->is_debug_active() ) {
105
- // return false;
106
- // }
107
-
108
- return get_transient( $this->templates_key() );
109
- }
110
-
111
- /**
112
- * Delete templates cache
113
- */
114
- public function delete_templates_cache() {
115
- delete_transient( $this->templates_key() );
116
- }
117
-
118
- /**
119
- * Set categories cache.
120
- */
121
- public function set_categories_cache( $value ) {
122
- set_transient( $this->categories_key(), $value, $this->transient_lifetime() );
123
- }
124
-
125
- /**
126
- * Set categories cache.
127
- *
128
- * @param array $value
129
- */
130
- public function get_categories_cache() {
131
-
132
- // if ( $this->is_debug_active() ) {
133
- // return false;
134
- // }
135
-
136
- return get_transient( $this->categories_key() );
137
- }
138
-
139
- /**
140
- * Delete categories cache
141
- *
142
- * @return [type] [description]
143
- */
144
- public function delete_categories_cache() {
145
- delete_transient( $this->categories_key() );
146
- }
147
-
148
- /**
149
- * Set categories cache.
150
- *
151
- * @param array $value cached value.
152
- */
153
- public function set_keywords_cache( $value ) {
154
- set_transient( $this->keywords_key(), $value, $this->transient_lifetime() );
155
- }
156
-
157
- /**
158
- * Set categories cache.
159
- *
160
- * @param array $value cached value.
161
- */
162
- public function get_keywords_cache() {
163
-
164
- // if ( $this->is_debug_active() ) {
165
- // return false;
166
- // }
167
-
168
- return get_transient( $this->keywords_key() );
169
- }
170
-
171
- /**
172
- * Delete categories cache
173
- *
174
- * @return [type] [description]
175
- */
176
- public function delete_keywords_cache() {
177
- delete_transient( $this->keywords_key() );
178
- }
179
-
180
- /**
181
- * Check if debug is active
182
- *
183
- * @return boolean
184
- */
185
- public function is_debug_active() {
186
-
187
- if ( defined( 'PREMIUM_API_DEBUG' ) && true === PREMIUM_API_DEBUG ) {
188
- return true;
189
- } else {
190
- return false;
191
- }
192
-
193
- }
194
-
195
- /**
196
- * Returns template ID prefix for premium templates
197
- *
198
- * @return string
199
- */
200
- public function id_prefix() {
201
- return 'premium_';
202
- }
203
-
204
- /**
205
- * @since 3.6.0
206
- * @access protected
207
- */
208
- protected function replace_elements_ids( $content ) {
209
- return \Elementor\Plugin::$instance->db->iterate_data(
210
- $content,
211
- function( $element ) {
212
- $element['id'] = \Elementor\Utils::generate_random_string();
213
- return $element;
214
- }
215
- );
216
- }
217
-
218
- /**
219
- * Process content for export/import.
220
- *
221
- * Process the content and all the inner elements, and prepare all the
222
- * elements data for export/import.
223
- *
224
- * @since 3.6.0
225
- * @access protected
226
- *
227
- * @param array $content A set of elements.
228
- * @param string $method Accepts either `on_export` to export data or
229
- * `on_import` to import data.
230
- * @param string $with_media include templates media.
231
- *
232
- * @return mixed Processed content data.
233
- */
234
- protected function process_export_import_content( $content, $method, $with_media ) {
235
-
236
- return \Elementor\Plugin::$instance->db->iterate_data(
237
- $content,
238
- function( $element_data ) use ( $method, $with_media ) {
239
- $element = \Elementor\Plugin::$instance->elements_manager->create_element_instance( $element_data );
240
-
241
- // If the widget/element isn't exist, like a plugin that creates a widget but deactivated.
242
- if ( ! $element ) {
243
- return null;
244
- }
245
-
246
- return $this->process_element_export_import_content( $element, $method, $with_media );
247
- }
248
- );
249
- }
250
-
251
- /**
252
- * Process single element content for export/import.
253
- *
254
- * Process any given element and prepare the element data for export/import.
255
- *
256
- * @since 3.6.0
257
- * @access protected
258
- *
259
- * @param Controls_Stack $element
260
- * @param string $method
261
- * @param string $with_media include templates media.
262
- *
263
- * @return array Processed element data.
264
- */
265
- protected function process_element_export_import_content( $element, $method, $with_media ) {
266
-
267
- $element_data = $element->get_data();
268
-
269
- if ( method_exists( $element, $method ) ) {
270
- // TODO: Use the internal element data without parameters.
271
- $element_data = $element->{$method}( $element_data );
272
- }
273
-
274
- foreach ( $element->get_controls() as $control ) {
275
- $control_class = \Elementor\Plugin::$instance->controls_manager->get_control( $control['type'] );
276
-
277
- // If the control isn't exist, like a plugin that creates the control but deactivated.
278
- if ( ! $control_class ) {
279
- return $element_data;
280
- }
281
-
282
- if ( method_exists( $control_class, $method ) ) {
283
-
284
- if ( 'media' !== $control['type'] && 'hedia' !== $control['type'] && 'repeater' !== $control['type'] ) {
285
- $element_data['settings'][ $control['name'] ] = $control_class->{$method}( $element->get_settings( $control['name'] ), $control );
286
- } elseif ( 'repeater' === $control['type'] ) {
287
- $element_data['settings'][ $control['name'] ] = $this->on_import_repeater( $element->get_settings( $control['name'] ), $with_media, $control );
288
- } else {
289
- if ( ! empty( $element_data['settings'][ $control['name'] ]['url'] ) ) {
290
- $element_data['settings'][ $control['name'] ] = $this->on_import_media( $element->get_settings( $control['name'] ), $with_media );
291
- }
292
- }
293
- }
294
- }
295
-
296
- return $element_data;
297
- }
298
-
299
- public function on_import_media( $settings, $media ) {
300
-
301
- if ( empty( $settings['url'] ) || false != strpos( $settings['url'], 'placeholder' ) ) {
302
- return $settings;
303
- }
304
-
305
- if ( ! $media ) {
306
-
307
- $file_ext = pathinfo( $settings['url'] )['extension'];
308
- switch ( true ) {
309
- case 'mp4' === $file_ext:
310
- $settings['url'] = 'https://pa.premiumtemplates.io/wp-content/uploads/2018/10/video-placeholder.mp4';
311
- break;
312
- case 'jpg' === $file_ext || 'png' === $file_ext:
313
- $settings['url'] = ELEMENTOR_ASSETS_URL . 'images/placeholder.png';
314
- break;
315
- case 'json' === $file_ext:
316
- $settings['url'] = 'https://assets1.lottiefiles.com/packages/lf20_FPxkbx.json';
317
- break;
318
- }
319
- } else {
320
- $settings = \Elementor\Plugin::$instance->templates_manager->get_import_images_instance()->import( $settings );
321
- }
322
-
323
- return $settings;
324
- }
325
-
326
- public function on_import_repeater( $settings, $media, $control_data = array() ) {
327
- if ( empty( $settings ) || empty( $control_data['fields'] ) ) {
328
- return $settings;
329
- }
330
-
331
- $method = 'on_import';
332
-
333
- foreach ( $settings as &$item ) {
334
- foreach ( $control_data['fields'] as $field ) {
335
- if ( empty( $field['name'] ) || empty( $item[ $field['name'] ] ) ) {
336
- continue;
337
- }
338
-
339
- $control_obj = \Elementor\Plugin::$instance->controls_manager->get_control( $field['type'] );
340
-
341
- if ( ! $control_obj ) {
342
- continue;
343
- }
344
-
345
- if ( method_exists( $control_obj, $method ) ) {
346
- if ( 'media' !== $field['type'] && 'hedia' !== $field['type'] ) {
347
- $item[ $field['name'] ] = $control_obj->{$method}( $item[ $field['name'] ], $field );
348
- } else {
349
- if ( ! empty( $item[ $field['name'] ]['url'] ) ) {
350
- $item[ $field['name'] ] = $this->on_import_media( $item[ $field['name'] ], $media );
351
- }
352
- }
353
- }
354
- }
355
- }
356
-
357
- return $settings;
358
- }
359
- }
 
 
 
 
1
+ <?php
2
+
3
+ namespace PremiumAddons\Includes\Templates\Sources;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly.
7
+ }
8
+
9
+ abstract class Premium_Templates_Source_Base {
10
+
11
+ /**
12
+ * @abstract
13
+ * @since 3.6.0
14
+ * @access public
15
+ */
16
+ abstract public function get_slug();
17
+
18
+ /**
19
+ * @abstract
20
+ * @since 3.6.0
21
+ * @access public
22
+ */
23
+ abstract public function get_items();
24
+
25
+ /**
26
+ * @abstract
27
+ * @since 3.6.0
28
+ * @access public
29
+ */
30
+ abstract public function get_categories();
31
+
32
+ /**
33
+ * Return source item list
34
+ *
35
+ * @since 3.6.0
36
+ * @access public
37
+ */
38
+ abstract public function get_keywords();
39
+
40
+ /**
41
+ * @abstract
42
+ * @since 3.6.0
43
+ * @access public
44
+ */
45
+ abstract public function get_item( $template_id );
46
+
47
+ /**
48
+ * @abstract
49
+ * @since 3.6.0
50
+ * @access public
51
+ */
52
+ abstract public function transient_lifetime();
53
+
54
+ /**
55
+ * Returns templates transient key for current source
56
+ *
57
+ * @return string
58
+ */
59
+ public function templates_key() {
60
+ return 'premium_templates_' . $this->get_slug() . '_1.0.0';
61
+ }
62
+
63
+ /**
64
+ * Returns categories transient key for current source
65
+ *
66
+ * @return string
67
+ */
68
+ public function categories_key() {
69
+ return 'premium_categories_' . $this->get_slug() . '_1.0.0';
70
+ }
71
+
72
+ /**
73
+ * Returns keywords transient key for current source
74
+ *
75
+ * @return string
76
+ */
77
+ public function keywords_key() {
78
+ return 'premium_keywords_' . $this->get_slug() . '_1.0.0';
79
+ }
80
+
81
+ /**
82
+ * Set templates cache.
83
+ *
84
+ * @param array $value
85
+ */
86
+ public function set_templates_cache( $value ) {
87
+
88
+ $localhost = array(
89
+ '127.0.0.1',
90
+ '::1',
91
+ );
92
+
93
+ if ( ! isset( $_SERVER['REMOTE_ADDR'] ) ) {
94
+ return;
95
+ }
96
+
97
+ // Load templates remotely if localhost.
98
+ if ( ! in_array( $_SERVER['REMOTE_ADDR'], $localhost ) ) {
99
+ set_transient( $this->templates_key(), $value, $this->transient_lifetime() );
100
+ }
101
+ }
102
+
103
+ /**
104
+ * Set templates cache.
105
+ */
106
+ public function get_templates_cache() {
107
+
108
+ // if ( $this->is_debug_active() ) {
109
+ // return false;
110
+ // }
111
+
112
+ return get_transient( $this->templates_key() );
113
+ }
114
+
115
+ /**
116
+ * Delete templates cache
117
+ */
118
+ public function delete_templates_cache() {
119
+ delete_transient( $this->templates_key() );
120
+ }
121
+
122
+ /**
123
+ * Set categories cache.
124
+ */
125
+ public function set_categories_cache( $value ) {
126
+ set_transient( $this->categories_key(), $value, $this->transient_lifetime() );
127
+ }
128
+
129
+ /**
130
+ * Set categories cache.
131
+ *
132
+ * @param array $value
133
+ */
134
+ public function get_categories_cache() {
135
+
136
+ // if ( $this->is_debug_active() ) {
137
+ // return false;
138
+ // }
139
+
140
+ return get_transient( $this->categories_key() );
141
+ }
142
+
143
+ /**
144
+ * Delete categories cache
145
+ *
146
+ * @return [type] [description]
147
+ */
148
+ public function delete_categories_cache() {
149
+ delete_transient( $this->categories_key() );
150
+ }
151
+
152
+ /**
153
+ * Set categories cache.
154
+ *
155
+ * @param array $value cached value.
156
+ */
157
+ public function set_keywords_cache( $value ) {
158
+ set_transient( $this->keywords_key(), $value, $this->transient_lifetime() );
159
+ }
160
+
161
+ /**
162
+ * Set categories cache.
163
+ *
164
+ * @param array $value cached value.
165
+ */
166
+ public function get_keywords_cache() {
167
+
168
+ // if ( $this->is_debug_active() ) {
169
+ // return false;
170
+ // }
171
+
172
+ return get_transient( $this->keywords_key() );
173
+ }
174
+
175
+ /**
176
+ * Delete categories cache
177
+ *
178
+ * @return [type] [description]
179
+ */
180
+ public function delete_keywords_cache() {
181
+ delete_transient( $this->keywords_key() );
182
+ }
183
+
184
+ /**
185
+ * Check if debug is active
186
+ *
187
+ * @return boolean
188
+ */
189
+ public function is_debug_active() {
190
+
191
+ if ( defined( 'PREMIUM_API_DEBUG' ) && true === PREMIUM_API_DEBUG ) {
192
+ return true;
193
+ } else {
194
+ return false;
195
+ }
196
+
197
+ }
198
+
199
+ /**
200
+ * Returns template ID prefix for premium templates
201
+ *
202
+ * @return string
203
+ */
204
+ public function id_prefix() {
205
+ return 'premium_';
206
+ }
207
+
208
+ /**
209
+ * @since 3.6.0
210
+ * @access protected
211
+ */
212
+ protected function replace_elements_ids( $content ) {
213
+ return \Elementor\Plugin::$instance->db->iterate_data(
214
+ $content,
215
+ function( $element ) {
216
+ $element['id'] = \Elementor\Utils::generate_random_string();
217
+ return $element;
218
+ }
219
+ );
220
+ }
221
+
222
+ /**
223
+ * Process content for export/import.
224
+ *
225
+ * Process the content and all the inner elements, and prepare all the
226
+ * elements data for export/import.
227
+ *
228
+ * @since 3.6.0
229
+ * @access protected
230
+ *
231
+ * @param array $content A set of elements.
232
+ * @param string $method Accepts either `on_export` to export data or
233
+ * `on_import` to import data.
234
+ * @param string $with_media include templates media.
235
+ *
236
+ * @return mixed Processed content data.
237
+ */
238
+ protected function process_export_import_content( $content, $method, $with_media ) {
239
+
240
+ return \Elementor\Plugin::$instance->db->iterate_data(
241
+ $content,
242
+ function( $element_data ) use ( $method, $with_media ) {
243
+ $element = \Elementor\Plugin::$instance->elements_manager->create_element_instance( $element_data );
244
+
245
+ // If the widget/element isn't exist, like a plugin that creates a widget but deactivated.
246
+ if ( ! $element ) {
247
+ return null;
248
+ }
249
+
250
+ return $this->process_element_export_import_content( $element, $method, $with_media );
251
+ }
252
+ );
253
+ }
254
+
255
+ /**
256
+ * Process single element content for export/import.
257
+ *
258
+ * Process any given element and prepare the element data for export/import.
259
+ *
260
+ * @since 3.6.0
261
+ * @access protected
262
+ *
263
+ * @param Controls_Stack $element
264
+ * @param string $method
265
+ * @param string $with_media include templates media.
266
+ *
267
+ * @return array Processed element data.
268
+ */
269
+ protected function process_element_export_import_content( $element, $method, $with_media ) {
270
+
271
+ $element_data = $element->get_data();
272
+
273
+ if ( method_exists( $element, $method ) ) {
274
+ // TODO: Use the internal element data without parameters.
275
+ $element_data = $element->{$method}( $element_data );
276
+ }
277
+
278
+ foreach ( $element->get_controls() as $control ) {
279
+ $control_class = \Elementor\Plugin::$instance->controls_manager->get_control( $control['type'] );
280
+
281
+ // If the control isn't exist, like a plugin that creates the control but deactivated.
282
+ if ( ! $control_class ) {
283
+ return $element_data;
284
+ }
285
+
286
+ if ( method_exists( $control_class, $method ) ) {
287
+
288
+ if ( 'media' !== $control['type'] && 'hedia' !== $control['type'] && 'repeater' !== $control['type'] ) {
289
+ $element_data['settings'][ $control['name'] ] = $control_class->{$method}( $element->get_settings( $control['name'] ), $control );
290
+ } elseif ( 'repeater' === $control['type'] ) {
291
+ $element_data['settings'][ $control['name'] ] = $this->on_import_repeater( $element->get_settings( $control['name'] ), $with_media, $control );
292
+ } else {
293
+ if ( ! empty( $element_data['settings'][ $control['name'] ]['url'] ) ) {
294
+ $element_data['settings'][ $control['name'] ] = $this->on_import_media( $element->get_settings( $control['name'] ), $with_media );
295
+ }
296
+ }
297
+ }
298
+ }
299
+
300
+ return $element_data;
301
+ }
302
+
303
+ public function on_import_media( $settings, $media ) {
304
+
305
+ if ( empty( $settings['url'] ) || false != strpos( $settings['url'], 'placeholder' ) ) {
306
+ return $settings;
307
+ }
308
+
309
+ if ( ! $media ) {
310
+
311
+ $file_ext = pathinfo( $settings['url'] )['extension'];
312
+ switch ( true ) {
313
+ case 'mp4' === $file_ext:
314
+ $settings['url'] = 'https://pa.premiumtemplates.io/wp-content/uploads/2018/10/video-placeholder.mp4';
315
+ break;
316
+ case 'jpg' === $file_ext || 'png' === $file_ext:
317
+ $settings['url'] = ELEMENTOR_ASSETS_URL . 'images/placeholder.png';
318
+ break;
319
+ case 'json' === $file_ext:
320
+ $settings['url'] = 'https://assets1.lottiefiles.com/packages/lf20_FPxkbx.json';
321
+ break;
322
+ }
323
+ } else {
324
+ $settings = \Elementor\Plugin::$instance->templates_manager->get_import_images_instance()->import( $settings );
325
+ }
326
+
327
+ return $settings;
328
+ }
329
+
330
+ public function on_import_repeater( $settings, $media, $control_data = array() ) {
331
+ if ( empty( $settings ) || empty( $control_data['fields'] ) ) {
332
+ return $settings;
333
+ }
334
+
335
+ $method = 'on_import';
336
+
337
+ foreach ( $settings as &$item ) {
338
+ foreach ( $control_data['fields'] as $field ) {
339
+ if ( empty( $field['name'] ) || empty( $item[ $field['name'] ] ) ) {
340
+ continue;
341
+ }
342
+
343
+ $control_obj = \Elementor\Plugin::$instance->controls_manager->get_control( $field['type'] );
344
+
345
+ if ( ! $control_obj ) {
346
+ continue;
347
+ }
348
+
349
+ if ( method_exists( $control_obj, $method ) ) {
350
+ if ( 'media' !== $field['type'] && 'hedia' !== $field['type'] ) {
351
+ $item[ $field['name'] ] = $control_obj->{$method}( $item[ $field['name'] ], $field );
352
+ } else {
353
+ if ( ! empty( $item[ $field['name'] ]['url'] ) ) {
354
+ $item[ $field['name'] ] = $this->on_import_media( $item[ $field['name'] ], $media );
355
+ }
356
+ }
357
+ }
358
+ }
359
+ }
360
+
361
+ return $settings;
362
+ }
363
+ }
modules/pa-display-conditions/module.php CHANGED
@@ -285,12 +285,13 @@ class Module {
285
  $element->add_control(
286
  'pa_condition_repeater',
287
  array(
288
- 'label' => __( 'Conditions', 'premium-addons-for-elementor' ),
289
- 'type' => Controls_Manager::REPEATER,
290
- 'label_block' => true,
291
- 'fields' => array_values( $repeater->get_controls() ),
292
- 'title_field' => '<# print( pa_condition_key.replace(/_/g, " ").split(" ").map((s) => s.charAt(0).toUpperCase() + s.substring(1)).join(" ")) #>',
293
- 'condition' => array(
 
294
  'pa_display_conditions_switcher' => 'yes',
295
  ),
296
  )
285
  $element->add_control(
286
  'pa_condition_repeater',
287
  array(
288
+ 'label' => __( 'Conditions', 'premium-addons-for-elementor' ),
289
+ 'type' => Controls_Manager::REPEATER,
290
+ 'label_block' => true,
291
+ 'fields' => array_values( $repeater->get_controls() ),
292
+ 'title_field' => '<# print( pa_condition_key.replace(/_/g, " ").split(" ").map((s) => s.charAt(0).toUpperCase() + s.substring(1)).join(" ")) #>',
293
+ 'prevent_empty' => false,
294
+ 'condition' => array(
295
  'pa_display_conditions_switcher' => 'yes',
296
  ),
297
  )
modules/woocommerce/module.php CHANGED
@@ -196,7 +196,7 @@ class Module extends Module_Base {
196
  // load content template.
197
  include PREMIUM_ADDONS_PATH . 'modules/woocommerce/templates/quick-view-product.php';
198
 
199
- echo ob_get_clean();
200
 
201
  die();
202
 
196
  // load content template.
197
  include PREMIUM_ADDONS_PATH . 'modules/woocommerce/templates/quick-view-product.php';
198
 
199
+ echo ob_get_clean(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
200
 
201
  die();
202
 
modules/woocommerce/skins/skin-1.php CHANGED
@@ -746,6 +746,6 @@ class Skin_1 extends Skin_Base {
746
 
747
  $skin = Skin_Init::get_instance( $this->get_id() );
748
 
749
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
750
  }
751
  }
746
 
747
  $skin = Skin_Init::get_instance( $this->get_id() );
748
 
749
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
750
  }
751
  }
modules/woocommerce/skins/skin-10.php CHANGED
@@ -668,7 +668,7 @@ class Skin_10 extends Skin_Base {
668
 
669
  $skin = Skin_Init::get_instance( $this->get_id() );
670
 
671
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
672
  }
673
  }
674
  }
668
 
669
  $skin = Skin_Init::get_instance( $this->get_id() );
670
 
671
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
672
  }
673
  }
674
  }
modules/woocommerce/skins/skin-11.php CHANGED
@@ -818,7 +818,7 @@ class Skin_11 extends Skin_Base {
818
 
819
  $skin = Skin_Init::get_instance( $this->get_id() );
820
 
821
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
822
  }
823
  }
824
  }
818
 
819
  $skin = Skin_Init::get_instance( $this->get_id() );
820
 
821
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
822
  }
823
  }
824
  }
modules/woocommerce/skins/skin-3.php CHANGED
@@ -717,6 +717,6 @@ class Skin_3 extends Skin_Base {
717
 
718
  $skin = Skin_Init::get_instance( $this->get_id() );
719
 
720
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
721
  }
722
  }
717
 
718
  $skin = Skin_Init::get_instance( $this->get_id() );
719
 
720
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
721
  }
722
  }
modules/woocommerce/skins/skin-4.php CHANGED
@@ -736,6 +736,6 @@ class Skin_4 extends Skin_Base {
736
 
737
  $skin = Skin_Init::get_instance( $this->get_id() );
738
 
739
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
740
  }
741
  }
736
 
737
  $skin = Skin_Init::get_instance( $this->get_id() );
738
 
739
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
740
  }
741
  }
modules/woocommerce/skins/skin-5.php CHANGED
@@ -697,6 +697,6 @@ class Skin_5 extends Skin_Base {
697
 
698
  $skin = Skin_Init::get_instance( $this->get_id() );
699
 
700
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
701
  }
702
  }
697
 
698
  $skin = Skin_Init::get_instance( $this->get_id() );
699
 
700
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
701
  }
702
  }
modules/woocommerce/skins/skin-6.php CHANGED
@@ -716,6 +716,6 @@ class Skin_6 extends Skin_Base {
716
 
717
  $skin = Skin_Init::get_instance( $this->get_id() );
718
 
719
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
720
  }
721
  }
716
 
717
  $skin = Skin_Init::get_instance( $this->get_id() );
718
 
719
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
720
  }
721
  }
modules/woocommerce/skins/skin-7.php CHANGED
@@ -749,7 +749,7 @@ class Skin_7 extends Skin_Base {
749
 
750
  $skin = Skin_Init::get_instance( $this->get_id() );
751
 
752
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
753
  }
754
  }
755
  }
749
 
750
  $skin = Skin_Init::get_instance( $this->get_id() );
751
 
752
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
753
  }
754
  }
755
  }
modules/woocommerce/skins/skin-8.php CHANGED
@@ -708,7 +708,7 @@ class Skin_8 extends Skin_Base {
708
 
709
  $skin = Skin_Init::get_instance( $this->get_id() );
710
 
711
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
712
  }
713
  }
714
  }
708
 
709
  $skin = Skin_Init::get_instance( $this->get_id() );
710
 
711
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
712
  }
713
  }
714
  }
modules/woocommerce/skins/skin-9.php CHANGED
@@ -672,7 +672,7 @@ class Skin_9 extends Skin_Base {
672
 
673
  $skin = Skin_Init::get_instance( $this->get_id() );
674
 
675
- echo $skin->render( $this->get_id(), $settings, $this->parent->get_id() );
676
  }
677
  }
678
  }
672
 
673
  $skin = Skin_Init::get_instance( $this->get_id() );
674
 
675
+ echo wp_kses_post( $skin->render( $this->get_id(), $settings, $this->parent->get_id() ) );
676
  }
677
  }
678
  }
modules/woocommerce/templates/loop/pagination.php CHANGED
@@ -20,20 +20,22 @@ if ( $total <= 1 ) {
20
  ?>
21
  <nav class="premium-woo-products-pagination">
22
  <?php
23
- echo paginate_links(
24
- apply_filters(
25
- 'premium_woo_pagination_args',
26
- array( // WPCS: XSS ok.
27
- 'base' => $base,
28
- 'format' => $format,
29
- 'add_args' => false,
30
- 'current' => max( 1, $current ),
31
- 'total' => $total,
32
- 'prev_text' => '&larr;',
33
- 'next_text' => '&rarr;',
34
- 'type' => 'list',
35
- 'end_size' => 3,
36
- 'mid_size' => 3,
 
 
37
  )
38
  )
39
  );
20
  ?>
21
  <nav class="premium-woo-products-pagination">
22
  <?php
23
+ echo wp_kses_post(
24
+ paginate_links(
25
+ apply_filters(
26
+ 'premium_woo_pagination_args',
27
+ array( // WPCS: XSS ok.
28
+ 'base' => $base,
29
+ 'format' => $format,
30
+ 'add_args' => false,
31
+ 'current' => max( 1, $current ),
32
+ 'total' => $total,
33
+ 'prev_text' => '&larr;',
34
+ 'next_text' => '&rarr;',
35
+ 'type' => 'list',
36
+ 'end_size' => 3,
37
+ 'mid_size' => 3,
38
+ )
39
  )
40
  )
41
  );
modules/woocommerce/templates/product-1.php CHANGED
@@ -145,7 +145,7 @@ $out_of_stock = 'outofstock' === get_post_meta( $product_id, '_stock_status',
145
  if ( 'below' === $cta_position ) {
146
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
147
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
148
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
149
  woocommerce_template_loop_add_to_cart();
150
  echo '</div>';
151
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
145
  if ( 'below' === $cta_position ) {
146
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
147
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
148
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
149
  woocommerce_template_loop_add_to_cart();
150
  echo '</div>';
151
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/product-10.php CHANGED
@@ -142,7 +142,7 @@ $out_of_stock = 'outofstock' === get_post_meta( $product_id, '_stock_status', tr
142
  if ( 'yes' === $this->get_option_value( 'product_cta' ) ) {
143
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
144
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
145
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
146
  $cart_class = $product->is_purchasable() && $product->is_in_stock() ? 'premium-woo-product-cta-btn' : '';
147
  echo '<a href=' . esc_url( $product->add_to_cart_url() ) . ' class="button premium-woo-cart-btn ' . esc_attr( $cart_class ) . ' product_type_' . esc_html( $product_type ) . '" data-product_id="' . esc_attr( $product_id ) . '">';
148
  echo '<span class="premium-woo-add-cart-icon fas fa-plus"></span>';
142
  if ( 'yes' === $this->get_option_value( 'product_cta' ) ) {
143
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
144
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
145
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
146
  $cart_class = $product->is_purchasable() && $product->is_in_stock() ? 'premium-woo-product-cta-btn' : '';
147
  echo '<a href=' . esc_url( $product->add_to_cart_url() ) . ' class="button premium-woo-cart-btn ' . esc_attr( $cart_class ) . ' product_type_' . esc_html( $product_type ) . '" data-product_id="' . esc_attr( $product_id ) . '">';
148
  echo '<span class="premium-woo-add-cart-icon fas fa-plus"></span>';
modules/woocommerce/templates/product-11.php CHANGED
@@ -126,7 +126,7 @@ $out_of_stock = 'outofstock' === get_post_meta( $product_id, '_stock_status',
126
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
127
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
128
 
129
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
130
  woocommerce_template_loop_add_to_cart();
131
  echo '</div>';
132
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
126
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
127
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
128
 
129
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
130
  woocommerce_template_loop_add_to_cart();
131
  echo '</div>';
132
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/product-2.php CHANGED
@@ -126,7 +126,7 @@ $out_of_stock = 'outofstock' === get_post_meta( $product_id, '_stock_status',
126
  echo '<div class="premium-woo-product-actions-wrapper">';
127
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
128
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
129
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
130
  woocommerce_template_loop_add_to_cart();
131
  echo '</div>';
132
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
126
  echo '<div class="premium-woo-product-actions-wrapper">';
127
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
128
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
129
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
130
  woocommerce_template_loop_add_to_cart();
131
  echo '</div>';
132
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/product-3.php CHANGED
@@ -130,7 +130,7 @@ $image_size = $settings['featured_image_size'];
130
  echo '<div class="premium-woo-product-actions-wrapper">';
131
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
132
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
133
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
134
  woocommerce_template_loop_add_to_cart();
135
  echo '</div>';
136
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
130
  echo '<div class="premium-woo-product-actions-wrapper">';
131
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
132
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
133
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
134
  woocommerce_template_loop_add_to_cart();
135
  echo '</div>';
136
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/product-4.php CHANGED
@@ -140,7 +140,7 @@ $image_size = $settings['featured_image_size'];
140
  if ( 'below' === $cta_position ) {
141
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
142
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
143
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
144
  woocommerce_template_loop_add_to_cart();
145
  echo '</div>';
146
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
140
  if ( 'below' === $cta_position ) {
141
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
142
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
143
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
144
  woocommerce_template_loop_add_to_cart();
145
  echo '</div>';
146
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/product-5.php CHANGED
@@ -126,7 +126,7 @@ $out_of_stock = 'outofstock' === get_post_meta( $product_id, '_stock_status', tr
126
  echo '<div class="premium-woo-product-actions-wrapper">';
127
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
128
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
129
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
130
  woocommerce_template_loop_add_to_cart();
131
  echo '</div>';
132
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
126
  echo '<div class="premium-woo-product-actions-wrapper">';
127
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
128
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
129
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
130
  woocommerce_template_loop_add_to_cart();
131
  echo '</div>';
132
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/product-6.php CHANGED
@@ -130,7 +130,7 @@ $image_size = $settings['featured_image_size'];
130
  if ( 'yes' === $this->get_option_value( 'product_cta' ) ) {
131
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
132
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
133
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
134
  woocommerce_template_loop_add_to_cart();
135
  echo '</div>';
136
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
130
  if ( 'yes' === $this->get_option_value( 'product_cta' ) ) {
131
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
132
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
133
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
134
  woocommerce_template_loop_add_to_cart();
135
  echo '</div>';
136
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/product-7.php CHANGED
@@ -112,7 +112,7 @@ $out_of_stock = 'outofstock' === get_post_meta( $product_id, '_stock_status',
112
  if ( 'yes' === $this->get_option_value( 'product_cta' ) ) {
113
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
114
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
115
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
116
  woocommerce_template_loop_add_to_cart();
117
  echo '</div>';
118
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
112
  if ( 'yes' === $this->get_option_value( 'product_cta' ) ) {
113
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
114
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
115
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
116
  woocommerce_template_loop_add_to_cart();
117
  echo '</div>';
118
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/product-8.php CHANGED
@@ -45,7 +45,7 @@ $out_of_stock = 'outofstock' === get_post_meta( $product_id, '_stock_status',
45
  $cart_class = $product->is_purchasable() && $product->is_in_stock() ? 'premium-woo-product-cta-btn' : '';
46
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
47
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
48
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
49
  echo '<a href=' . esc_url( $product->add_to_cart_url() ) . ' class="button premium-woo-cart-btn ' . esc_attr( $cart_class ) . ' product_type_' . esc_attr( $product->get_type() ) . '" data-product_id="' . esc_html( $product_id ) . '">';
50
  echo '<i class="premium-woo-add-cart-icon fas fa-plus"></i>';
51
  echo '</a>';
45
  $cart_class = $product->is_purchasable() && $product->is_in_stock() ? 'premium-woo-product-cta-btn' : '';
46
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
47
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
48
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
49
  echo '<a href=' . esc_url( $product->add_to_cart_url() ) . ' class="button premium-woo-cart-btn ' . esc_attr( $cart_class ) . ' product_type_' . esc_attr( $product->get_type() ) . '" data-product_id="' . esc_html( $product_id ) . '">';
50
  echo '<i class="premium-woo-add-cart-icon fas fa-plus"></i>';
51
  echo '</a>';
modules/woocommerce/templates/product-9.php CHANGED
@@ -119,7 +119,7 @@ $out_of_stock = 'outofstock' === get_post_meta( $product_id, '_stock_status', tr
119
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
120
 
121
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
122
- echo '<div class="premium-woo-atc-button" ' . $attributes . '>';
123
  woocommerce_template_loop_add_to_cart();
124
  echo '</div>';
125
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
119
  do_action( 'pa_woo_product_before_cta', $product_id, $settings );
120
 
121
  $attributes = count( $product->get_attributes() ) > 0 ? 'data-variations="true"' : '';
122
+ echo '<div class="premium-woo-atc-button" ' . esc_attr( $attributes ) . '>';
123
  woocommerce_template_loop_add_to_cart();
124
  echo '</div>';
125
  do_action( 'pa_woo_product_after_cta', $product_id, $settings );
modules/woocommerce/templates/quick-view-modal.php CHANGED
@@ -6,7 +6,7 @@
6
  */
7
 
8
  ?>
9
- <div class="premium-woo-quick-view-<?php echo $widget_id; ?>">
10
  <div class="premium-woo-quick-view-back">
11
  <div class="premium-woo-quick-view-loader"></div>
12
  </div>
6
  */
7
 
8
  ?>
9
+ <div class="premium-woo-quick-view-<?php echo esc_attr( $widget_id ); ?>">
10
  <div class="premium-woo-quick-view-back">
11
  <div class="premium-woo-quick-view-loader"></div>
12
  </div>
modules/woocommerce/templates/quick-view-product-image.php CHANGED
@@ -28,7 +28,7 @@ global $post, $product, $woocommerce;
28
  );
29
  echo sprintf(
30
  '<li class="woocommerce-product-gallery__image">%s</li>',
31
- $image
32
  );
33
 
34
  if ( $attachment_ids ) {
@@ -42,16 +42,19 @@ global $post, $product, $woocommerce;
42
  continue;
43
  }
44
 
45
- echo sprintf(
46
- '<li>%s</li>',
47
- wp_get_attachment_image( $attachment_id, 'shop_single', 0, $props )
 
 
48
  );
49
 
50
  $loop++;
51
  }
52
  }
53
  } else {
54
- echo sprintf( '<li><img src="%s" alt="%s" /></li>', wp_kses_post( wc_placeholder_img_src() ), __( 'Placeholder', 'premium-addons-for-elementor' ) );
 
55
  }
56
  ?>
57
  </div>
28
  );
29
  echo sprintf(
30
  '<li class="woocommerce-product-gallery__image">%s</li>',
31
+ wp_kses_post( $image )
32
  );
33
 
34
  if ( $attachment_ids ) {
42
  continue;
43
  }
44
 
45
+ echo wp_kses_post(
46
+ sprintf(
47
+ '<li>%s</li>',
48
+ wp_get_attachment_image( $attachment_id, 'shop_single', 0, $props )
49
+ )
50
  );
51
 
52
  $loop++;
53
  }
54
  }
55
  } else {
56
+
57
+ echo sprintf( '<li><img src="%s" alt="%s" /></li>', wp_kses_post( wc_placeholder_img_src() ), esc_html( __( 'Placeholder', 'premium-addons-for-elementor' ) ) );
58
  }
59
  ?>
60
  </div>
premium-addons-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons for Elementor plugin includes widgets and addons like Blog Post Grid, Gallery, Post Carousel, Advanced Slider, Modal Popup, Google Maps, Pricing Tables, Lottie Animations, Countdown, Testimonials.
5
  Plugin URI: https://premiumaddons.com
6
- Version: 4.9.31
7
  Elementor tested up to: 3.7.4
8
  Elementor Pro tested up to: 3.7.5
9
  Author: Leap13
@@ -18,14 +18,14 @@ if ( ! defined( 'ABSPATH' ) ) {
18
  }
19
 
20
  // Define Constants.
21
- define( 'PREMIUM_ADDONS_VERSION', '4.9.31' );
22
  define( 'PREMIUM_ADDONS_URL', plugins_url( '/', __FILE__ ) );
23
  define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
24
  define( 'PREMIUM_ASSETS_PATH', set_url_scheme( wp_upload_dir()['basedir'] . '/premium-addons-elementor' ) );
25
  define( 'PREMIUM_ASSETS_URL', set_url_scheme( wp_upload_dir()['baseurl'] . '/premium-addons-elementor' ) );
26
  define( 'PREMIUM_ADDONS_FILE', __FILE__ );
27
  define( 'PREMIUM_ADDONS_BASENAME', plugin_basename( PREMIUM_ADDONS_FILE ) );
28
- define( 'PREMIUM_ADDONS_STABLE_VERSION', '4.9.30' );
29
 
30
  /*
31
  * Load plugin core file
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons for Elementor plugin includes widgets and addons like Blog Post Grid, Gallery, Post Carousel, Advanced Slider, Modal Popup, Google Maps, Pricing Tables, Lottie Animations, Countdown, Testimonials.
5
  Plugin URI: https://premiumaddons.com
6
+ Version: 4.9.32
7
  Elementor tested up to: 3.7.4
8
  Elementor Pro tested up to: 3.7.5
9
  Author: Leap13
18
  }
19
 
20
  // Define Constants.
21
+ define( 'PREMIUM_ADDONS_VERSION', '4.9.32' );
22
  define( 'PREMIUM_ADDONS_URL', plugins_url( '/', __FILE__ ) );
23
  define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
24
  define( 'PREMIUM_ASSETS_PATH', set_url_scheme( wp_upload_dir()['basedir'] . '/premium-addons-elementor' ) );
25
  define( 'PREMIUM_ASSETS_URL', set_url_scheme( wp_upload_dir()['baseurl'] . '/premium-addons-elementor' ) );
26
  define( 'PREMIUM_ADDONS_FILE', __FILE__ );
27
  define( 'PREMIUM_ADDONS_BASENAME', plugin_basename( PREMIUM_ADDONS_FILE ) );
28
+ define( 'PREMIUM_ADDONS_STABLE_VERSION', '4.9.31' );
29
 
30
  /*
31
  * Load plugin core file
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate Link: https://premiumaddons.com/?utm_source=wp-repo&utm_medium=link&utm_c
5
  Requires at least: 5.0
6
  Tested Up To: 6.0.2
7
  Requires PHP: 7.0
8
- Stable Tag: 4.9.31
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -218,6 +218,14 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
218
 
219
  == Changelog ==
220
 
 
 
 
 
 
 
 
 
221
  = 4.9.31 =
222
 
223
  - Tweak: Added Full Width option in Mega Menu widget.
5
  Requires at least: 5.0
6
  Tested Up To: 6.0.2
7
  Requires PHP: 7.0
8
+ Stable Tag: 4.9.32
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
218
 
219
  == Changelog ==
220
 
221
+ = 4.9.32 =
222
+
223
+ - Tweak: Code refactored for better performance and security.
224
+ - Fixed: Image icon option not working in Progress Bar widget.
225
+ - Fixed: Editor update button not working in some cases due to an issue with Display Conditions addon.
226
+ - Fixed: Comatibility issues with WPML and Media Grid widget.
227
+ - Fixed: Compatibility issues with Thrive Architect theme.
228
+
229
  = 4.9.31 =
230
 
231
  - Tweak: Added Full Width option in Mega Menu widget.
widgets/premium-banner.php CHANGED
@@ -1339,7 +1339,7 @@ class Premium_Banner extends Widget_Base {
1339
  if ( ! empty( $settings['premium_banner_description'] ) ) :
1340
  ?>
1341
  <div <?php echo wp_kses_post( $this->get_render_attribute_string( 'premium_banner_description' ) ); ?>>
1342
- <?php echo $this->parse_text_editor( $settings['premium_banner_description'] ); ?>
1343
  </div>
1344
  <?php endif; ?>
1345
  <?php if ( 'yes' === $settings['premium_banner_link_switcher'] && ! empty( $settings['premium_banner_more_text'] ) ) : ?>
1339
  if ( ! empty( $settings['premium_banner_description'] ) ) :
1340
  ?>
1341
  <div <?php echo wp_kses_post( $this->get_render_attribute_string( 'premium_banner_description' ) ); ?>>
1342
+ <?php echo $this->parse_text_editor( $settings['premium_banner_description'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
1343
  </div>
1344
  <?php endif; ?>
1345
  <?php if ( 'yes' === $settings['premium_banner_link_switcher'] && ! empty( $settings['premium_banner_more_text'] ) ) : ?>
widgets/premium-button.php CHANGED
@@ -1,1961 +1,1961 @@
1
- <?php
2
- /**
3
- * Premium Button.
4
- */
5
-
6
- namespace PremiumAddons\Widgets;
7
-
8
- // Elementor Classes.
9
- use Elementor\Icons_Manager;
10
- use Elementor\Widget_Base;
11
- use Elementor\Controls_Manager;
12
- use Elementor\Core\Kits\Documents\Tabs\Global_Colors;
13
- use Elementor\Core\Kits\Documents\Tabs\Global_Typography;
14
- use Elementor\Group_Control_Border;
15
- use Elementor\Group_Control_Typography;
16
- use Elementor\Group_Control_Text_Shadow;
17
- use Elementor\Group_Control_Box_Shadow;
18
-
19
- // PremiumAddons Classes.
20
- use PremiumAddons\Admin\Includes\Admin_Helper;
21
- use PremiumAddons\Includes\Helper_Functions;
22
- use PremiumAddons\Includes\Premium_Template_Tags;
23
-
24
- if ( ! defined( 'ABSPATH' ) ) {
25
- exit; // If this file is called directly, abort.
26
- }
27
-
28
- /**
29
- * Class Premium_Button
30
- */
31
- class Premium_Button extends Widget_Base {
32
-
33
- /**
34
- * Check Icon Draw Option.
35
- *
36
- * @since 4.9.26
37
- * @access public
38
- */
39
- public function check_icon_draw() {
40
- $is_enabled = Admin_Helper::check_svg_draw( 'premium-button' );
41
- return $is_enabled;
42
- }
43
-
44
- /**
45
- * Get Elementor Helper Instance.
46
- *
47
- * @since 1.0.0
48
- * @access public
49
- */
50
- public function getTemplateInstance() {
51
- $this->template_instance = Premium_Template_Tags::getInstance();
52
- return $this->template_instance;
53
- }
54
-
55
- /**
56
- * Retrieve Widget Name.
57
- *
58
- * @since 1.0.0
59
- * @access public
60
- */
61
- public function get_name() {
62
- return 'premium-addon-button';
63
- }
64
-
65
- /**
66
- * Retrieve Widget Title.
67
- *
68
- * @since 1.0.0
69
- * @access public
70
- */
71
- public function get_title() {
72
- return __( 'Button', 'premium-addons-for-elementor' );
73
- }
74
-
75
- /**
76
- * Retrieve Widget Icon.
77
- *
78
- * @since 1.0.0
79
- * @access public
80
- *
81
- * @return string widget icon.
82
- */
83
- public function get_icon() {
84
- return 'pa-button';
85
- }
86
-
87
- /**
88
- * Retrieve Widget Dependent CSS.
89
- *
90
- * @since 1.0.0
91
- * @access public
92
- *
93
- * @return array CSS style handles.
94
- */
95
- public function get_style_depends() {
96
- return array(
97
- 'premium-addons',
98
- );
99
- }
100
-
101
- /**
102
- * Retrieve Widget Dependent JS.
103
- *
104
- * @since 1.0.0
105
- * @access public
106
- *
107
- * @return array JS script handles.
108
- */
109
- public function get_script_depends() {
110
-
111
- $draw_scripts = $this->check_icon_draw() ? array(
112
- 'pa-fontawesome-all',
113
- 'pa-tweenmax',
114
- 'pa-motionpath',
115
- ) : array();
116
-
117
- return array_merge(
118
- $draw_scripts,
119
- array(
120
- 'lottie-js',
121
- 'premium-addons',
122
- )
123
- );
124
- }
125
-
126
- /**
127
- * Retrieve Widget Keywords.
128
- *
129
- * @since 1.0.0
130
- * @access public
131
- *
132
- * @return string Widget keywords.
133
- */
134
- public function get_keywords() {
135
- return array( 'pa', 'premium', 'cta', 'call', 'link', 'btn', 'pa', 'premium' );
136
- }
137
-
138
- /**
139
- * Retrieve Widget Categories.
140
- *
141
- * @since 1.5.1
142
- * @access public
143
- *
144
- * @return array Widget categories.
145
- */
146
- public function get_categories() {
147
- return array( 'premium-elements' );
148
- }
149
-
150
- /**
151
- * Retrieve Widget Support URL.
152
- *
153
- * @access public
154
- *
155
- * @return string support URL.
156
- */
157
- public function get_custom_help_url() {
158
- return 'https://premiumaddons.com/support/';
159
- }
160
-
161
- /**
162
- * Register Button controls.
163
- *
164
- * @since 1.0.0
165
- * @access protected
166
- */
167
- protected function register_controls() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
168
-
169
- $draw_icon = $this->check_icon_draw();
170
-
171
- $this->start_controls_section(
172
- 'premium_button_general_section',
173
- array(
174
- 'label' => __( 'Button', 'premium-addons-for-elementor' ),
175
- )
176
- );
177
-
178
- $this->add_control(
179
- 'premium_button_text',
180
- array(
181
- 'label' => __( 'Text', 'premium-addons-for-elementor' ),
182
- 'type' => Controls_Manager::TEXT,
183
- 'dynamic' => array( 'active' => true ),
184
- 'default' => __( 'Premium Addons', 'premium-addons-for-elementor' ),
185
- 'label_block' => true,
186
- )
187
- );
188
-
189
- $this->add_control(
190
- 'premium_button_link_selection',
191
- array(
192
- 'label' => __( 'Link Type', 'premium-addons-for-elementor' ),
193
- 'type' => Controls_Manager::SELECT,
194
- 'options' => array(
195
- 'url' => __( 'URL', 'premium-addons-for-elementor' ),
196
- 'link' => __( 'Existing Page', 'premium-addons-for-elementor' ),
197
- ),
198
- 'default' => 'url',
199
- 'label_block' => true,
200
- )
201
- );
202
-
203
- $this->add_control(
204
- 'premium_button_link',
205
- array(
206
- 'label' => __( 'Link', 'premium-addons-for-elementor' ),
207
- 'type' => Controls_Manager::URL,
208
- 'dynamic' => array( 'active' => true ),
209
- 'default' => array(
210
- 'url' => '#',
211
- ),
212
- 'placeholder' => 'https://premiumaddons.com/',
213
- 'label_block' => true,
214
- 'condition' => array(
215
- 'premium_button_link_selection' => 'url',
216
- ),
217
- )
218
- );
219
-
220
- $this->add_control(
221
- 'premium_button_existing_link',
222
- array(
223
- 'label' => __( 'Existing Page', 'premium-addons-for-elementor' ),
224
- 'type' => Controls_Manager::SELECT2,
225
- 'options' => $this->getTemplateInstance()->get_all_posts(),
226
- 'condition' => array(
227
- 'premium_button_link_selection' => 'link',
228
- ),
229
- 'multiple' => false,
230
- 'label_block' => true,
231
- )
232
- );
233
-
234
- $this->add_control(
235
- 'premium_button_hover_effect',
236
- array(
237
- 'label' => __( 'Hover Effect', 'premium-addons-for-elementor' ),
238
- 'type' => Controls_Manager::SELECT,
239
- 'default' => 'none',
240
- 'options' => array(
241
- 'none' => __( 'None', 'premium-addons-for-elementor' ),
242
- 'style1' => __( 'Slide', 'premium-addons-for-elementor' ),
243
- 'style2' => __( 'Shutter', 'premium-addons-for-elementor' ),
244
- 'style3' => __( 'Icon Fade', 'premium-addons-for-elementor' ),
245
- 'style4' => __( 'Icon Slide', 'premium-addons-for-elementor' ),
246
- 'style5' => __( 'In & Out', 'premium-addons-for-elementor' ),
247
- 'style6' => __( 'Grow', 'premium-addons-for-elementor' ),
248
- 'style7' => __( 'Double Layers', 'premium-addons-for-elementor' ),
249
- ),
250
- 'separator' => 'before',
251
- 'label_block' => true,
252
- )
253
- );
254
-
255
- $this->add_control(
256
- 'premium_button_style1_dir',
257
- array(
258
- 'label' => __( 'Slide Direction', 'premium-addons-for-elementor' ),
259
- 'type' => Controls_Manager::SELECT,
260
- 'default' => 'bottom',
261
- 'options' => array(
262
- 'bottom' => __( 'Top to Bottom', 'premium-addons-for-elementor' ),
263
- 'top' => __( 'Bottom to Top', 'premium-addons-for-elementor' ),
264
- 'left' => __( 'Right to Left', 'premium-addons-for-elementor' ),
265
- 'right' => __( 'Left to Right', 'premium-addons-for-elementor' ),
266
- ),
267
- 'condition' => array(
268
- 'premium_button_hover_effect' => 'style1',
269
- ),
270
- 'label_block' => true,
271
- )
272
- );
273
-
274
- $this->add_control(
275
- 'premium_button_style2_dir',
276
- array(
277
- 'label' => __( 'Shutter Direction', 'premium-addons-for-elementor' ),
278
- 'type' => Controls_Manager::SELECT,
279
- 'default' => 'shutouthor',
280
- 'options' => array(
281
- 'shutinhor' => __( 'Shutter in Horizontal', 'premium-addons-for-elementor' ),
282
- 'shutinver' => __( 'Shutter in Vertical', 'premium-addons-for-elementor' ),
283
- 'shutoutver' => __( 'Shutter out Horizontal', 'premium-addons-for-elementor' ),
284
- 'shutouthor' => __( 'Shutter out Vertical', 'premium-addons-for-elementor' ),
285
- 'scshutoutver' => __( 'Scaled Shutter Vertical', 'premium-addons-for-elementor' ),
286
- 'scshutouthor' => __( 'Scaled Shutter Horizontal', 'premium-addons-for-elementor' ),
287
- 'dshutinver' => __( 'Tilted Left', 'premium-addons-for-elementor' ),
288
- 'dshutinhor' => __( 'Tilted Right', 'premium-addons-for-elementor' ),
289
- ),
290
- 'condition' => array(
291
- 'premium_button_hover_effect' => 'style2',
292
- ),
293
- 'label_block' => true,
294
- )
295
- );
296
-
297
- $this->add_control(
298
- 'premium_button_style4_dir',
299
- array(
300
- 'label' => __( 'Slide Direction', 'premium-addons-for-elementor' ),
301
- 'type' => Controls_Manager::SELECT,
302
- 'default' => 'bottom',
303
- 'options' => array(
304
- 'top' => __( 'Bottom to Top', 'premium-addons-for-elementor' ),
305
- 'bottom' => __( 'Top to Bottom', 'premium-addons-for-elementor' ),
306
- 'left' => __( 'Left to Right', 'premium-addons-for-elementor' ),
307
- 'right' => __( 'Right to Left', 'premium-addons-for-elementor' ),
308
- ),
309
- 'label_block' => true,
310
- 'condition' => array(
311
- 'premium_button_hover_effect' => array( 'style4', 'style7' ),
312
- ),
313
- )
314
- );
315
-
316
- $this->add_control(
317
- 'premium_button_style5_dir',
318
- array(
319
- 'label' => __( 'Style', 'premium-addons-for-elementor' ),
320
- 'type' => Controls_Manager::SELECT,
321
- 'default' => 'radialin',
322
- 'options' => array(
323
- 'radialin' => __( 'Radial In', 'premium-addons-for-elementor' ),
324
- 'radialout' => __( 'Radial Out', 'premium-addons-for-elementor' ),
325
- 'rectin' => __( 'Rectangle In', 'premium-addons-for-elementor' ),
326
- 'rectout' => __( 'Rectangle Out', 'premium-addons-for-elementor' ),
327
- ),
328
- 'condition' => array(
329
- 'premium_button_hover_effect' => 'style5',
330
- ),
331
- 'label_block' => true,
332
- )
333
- );
334
-
335
- $this->add_responsive_control(
336
- 'grow_size',
337
- array(
338
- 'label' => __( 'Grow Layer Size', 'premium-addons-for-elementor' ),
339
- 'type' => Controls_Manager::SLIDER,
340
- 'range' => array(
341
- 'px' => array(
342
- 'min' => 0,
343
- 'max' => 500,
344
- ),
345
- ),
346
- 'condition' => array(
347
- 'premium_button_hover_effect' => 'style6',
348
- 'mouse_detect!' => 'yes',
349
- ),
350
- 'selectors' => array(
351
- '{{WRAPPER}} .premium-button.premium-button-style6:before' => 'width: {{SIZE}}px; height: {{SIZE}}px',
352
- ),
353
- )
354
- );
355
-
356
- $this->add_responsive_control(
357
- 'grow_speed',
358
- array(
359
- 'label' => __( 'Grow Animation Speed (Sec)', 'premium-addons-for-elementor' ),
360
- 'type' => Controls_Manager::SLIDER,
361
- 'range' => array(
362
- 'px' => array(
363
- 'min' => 0,
364
- 'max' => 3,
365
- 'step' => 0.1,
366
- ),
367
- ),
368
- 'condition' => array(
369
- 'premium_button_hover_effect' => 'style6',
370
- 'mouse_detect!' => 'yes',
371
- ),
372
- 'selectors' => array(
373
- '{{WRAPPER}} .premium-button.premium-button-style6:before' => 'transition-duration: {{SIZE}}s',
374
- ),
375
- )
376
- );
377
-
378
- $this->add_control(
379
- 'mouse_detect',
380
- array(
381
- 'label' => __( 'Detect Mouse Position', 'premium-addons-for-elementor' ),
382
- 'type' => Controls_Manager::SWITCHER,
383
- 'prefix_class' => 'premium-mouse-detect-',
384
- 'render_type' => 'template',
385
- 'separator' => 'after',
386
- 'condition' => array(
387
- 'premium_button_hover_effect' => 'style6',
388
- ),
389
- )
390
- );
391
-
392
- $this->add_control(
393
- 'premium_button_icon_switcher',
394
- array(
395
- 'label' => __( 'Icon', 'premium-addons-for-elementor' ),
396
- 'type' => Controls_Manager::SWITCHER,
397
- 'description' => __( 'Enable or disable button icon', 'premium-addons-for-elementor' ),
398
- 'condition' => array(
399
- 'premium_button_hover_effect!' => 'style4',
400
- ),
401
- )
402
- );
403
-
404
- $common_conditions = array(
405
- 'premium_button_icon_switcher' => 'yes',
406
- 'premium_button_hover_effect!' => 'style4',
407
- );
408
-
409
- $this->add_control(
410
- 'icon_type',
411
- array(
412
- 'label' => __( 'Icon Type', 'premium-addons-for-elementor' ),
413
- 'type' => Controls_Manager::SELECT,
414
- 'options' => array(
415
- 'icon' => __( 'Icon', 'premium-addons-for-elementor' ),
416
- 'animation' => __( 'Lottie Animation', 'premium-addons-for-elementor' ),
417
- 'svg' => __( 'SVG Code', 'premium-addons-for-elementor' ),
418
- ),
419
- 'default' => 'icon',
420
- 'label_block' => true,
421
- 'condition' => $common_conditions,
422
- )
423
- );
424
-
425
- $this->add_control(
426
- 'premium_button_icon_selection_updated',
427
- array(
428
- 'label' => __( 'Icon', 'premium-addons-for-elementor' ),
429
- 'type' => Controls_Manager::ICONS,
430
- 'fa4compatibility' => 'premium_button_icon_selection',
431
- 'default' => array(
432
- 'value' => 'fas fa-star',
433
- 'library' => 'fa-solid',
434
- ),
435
- 'condition' => array_merge(
436
- $common_conditions,
437
- array(
438
- 'icon_type' => 'icon',
439
- )
440
- ),
441
- 'label_block' => true,
442
- )
443
- );
444
-
445
- $this->add_control(
446
- 'custom_svg',
447
- array(
448
- 'label' => __( 'SVG Code', 'premium-addons-for-elementor' ),
449
- 'type' => Controls_Manager::TEXTAREA,
450
- 'description' => 'You can use these sites to create SVGs: <a href="https://danmarshall.github.io/google-font-to-svg-path/" target="_blank">Google Fonts</a> and <a href="https://boxy-svg.com/" target="_blank">Boxy SVG</a>',
451
- 'condition' => array_merge(
452
- $common_conditions,
453
- array(
454
- 'icon_type' => 'svg',
455
- )
456
- ),
457
- )
458
- );
459
-
460
- $this->add_control(
461
- 'lottie_url',
462
- array(
463
- 'label' => __( 'Animation JSON URL', 'premium-addons-for-elementor' ),
464
- 'type' => Controls_Manager::TEXT,
465
- 'dynamic' => array( 'active' => true ),
466
- 'description' => 'Get JSON code URL from <a href="https://lottiefiles.com/" target="_blank">here</a>',
467
- 'label_block' => true,
468
- 'condition' => array_merge(
469
- $common_conditions,
470
- array(
471
- 'icon_type' => 'animation',
472
- )
473
- ),
474
- )
475
- );
476
-
477
- $animation_conds = array(
478
- 'terms' => array(
479
- array(
480
- 'name' => 'premium_button_icon_switcher',
481
- 'value' => 'yes',
482
- ),
483
- array(
484
- 'name' => 'premium_button_hover_effect',
485
- 'operator' => '!==',
486
- 'value' => 'style4',
487
- ),
488
- array(
489
- 'relation' => 'or',
490
- 'terms' => array(
491
- array(
492
- 'name' => 'icon_type',
493
- 'value' => 'animation',
494
- ),
495
- array(
496
- 'terms' => array(
497
- array(
498
- 'relation' => 'or',
499
- 'terms' => array(
500
- array(
501
- 'name' => 'icon_type',
502
- 'value' => 'icon',
503
- ),
504
- array(
505
- 'name' => 'icon_type',
506
- 'value' => 'svg',
507
- ),
508
- ),
509
- ),
510
- array(
511
- 'name' => 'draw_svg',
512
- 'value' => 'yes',
513
- ),
514
- ),
515
- ),
516
- ),
517
- ),
518
- ),
519
- );
520
-
521
- $this->add_control(
522
- 'draw_svg',
523
- array(
524
- 'label' => __( 'Draw Icon', 'premium-addons-for-elementor' ),
525
- 'type' => Controls_Manager::SWITCHER,
526
- 'classes' => $draw_icon ? '' : 'editor-pa-control-disabled',
527
- 'condition' => array_merge(
528
- $common_conditions,
529
- array(
530
- 'icon_type' => array( 'icon', 'svg' ),
531
- 'premium_button_icon_selection_updated[library]!' => 'svg',
532
- )
533
- ),
534
- )
535
- );
536
-
537
- if ( $draw_icon ) {
538
-
539
- $this->add_control(
540
- 'stroke_width',
541
- array(
542
- 'label' => __( 'Path Thickness', 'premium-addons-for-elementor' ),
543
- 'type' => Controls_Manager::SLIDER,
544
- 'range' => array(
545
- 'px' => array(
546
- 'min' => 0,
547
- 'max' => 50,
548
- 'step' => 0.1,
549
- ),
550
- ),
551
- 'condition' => array_merge(
552
- $common_conditions,
553
- array(
554
- 'icon_type' => array( 'icon', 'svg' ),
555
- )
556
- ),
557
- 'selectors' => array(
558
- '{{WRAPPER}} .premium-button-text-icon-wrapper svg *' => 'stroke-width: {{SIZE}}',
559
- ),
560
- )
561
- );
562
-
563
- $this->add_control(
564
- 'svg_sync',
565
- array(
566
- 'label' => __( 'Draw All Paths Together', 'premium-addons-for-elementor' ),
567
- 'type' => Controls_Manager::SWITCHER,
568
- 'condition' => array_merge(
569
- $common_conditions,
570
- array(
571
- 'icon_type' => array( 'icon', 'svg' ),
572
- 'draw_svg' => 'yes',
573
- )
574
- ),
575
- )
576
- );
577
-
578
- $this->add_control(
579
- 'frames',
580
- array(
581
- 'label' => __( 'Speed', 'premium-addons-for-elementor' ),
582
- 'type' => Controls_Manager::NUMBER,
583
- 'description' => __( 'Larger value means longer animation duration.', 'premium-addons-for-elementor' ),
584
- 'default' => 5,
585
- 'min' => 1,
586
- 'max' => 100,
587
- 'condition' => array_merge(
588
- $common_conditions,
589
- array(
590
- 'icon_type' => array( 'icon', 'svg' ),
591
- 'draw_svg' => 'yes',
592
- )
593
- ),
594
- )
595
- );
596
-
597
- } else {
598
-
599
- Helper_Functions::get_draw_svg_notice(
600
- $this,
601
- 'button',
602
- array_merge(
603
- $common_conditions,
604
- array(
605
- 'icon_type' => array( 'icon', 'svg' ),
606
- 'premium_button_icon_selection_updated[library]!' => 'svg',
607
- )
608
- )
609
- );
610
-
611
- }
612
-
613
- $this->add_control(
614
- 'lottie_loop',
615
- array(
616
- 'label' => __( 'Loop', 'premium-addons-for-elementor' ),
617
- 'type' => Controls_Manager::SWITCHER,
618
- 'return_value' => 'true',
619
- 'default' => 'true',
620
- 'conditions' => $animation_conds,
621
- )
622
- );
623
-
624
- $this->add_control(
625
- 'lottie_reverse',
626
- array(
627
- 'label' => __( 'Reverse', 'premium-addons-for-elementor' ),
628
- 'type' => Controls_Manager::SWITCHER,
629
- 'return_value' => 'true',
630
- 'conditions' => $animation_conds,
631
- )
632
- );
633
-
634
- if ( $draw_icon ) {
635
- $this->add_control(
636
- 'start_point',
637
- array(
638
- 'label' => __( 'Start Point (%)', 'premium-addons-for-elementor' ),
639
- 'type' => Controls_Manager::SLIDER,
640
- 'description' => __( 'Set the point that the SVG should start from.', 'premium-addons-for-elementor' ),
641
- 'default' => array(
642
- 'unit' => '%',
643
- 'size' => 0,
644
- ),
645
- 'condition' => array_merge(
646
- $common_conditions,
647
- array(
648
- 'icon_type' => array( 'icon', 'svg' ),
649
- 'draw_svg' => 'yes',
650
- 'lottie_reverse!' => 'true',
651
- )
652
- ),
653
- )
654
- );
655
-
656
- $this->add_control(
657
- 'end_point',
658
- array(
659
- 'label' => __( 'End Point (%)', 'premium-addons-for-elementor' ),
660
- 'type' => Controls_Manager::SLIDER,
661
- 'description' => __( 'Set the point that the SVG should end at.', 'premium-addons-for-elementor' ),
662
- 'default' => array(
663
- 'unit' => '%',
664
- 'size' => 0,
665
- ),
666
- 'condition' => array_merge(
667
- $common_conditions,
668
- array(
669
- 'icon_type' => array( 'icon', 'svg' ),
670
- 'draw_svg' => 'yes',
671
- 'lottie_reverse' => 'true',
672
- )
673
- ),
674
-
675
- )
676
- );
677
-
678
- $this->add_control(
679
- 'svg_hover',
680
- array(
681
- 'label' => __( 'Only Play on Hover', 'premium-addons-for-elementor' ),
682
- 'type' => Controls_Manager::SWITCHER,
683
- 'return_value' => 'true',
684
- 'condition' => array_merge(
685
- $common_conditions,
686
- array(
687
- 'icon_type' => array( 'icon', 'svg' ),
688
- 'draw_svg' => 'yes',
689
- )
690
- ),
691
- )
692
- );
693
-
694
- $this->add_control(
695
- 'svg_yoyo',
696
- array(
697
- 'label' => __( 'Yoyo Effect', 'premium-addons-for-elementor' ),
698
- 'type' => Controls_Manager::SWITCHER,
699
- 'condition' => array_merge(
700
- $common_conditions,
701
- array(
702
- 'icon_type' => array( 'icon', 'svg' ),
703
- 'draw_svg' => 'yes',
704
- 'lottie_loop' => 'true',
705
- )
706
- ),
707
- )
708
- );
709
- }
710
-
711
- $this->add_control(
712
- 'slide_icon_type',
713
- array(
714
- 'label' => __( 'Icon Type', 'premium-addons-for-elementor' ),
715
- 'type' => Controls_Manager::SELECT,
716
- 'options' => array(
717
- 'icon' => __( 'Icon', 'premium-addons-for-elementor' ),
718
- 'animation' => __( 'Lottie Animation', 'premium-addons-for-elementor' ),
719
- ),
720
- 'default' => 'icon',
721
- 'label_block' => true,
722
- 'condition' => array(
723
- 'premium_button_hover_effect' => 'style4',
724
- ),
725
- )
726
- );
727
-
728
- $this->add_control(
729
- 'premium_button_style4_icon_selection_updated',
730
- array(
731
- 'label' => __( 'Icon', 'premium-addons-for-elementor' ),
732
- 'type' => Controls_Manager::ICONS,
733
- 'fa4compatibility' => 'premium_button_style4_icon_selection',
734
- 'default' => array(
735
- 'value' => 'fas fa-bars',
736
- 'library' => 'fa-solid',
737
- ),
738
- 'condition' => array(
739
- 'slide_icon_type' => 'icon',
740
- 'premium_button_hover_effect' => 'style4',
741
- ),
742
- 'label_block' => true,
743
- )
744
- );
745
-
746
- $this->add_control(
747
- 'slide_lottie_url',
748
- array(
749
- 'label' => __( 'Animation JSON URL', 'premium-addons-for-elementor' ),
750
- 'type' => Controls_Manager::TEXT,
751
- 'dynamic' => array( 'active' => true ),
752
- 'description' => 'Get JSON code URL from <a href="https://lottiefiles.com/" target="_blank">here</a>',
753
- 'label_block' => true,
754
- 'condition' => array(
755
- 'slide_icon_type' => 'animation',
756
- 'premium_button_hover_effect' => 'style4',
757
- ),
758
- )
759
- );
760
-
761
- $this->add_control(
762
- 'premium_button_icon_position',
763
- array(
764
- 'label' => __( 'Icon Position', 'premium-addons-for-elementor' ),
765
- 'type' => Controls_Manager::SELECT,
766
- 'default' => 'before',
767
- 'options' => array(
768
- 'before' => __( 'Before', 'premium-addons-for-elementor' ),
769
- 'after' => __( 'After', 'premium-addons-for-elementor' ),
770
- ),
771
- 'label_block' => true,
772
- 'condition' => array(
773
- 'premium_button_icon_switcher' => 'yes',
774
- 'premium_button_hover_effect!' => 'style4',
775
- ),
776
- )
777
- );
778
-
779
- $this->add_responsive_control(
780
- 'premium_button_icon_before_size',
781
- array(
782
- 'label' => __( 'Icon Size', 'premium-addons-for-elementor' ),
783
- 'type' => Controls_Manager::SLIDER,
784
- 'range' => array(
785
- 'px' => array(
786
- 'min' => 0,
787
- 'max' => 200,
788
- ),
789
- ),
790
- 'condition' => array(
791
- 'premium_button_icon_switcher' => 'yes',
792
- 'premium_button_hover_effect!' => 'style4',
793
- ),
794
- 'selectors' => array(
795
- '{{WRAPPER}} .premium-button-text-icon-wrapper i' => 'font-size: {{SIZE}}px',
796
- '{{WRAPPER}} .premium-button-text-icon-wrapper svg' => 'width: {{SIZE}}px !important; height: {{SIZE}}px !important',
797
- ),
798
- )
799
- );
800
-
801
- $this->add_responsive_control(
802
- 'premium_button_icon_style4_size',
803
- array(
804
- 'label' => __( 'Icon Size', 'premium-addons-for-elementor' ),
805
- 'type' => Controls_Manager::SLIDER,
806
- 'condition' => array(
807
- 'premium_button_hover_effect' => 'style4',
808
- ),
809
- 'selectors' => array(
810
- '{{WRAPPER}} .premium-button-style4-icon-wrapper i' => 'font-size: {{SIZE}}px',
811
- '{{WRAPPER}} .premium-button-style4-icon-wrapper svg' => 'width: {{SIZE}}px !important; height: {{SIZE}}px !important',
812
- ),
813
- )
814
- );
815
-
816
- $icon_spacing = is_rtl() ? 'left' : 'right';
817
-
818
- $icon_spacing_after = is_rtl() ? 'right' : 'left';
819
-
820
- $this->add_responsive_control(
821
- 'premium_button_icon_before_spacing',
822
- array(
823
- 'label' => __( 'Icon Spacing', 'premium-addons-for-elementor' ),
824
- 'type' => Controls_Manager::SLIDER,
825
- 'condition' => array(
826
- 'premium_button_icon_switcher' => 'yes',
827
- 'premium_button_icon_position' => 'before',
828
- 'premium_button_hover_effect!' => array( 'style3', 'style4' ),
829
- ),
830
- 'default' => array(
831
- 'size' => 15,
832
- ),
833
- 'selectors' => array(
834
- '{{WRAPPER}} .premium-button-text-icon-wrapper i, {{WRAPPER}} .premium-button-text-icon-wrapper svg' => 'margin-' . $icon_spacing . ': {{SIZE}}px',
835
- ),
836
- 'separator' => 'after',
837
- )
838
- );
839
-
840
- $this->add_responsive_control(
841
- 'premium_button_icon_after_spacing',
842
- array(
843
- 'label' => __( 'Icon Spacing', 'premium-addons-for-elementor' ),
844
- 'type' => Controls_Manager::SLIDER,
845
- 'condition' => array(
846
- 'premium_button_icon_switcher' => 'yes',
847
- 'premium_button_icon_position' => 'after',
848
- 'premium_button_hover_effect!' => array( 'style3', 'style4' ),
849
- ),
850
- 'default' => array(
851
- 'size' => 15,
852
- ),
853
- 'selectors' => array(
854
- '{{WRAPPER}} .premium-button-text-icon-wrapper i, {{WRAPPER}} .premium-button-text-icon-wrapper svg' => 'margin-' . $icon_spacing_after . ': {{SIZE}}px',
855
- ),
856
- 'separator' => 'after',
857
- )
858
- );
859
-
860
- $this->add_responsive_control(
861
- 'premium_button_icon_style3_before_transition',
862
- array(
863
- 'label' => __( 'Icon Spacing', 'premium-addons-for-elementor' ),
864
- 'type' => Controls_Manager::SLIDER,
865
- 'condition' => array(
866
- 'premium_button_icon_switcher' => 'yes',
867
- 'premium_button_icon_position' => 'before',
868
- 'premium_button_hover_effect' => 'style3',
869
- ),
870
- 'range' => array(
871
- 'px' => array(
872
- 'min' => -50,
873
- 'max' => 50,
874
- ),
875
- ),
876
- 'selectors' => array(
877
- '{{WRAPPER}} .premium-button-style3-before:hover i, {{WRAPPER}} .premium-button-style3-before:hover svg' => '-webkit-transform: translateX({{SIZE}}{{UNIT}}); transform: translateX({{SIZE}}{{UNIT}})',
878
- ),
879
- )
880
- );
881
-
882
- $this->add_responsive_control(
883
- 'premium_button_icon_style3_after_transition',
884
- array(
885
- 'label' => __( 'Icon Spacing', 'premium-addons-for-elementor' ),
886
- 'type' => Controls_Manager::SLIDER,
887
- 'condition' => array(
888
- 'premium_button_icon_switcher' => 'yes',
889
- 'premium_button_icon_position!' => 'before',
890
- 'premium_button_hover_effect' => 'style3',
891
- ),
892
- 'range' => array(
893
- 'px' => array(
894
- 'min' => -50,
895
- 'max' => 50,
896
- ),
897
- ),
898
- 'selectors' => array(
899
- '{{WRAPPER}} .premium-button-style3-after:hover i, {{WRAPPER}} .premium-button-style3-after:hover svg' => '-webkit-transform: translateX({{SIZE}}{{UNIT}}); transform: translateX({{SIZE}}{{UNIT}})',
900
- ),
901
- )
902
- );
903
-
904
- $this->add_control(
905
- 'slide_lottie_loop',
906
- array(
907
- 'label' => __( 'Loop', 'premium-addons-for-elementor' ),
908
- 'type' => Controls_Manager::SWITCHER,
909
- 'return_value' => 'true',
910
- 'default' => 'true',
911
- 'condition' => array(
912
- 'slide_icon_type' => 'animation',
913
- 'premium_button_hover_effect' => 'style4',
914
- ),
915
- )
916
- );
917
-
918
- $this->add_control(
919
- 'slide_lottie_reverse',
920
- array(
921
- 'label' => __( 'Reverse', 'premium-addons-for-elementor' ),
922
- 'type' => Controls_Manager::SWITCHER,
923
- 'return_value' => 'true',
924
- 'condition' => array(
925
- 'slide_icon_type' => 'animation',
926
- 'premium_button_hover_effect' => 'style4',
927
- ),
928
- )
929
- );
930
-
931
- $this->add_control(
932
- 'premium_button_size',
933
- array(
934
- 'label' => __( 'Size', 'premium-addons-for-elementor' ),
935
- 'type' => Controls_Manager::SELECT,
936
- 'default' => 'lg',
937
- 'options' => array(
938
- 'sm' => __( 'Small', 'premium-addons-for-elementor' ),
939
- 'md' => __( 'Medium', 'premium-addons-for-elementor' ),
940
- 'lg' => __( 'Large', 'premium-addons-for-elementor' ),
941
- 'block' => __( 'Block', 'premium-addons-for-elementor' ),
942
- ),
943
- 'label_block' => true,
944
- 'separator' => 'before',
945
- )
946
- );
947
-
948
- $this->add_responsive_control(
949
- 'premium_button_align',
950
- array(
951
- 'label' => __( 'Alignment', 'premium-addons-for-elementor' ),
952
- 'type' => Controls_Manager::CHOOSE,
953
- 'options' => array(
954
- 'left' => array(
955
- 'title' => __( 'Left', 'premium-addons-for-elementor' ),
956
- 'icon' => 'eicon-text-align-left',
957
- ),
958
- 'center' => array(
959
- 'title' => __( 'Center', 'premium-addons-for-elementor' ),
960
- 'icon' => 'eicon-text-align-center',
961
- ),
962
- 'right' => array(
963
- 'title' => __( 'Right', 'premium-addons-for-elementor' ),
964
- 'icon' => 'eicon-text-align-right',
965
- ),
966
- ),
967
- 'selectors' => array(
968
- '{{WRAPPER}} .elementor-widget-container' => 'text-align: {{VALUE}}',
969
- ),
970
- 'toggle' => false,
971
- 'default' => 'center',
972
- 'condition' => array(
973
- 'premium_button_size!' => 'block',
974
- ),
975
- )
976
- );
977
-
978
- $this->add_control(
979
- 'premium_button_event_switcher',
980
- array(
981
- 'label' => __( 'onclick Event', 'premium-addons-for-elementor' ),
982
- 'type' => Controls_Manager::SWITCHER,
983
- 'separator' => 'before',
984
- )
985
- );
986
-
987
- $this->add_control(
988
- 'premium_button_event_function',
989
- array(
990
- 'label' => __( 'Example: myFunction();', 'premium-addons-for-elementor' ),
991
- 'type' => Controls_Manager::CODE,
992
- 'dynamic' => array( 'active' => true ),
993
- 'condition' => array(
994
- 'premium_button_event_switcher' => 'yes',
995
- ),
996
- )
997
- );
998
-
999
- $this->end_controls_section();
1000
-
1001
- $this->start_controls_section(
1002
- 'section_pa_docs',
1003
- array(
1004
- 'label' => __( 'Helpful Documentations', 'premium-addons-for-elementor' ),
1005
- )
1006
- );
1007
-
1008
- $docs = array(
1009
- 'https://premiumaddons.com/docs/button-widget-tutorial' => __( 'Getting started »', 'premium-addons-for-elementor' ),
1010
- 'https://premiumaddons.com/docs/how-can-i-open-an-elementor-popup-using-premium-button' => __( 'How to open an Elementor popup using button widget »', 'premium-addons-for-elementor' ),
1011
- 'https://premiumaddons.com/docs/how-to-play-pause-a-soundtrack-using-premium-button-widget' => __( 'How to play/pause a soundtrack using button widget »', 'premium-addons-for-elementor' ),
1012
- 'https://premiumaddons.com/docs/how-to-use-elementor-widgets-to-navigate-through-carousel-widget-slides/' => __( 'How To Use Premium Button To Navigate Through Carousel Widget Slides »', 'premium-addons-for-elementor' ),
1013
- );
1014
-
1015
- $doc_index = 1;
1016
- foreach ( $docs as $url => $title ) {
1017
-
1018
- $doc_url = Helper_Functions::get_campaign_link( $url, 'editor-page', 'wp-editor', 'get-support' );
1019
-
1020
- $this->add_control(
1021
- 'doc_' . $doc_index,
1022
- array(
1023
- 'type' => Controls_Manager::RAW_HTML,
1024
- 'raw' => sprintf( '<a href="%s" target="_blank">%s</a>', $doc_url, $title ),
1025
- 'content_classes' => 'editor-pa-doc',
1026
- )
1027
- );
1028
-
1029
- $doc_index++;
1030
-
1031
- }
1032
-
1033
- $this->end_controls_section();
1034
-
1035
- $this->start_controls_section(
1036
- 'premium_button_style_section',
1037
- array(
1038
- 'label' => __( 'Button', 'premium-addons-for-elementor' ),
1039
- 'tab' => Controls_Manager::TAB_STYLE,
1040
- )
1041
- );
1042
-
1043
- if ( $draw_icon ) {
1044
- $this->add_control(
1045
- 'svg_color',
1046
- array(
1047
- 'label' => __( 'After Draw Fill Color', 'premium-addons-for-elementor' ),
1048
- 'type' => Controls_Manager::COLOR,
1049
- 'global' => false,
1050
- 'separator' => 'after',
1051
- 'condition' => array(
1052
- 'premium_button_icon_switcher' => 'yes',
1053
- 'icon_type' => array( 'icon', 'svg' ),
1054
- 'premium_button_hover_effect!' => 'style4',
1055
- 'draw_svg' => 'yes',
1056
- ),
1057
- )
1058
- );
1059
- }
1060
-
1061
- $this->add_group_control(
1062
- Group_Control_Typography::get_type(),
1063
- array(
1064
- 'name' => 'premium_button_typo',
1065
- 'global' => array(
1066
- 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1067
- ),
1068
- 'selector' => '{{WRAPPER}} .premium-button',
1069
- )
1070
- );
1071
-
1072
- $this->start_controls_tabs( 'premium_button_style_tabs' );
1073
-
1074
- $this->start_controls_tab(
1075
- 'premium_button_style_normal',
1076
- array(
1077
- 'label' => __( 'Normal', 'premium-addons-for-elementor' ),
1078
- )
1079
- );
1080
-
1081
- $this->add_control(
1082
- 'premium_button_text_color_normal',
1083
- array(
1084
- 'label' => __( 'Text Color', 'premium-addons-for-elementor' ),
1085
- 'type' => Controls_Manager::COLOR,
1086
- 'global' => array(
1087
- 'default' => Global_Colors::COLOR_SECONDARY,
1088
- ),
1089
- 'selectors' => array(
1090
- '{{WRAPPER}} .premium-button .premium-button-text-icon-wrapper span' => 'color: {{VALUE}};',
1091
- ),
1092
- )
1093
- );
1094
-
1095
- $this->add_control(
1096
- 'premium_button_icon_color_normal',
1097
- array(
1098
- 'label' => __( 'Icon Color', 'premium-addons-for-elementor' ),
1099
- 'type' => Controls_Manager::COLOR,
1100
- 'global' => array(
1101
- 'default' => Global_Colors::COLOR_SECONDARY,
1102
- ),
1103
- 'selectors' => array(
1104
- '{{WRAPPER}} .premium-button-text-icon-wrapper i' => 'color: {{VALUE}}',
1105
- '{{WRAPPER}} .premium-drawable-icon' => 'fill: {{VALUE}};',
1106
- ),
1107
- 'condition' => array(
1108
- 'premium_button_icon_switcher' => 'yes',
1109
- 'icon_type' => 'icon',
1110
- 'premium_button_hover_effect!' => array( 'style3', 'style4' ),
1111
- ),
1112
- )
1113
- );
1114
-
1115
- if ( $draw_icon ) {
1116
- $this->add_control(
1117
- 'stroke_color',
1118
- array(
1119
- 'label' => __( 'Stroke Color', 'premium-addons-for-elementor' ),
1120
- 'type' => Controls_Manager::COLOR,
1121
- 'global' => array(
1122
- 'default' => Global_Colors::COLOR_ACCENT,
1123
- ),
1124
- 'condition' => array(
1125
- 'premium_button_icon_switcher' => 'yes',
1126
- 'icon_type' => array( 'icon', 'svg' ),
1127
- 'premium_button_hover_effect!' => array( 'style3', 'style4' ),
1128
- ),
1129
- 'selectors' => array(
1130
- '{{WRAPPER}} .premium-drawable-icon *' => 'stroke: {{VALUE}};',
1131
- ),
1132
- )
1133
- );
1134
- }
1135
-
1136
- $this->add_control(
1137
- 'premium_button_background_normal',
1138
- array(
1139
- 'label' => __( 'Background Color', 'premium-addons-for-elementor' ),
1140
- 'type' => Controls_Manager::COLOR,
1141
- 'global' => array(
1142
- 'default' => Global_Colors::COLOR_PRIMARY,
1143
- ),
1144
- 'selectors' => array(
1145
- '{{WRAPPER}} .premium-button, {{WRAPPER}} .premium-button.premium-button-style2-shutinhor:before , {{WRAPPER}} .premium-button.premium-button-style2-shutinver:before , {{WRAPPER}} .premium-button-style5-radialin:before , {{WRAPPER}} .premium-button-style5-rectin:before' => 'background-color: {{VALUE}};',
1146
- ),
1147
- )
1148
- );
1149
-
1150
- $this->add_group_control(
1151
- Group_Control_Border::get_type(),
1152
- array(
1153
- 'name' => 'premium_button_border_normal',
1154
- 'selector' => '{{WRAPPER}} .premium-button',
1155
- )
1156
- );
1157
-
1158
- $this->add_control(
1159
- 'premium_button_border_radius_normal',
1160
- array(
1161
- 'label' => __( 'Border Radius', 'premium-addons-for-elementor' ),
1162
- 'type' => Controls_Manager::SLIDER,
1163
- 'size_units' => array( 'px', '%', 'em' ),
1164
- 'selectors' => array(
1165
- '{{WRAPPER}} .premium-button' => 'border-radius: {{SIZE}}{{UNIT}};',
1166
- ),
1167
- 'condition' => array(
1168
- 'button_adv_radius!' => 'yes',
1169
- ),
1170
- )
1171
- );
1172
-
1173
- $this->add_control(
1174
- 'button_adv_radius',
1175
- array(
1176
- 'label' => __( 'Advanced Border Radius', 'premium-addons-for-elementor' ),
1177
- 'type' => Controls_Manager::SWITCHER,
1178
- 'description' => __( 'Apply custom radius values. Get the radius value from ', 'premium-addons-for-elementor' ) . '<a href="https://9elements.github.io/fancy-border-radius/" target="_blank">here</a>',
1179
- )
1180
- );
1181
-
1182
- $this->add_control(
1183
- 'button_adv_radius_value',
1184
- array(
1185
- 'label' => __( 'Border Radius', 'premium-addons-for-elementor' ),
1186
- 'type' => Controls_Manager::TEXT,
1187
- 'dynamic' => array( 'active' => true ),
1188
- 'selectors' => array(
1189
- '{{WRAPPER}} .premium-button' => 'border-radius: {{VALUE}};',
1190
- ),
1191
- 'condition' => array(
1192
- 'button_adv_radius' => 'yes',
1193
- ),
1194
- )
1195
- );
1196
-
1197
- $this->add_group_control(
1198
- Group_Control_Text_Shadow::get_type(),
1199
- array(
1200
- 'label' => __( 'Icon Shadow', 'premium-addons-for-elementor' ),
1201
- 'name' => 'premium_button_icon_shadow_normal',
1202
- 'selector' => '{{WRAPPER}} .premium-button-text-icon-wrapper i',
1203
- 'condition' => array(
1204
- 'premium_button_icon_switcher' => 'yes',
1205
- 'icon_type' => 'icon',
1206
- 'premium_button_hover_effect!' => array( 'style3', 'style4' ),
1207
- ),
1208
- )
1209
- );
1210
-
1211
- $this->add_group_control(
1212
- Group_Control_Text_Shadow::get_type(),
1213
- array(
1214
- 'label' => __( 'Text Shadow', 'premium-addons-for-elementor' ),
1215
- 'name' => 'premium_button_text_shadow_normal',
1216
- 'selector' => '{{WRAPPER}} .premium-button-text-icon-wrapper span',
1217
- )
1218
- );
1219
-
1220
- $this->add_group_control(
1221
- Group_Control_Box_Shadow::get_type(),
1222
- array(
1223
- 'label' => __( 'Button Shadow', 'premium-addons-for-elementor' ),
1224
- 'name' => 'premium_button_box_shadow_normal',
1225
- 'selector' => '{{WRAPPER}} .premium-button',
1226
- )
1227
- );
1228
-
1229
- $this->add_responsive_control(
1230
- 'premium_button_margin_normal',
1231
- array(
1232
- 'label' => __( 'Margin', 'premium-addons-for-elementor' ),
1233
- 'type' => Controls_Manager::DIMENSIONS,
1234
- 'size_units' => array( 'px', 'em', '%' ),
1235
- 'selectors' => array(
1236
- '{{WRAPPER}} .premium-button' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1237
- ),
1238
- )
1239
- );
1240
-
1241
- $this->add_responsive_control(
1242
- 'premium_button_padding_normal',
1243
- array(
1244
- 'label' => __( 'Padding', 'premium-addons-for-elementor' ),
1245
- 'type' => Controls_Manager::DIMENSIONS,
1246
- 'size_units' => array( 'px', 'em', '%' ),
1247
- 'selectors' => array(
1248
- '{{WRAPPER}} .premium-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1249
- ),
1250
- )
1251
- );
1252
-
1253
- $this->end_controls_tab();
1254
-
1255
- $this->start_controls_tab(
1256
- 'premium_button_style_hover',
1257
- array(
1258
- 'label' => __( 'Hover', 'premium-addons-for-elementor' ),
1259
- )
1260
- );
1261
-
1262
- $this->add_control(
1263
- 'premium_button_text_color_hover',
1264
- array(
1265
- 'label' => __( 'Text Color', 'premium-addons-for-elementor' ),
1266
- 'type' => Controls_Manager::COLOR,
1267
- 'global' => array(
1268
- 'default' => Global_Colors::COLOR_PRIMARY,
1269
- ),
1270
- 'selectors' => array(
1271
- '{{WRAPPER}} .premium-button:hover .premium-button-text-icon-wrapper span' => 'color: {{VALUE}};',
1272
- ),
1273
- 'condition' => array(
1274
- 'premium_button_hover_effect!' => 'style4',
1275
- ),
1276
- )
1277
- );
1278
-
1279
- $this->add_control(
1280
- 'premium_button_icon_color_hover',
1281
- array(
1282
- 'label' => __( 'Icon Color', 'premium-addons-for-elementor' ),
1283
- 'type' => Controls_Manager::COLOR,
1284
- 'global' => array(
1285
- 'default' => Global_Colors::COLOR_PRIMARY,
1286
- ),
1287
- 'selectors' => array(
1288
- '{{WRAPPER}} .premium-button:hover .premium-button-text-icon-wrapper i' => 'color: {{VALUE}}',
1289
- '{{WRAPPER}} .premium-button:hover .premium-drawable-icon' => 'fill: {{VALUE}};',
1290
- ),
1291
- 'condition' => array(
1292
- 'premium_button_icon_switcher' => 'yes',
1293
- 'icon_type' => 'icon',
1294
- 'premium_button_hover_effect!' => 'style4',
1295
- ),
1296
- )
1297
- );
1298
-
1299
- if ( $draw_icon ) {
1300
- $this->add_control(
1301
- 'stroke_color_hover',
1302
- array(
1303
- 'label' => __( 'Stroke Color', 'premium-addons-for-elementor' ),
1304
- 'type' => Controls_Manager::COLOR,
1305
- 'global' => array(
1306
- 'default' => Global_Colors::COLOR_ACCENT,
1307
- ),
1308
- 'condition' => array(
1309
- 'premium_button_icon_switcher' => 'yes',
1310
- 'icon_type' => array( 'icon', 'svg' ),
1311
- 'premium_button_hover_effect!' => 'style4',
1312
- ),
1313
- 'selectors' => array(
1314
- '{{WRAPPER}} .premium-button:hover .premium-drawable-icon *' => 'stroke: {{VALUE}};',
1315
- ),
1316
- )
1317
- );
1318
- }
1319
-
1320
- $this->add_control(
1321
- 'premium_button_style4_icon_color',
1322
- array(
1323
- 'label' => __( 'Icon Color', 'premium-addons-for-elementor' ),
1324
- 'type' => Controls_Manager::COLOR,
1325
- 'global' => array(
1326
- 'default' => Global_Colors::COLOR_PRIMARY,
1327
- ),
1328
- 'selectors' => array(
1329
- '{{WRAPPER}} .premium-button-style4-icon-wrapper' => 'color: {{VALUE}}',
1330
- '{{WRAPPER}} .premium-button-style4-icon-wrapper svg' => 'fill: {{VALUE}}',
1331
- ),
1332
- 'condition' => array(
1333
- 'premium_button_hover_effect' => 'style4',
1334
- 'slide_icon_type' => 'icon',
1335
- ),
1336
- )
1337
- );
1338
-
1339
- $this->add_control(
1340
- 'premium_button_background_hover',
1341
- array(
1342
- 'label' => __( 'Background Color', 'premium-addons-for-elementor' ),
1343
- 'type' => Controls_Manager::COLOR,
1344
- 'global' => array(
1345
- 'default' => Global_Colors::COLOR_TEXT,
1346
- ),
1347
- 'selectors' => array(
1348
- '{{WRAPPER}} .premium-button-none:hover, {{WRAPPER}} .premium-button-style1:before, {{WRAPPER}} .premium-button-style2-shutouthor:before, {{WRAPPER}} .premium-button-style2-shutoutver:before, {{WRAPPER}} .premium-button-style2-shutinhor, {{WRAPPER}} .premium-button-style2-shutinver, {{WRAPPER}} .premium-button-style2-dshutinhor:before, {{WRAPPER}} .premium-button-style2-dshutinver:before, {{WRAPPER}} .premium-button-style2-scshutouthor:before, {{WRAPPER}} .premium-button-style2-scshutoutver:before, {{WRAPPER}} .premium-button-style3-after:hover, {{WRAPPER}} .premium-button-style3-before:hover, {{WRAPPER}} .premium-button-style4-icon-wrapper, {{WRAPPER}} .premium-button-style5-radialin, {{WRAPPER}} .premium-button-style5-radialout:before, {{WRAPPER}} .premium-button-style5-rectin, {{WRAPPER}} .premium-button-style5-rectout:before, {{WRAPPER}} .premium-button-style6-bg, {{WRAPPER}} .premium-button-style6:before' => 'background-color: {{VALUE}}',
1349
- ),
1350
- 'condition' => array(
1351
- 'premium_button_hover_effect!' => 'style7',
1352
-
1353
- ),
1354
- )
1355
- );
1356
-
1357
- $this->add_control(
1358
- 'first_layer_hover',
1359
- array(
1360
- 'label' => __( 'Layer #1 Color', 'premium-addons-for-elementor' ),
1361
- 'type' => Controls_Manager::COLOR,
1362
- 'global' => array(
1363
- 'default' => Global_Colors::COLOR_SECONDARY,
1364
- ),
1365
- 'selectors' => array(
1366
- '{{WRAPPER}} .premium-button-style7 .premium-button-text-icon-wrapper:before' => 'background-color: {{VALUE}}',
1367
- ),
1368
- 'condition' => array(
1369
- 'premium_button_hover_effect' => 'style7',
1370
-
1371
- ),
1372
- )
1373
- );
1374
-
1375
- $this->add_control(
1376
- 'second_layer_hover',
1377
- array(
1378
- 'label' => __( 'Layer #2 Color', 'premium-addons-for-elementor' ),
1379
- 'type' => Controls_Manager::COLOR,
1380
- 'global' => array(
1381
- 'default' => Global_Colors::COLOR_TEXT,
1382
- ),
1383
- 'selectors' => array(
1384
- '{{WRAPPER}} .premium-button-style7 .premium-button-text-icon-wrapper:after' => 'background-color: {{VALUE}}',
1385
- ),
1386
- 'condition' => array(
1387
- 'premium_button_hover_effect' => 'style7',
1388
- ),
1389
- )
1390
- );
1391
-
1392
- $this->add_group_control(
1393
- Group_Control_Border::get_type(),
1394
- array(
1395
- 'name' => 'premium_button_border_hover',
1396
- 'selector' => '{{WRAPPER}} .premium-button:hover',
1397
- )
1398
- );
1399
-
1400
- $this->add_control(
1401
- 'premium_button_border_radius_hover',
1402
- array(
1403
- 'label' => __( 'Border Radius', 'premium-addons-for-elementor' ),
1404
- 'type' => Controls_Manager::SLIDER,
1405
- 'size_units' => array( 'px', '%', 'em' ),
1406
- 'selectors' => array(
1407
- '{{WRAPPER}} .premium-button:hover' => 'border-radius: {{SIZE}}{{UNIT}};',
1408
- ),
1409
- 'condition' => array(
1410
- 'button_hover_adv_radius!' => 'yes',
1411
- ),
1412
- )
1413
- );
1414
-
1415
- $this->add_control(
1416
- 'button_hover_adv_radius',
1417
- array(
1418
- 'label' => __( 'Advanced Border Radius', 'premium-addons-for-elementor' ),
1419
- 'type' => Controls_Manager::SWITCHER,
1420
- 'description' => __( 'Apply custom radius values. Get the radius value from ', 'premium-addons-for-elementor' ) . '<a href="https://9elements.github.io/fancy-border-radius/" target="_blank">here</a>',
1421
- )
1422
- );
1423
-
1424
- $this->add_control(
1425
- 'button_hover_adv_radius_value',
1426
- array(
1427
- 'label' => __( 'Border Radius', 'premium-addons-for-elementor' ),
1428
- 'type' => Controls_Manager::TEXT,
1429
- 'dynamic' => array( 'active' => true ),
1430
- 'selectors' => array(
1431
- '{{WRAPPER}} .premium-button:hover' => 'border-radius: {{VALUE}};',
1432
- ),
1433
- 'condition' => array(
1434
- 'button_hover_adv_radius' => 'yes',
1435
- ),
1436
- )
1437
- );
1438
-
1439
- $this->add_group_control(
1440
- Group_Control_Text_Shadow::get_type(),
1441
- array(
1442
- 'label' => __( 'Icon Shadow', 'premium-addons-for-elementor' ),
1443
- 'name' => 'premium_button_icon_shadow_hover',
1444
- 'selector' => '{{WRAPPER}} .premium-button:hover .premium-button-text-icon-wrapper i',
1445
- 'condition' => array(
1446
- 'premium_button_icon_switcher' => 'yes',
1447
- 'icon_type' => 'icon',
1448
- 'premium_button_hover_effect!' => 'style4',
1449
- ),
1450
- )
1451
- );
1452
-
1453
- $this->add_group_control(
1454
- Group_Control_Text_Shadow::get_type(),
1455
- array(
1456
- 'label' => __( 'Icon Shadow', 'premium-addons-for-elementor' ),
1457
- 'name' => 'premium_button_style4_icon_shadow_hover',
1458
- 'selector' => '{{WRAPPER}} .premium-button:hover .premium-button-style4-icon-wrapper',
1459
- 'condition' => array(
1460
- 'premium_button_hover_effect' => 'style4',
1461
- 'slide_icon_type' => 'icon',
1462
- ),
1463
- )
1464
- );
1465
-
1466
- $this->add_group_control(
1467
- Group_Control_Text_Shadow::get_type(),
1468
- array(
1469
- 'label' => __( 'Text Shadow', 'premium-addons-for-elementor' ),
1470
- 'name' => 'premium_button_text_shadow_hover',
1471
- 'selector' => '{{WRAPPER}} .premium-button:hover .premium-button-text-icon-wrapper span',
1472
- 'condition' => array(
1473
- 'premium_button_hover_effect!' => 'style4',
1474
- ),
1475
- )
1476
- );
1477
-
1478
- $this->add_group_control(
1479
- Group_Control_Box_Shadow::get_type(),
1480
- array(
1481
- 'label' => __( 'Button Shadow', 'premium-addons-for-elementor' ),
1482
- 'name' => 'premium_button_box_shadow_hover',
1483
- 'selector' => '{{WRAPPER}} .premium-button:hover',
1484
- )
1485
- );
1486
-
1487
- $this->add_responsive_control(
1488
- 'premium_button_margin_hover',
1489
- array(
1490
- 'label' => __( 'Margin', 'premium-addons-for-elementor' ),
1491
- 'type' => Controls_Manager::DIMENSIONS,
1492
- 'size_units' => array( 'px', 'em', '%' ),
1493
- 'selectors' => array(
1494
- '{{WRAPPER}} .premium-button:hover' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1495
- ),
1496
- )
1497
- );
1498
-
1499
- $this->add_responsive_control(
1500
- 'premium_button_padding_hover',
1501
- array(
1502
- 'label' => __( 'Padding', 'premium-addons-for-elementor' ),
1503
- 'type' => Controls_Manager::DIMENSIONS,
1504
- 'size_units' => array( 'px', 'em', '%' ),
1505
- 'selectors' => array(
1506
- '{{WRAPPER}} .premium-button:hover' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1507
- ),
1508
- )
1509
- );
1510
-
1511
- $this->end_controls_tab();
1512
-
1513
- $this->end_controls_tabs();
1514
-
1515
- $this->end_controls_section();
1516
- }
1517
-
1518
- /**
1519
- * Render Button output on the frontend.
1520
- *
1521
- * Written in PHP and used to generate the final HTML.
1522
- *
1523
- * @since 1.0.0
1524
- * @access protected
1525
- */
1526
- protected function render() {
1527
-
1528
- $settings = $this->get_settings_for_display();
1529
-
1530
- $this->add_inline_editing_attributes( 'premium_button_text' );
1531
-
1532
- $button_text = $settings['premium_button_text'];
1533
-
1534
- if ( 'url' === $settings['premium_button_link_selection'] ) {
1535
- $button_url = $settings['premium_button_link'];
1536
- } else {
1537
- $button_url = get_permalink( $settings['premium_button_existing_link'] );
1538
- }
1539
-
1540
- $button_size = 'premium-btn-' . $settings['premium_button_size'];
1541
-
1542
- $button_event = $settings['premium_button_event_function'];
1543
-
1544
- if ( 'yes' === $settings['premium_button_icon_switcher'] ) {
1545
-
1546
- $icon_type = $settings['icon_type'];
1547
-
1548
- if ( 'icon' === $icon_type || 'svg' === $icon_type ) {
1549
-
1550
- $this->add_render_attribute( 'icon', 'class', 'premium-drawable-icon' );
1551
-
1552
- if ( 'icon' === $icon_type ) {
1553
-
1554
- if ( ! empty( $settings['premium_button_icon_selection'] ) ) {
1555
- $this->add_render_attribute(
1556
- 'icon',
1557
- array(
1558
- 'class' => $settings['premium_button_icon_selection'],
1559
- 'aria-hidden' => 'true',
1560
- )
1561
- );
1562
- }
1563
-
1564
- $migrated = isset( $settings['__fa4_migrated']['premium_but