Version Description
1 June 2020 =
Tweak: Slide item link support for Carousel widget
Tweak: Slide item link support for Slider widget
Tweak: More html tags support for textarea/description type input
Tweak: Advanced button support for Team Member widget
Tweak: Restored default placeholder image
Fix: Adminbar happy icon markup issue
Fix: Carousel and Slider css issue
Fix: SVG icon sizing issues in all widgets
Fix: WPML support issue
Fix: 360 widget default style
Download this release
Release Info
Developer | thehappymonster |
Plugin | Happy Addons for Elementor (Mega Menu, Post Grid, Woocommerce Product Grid, Table, Event Calendar, Slider Elementor Widget) |
Version | 2.11.0 |
Comparing to | |
See all releases |
Code changes from version 2.10.0 to 2.11.0
- assets/admin/js/editor.js +111 -26
- assets/admin/js/editor.min.js +1 -1
- assets/css/main.css +120 -61
- assets/css/main.min.css +1 -1
- assets/css/widgets/btn.min.css +1 -1
- assets/css/widgets/flip-box.min.css +1 -1
- assets/css/widgets/fun-factor.min.css +1 -1
- assets/css/widgets/icon-box.min.css +1 -1
- assets/css/widgets/infobox.min.css +1 -1
- assets/css/widgets/member.min.css +1 -1
- assets/css/widgets/post-list.min.css +1 -1
- assets/css/widgets/pricing-table.min.css +1 -1
- assets/css/widgets/slider-carousel.min.css +1 -1
- assets/css/widgets/social-icons.min.css +1 -1
- assets/css/widgets/steps-flow.min.css +1 -1
- assets/css/widgets/taxonomy-list.min.css +1 -1
- assets/imgs/bf-img.png +0 -0
- assets/imgs/placeholder.jpg +0 -0
- base.php +3 -13
- changelog.txt +13 -0
- classes/admin-bar.php +1 -1
- classes/assets-manager.php +0 -7
- classes/widgets-manager.php +2 -1
- classes/wpml-manager.php +4 -0
- extensions/wrapper-link.php +1 -1
- inc/functions.php +79 -5
- plugin.php +2 -2
- readme.txt +20 -1
- traits/button-renderer.php +58 -0
- widgets/card/widget.php +1093 -1160
- widgets/carousel/widget.php +790 -768
- widgets/dual-button/widget.php +2 -2
- widgets/flip-box/widget.php +24 -4
- widgets/fun-factor/widget.php +51 -65
- widgets/gradient-heading/widget.php +1 -1
- widgets/icon-box/widget.php +4 -4
- widgets/infobox/widget.php +967 -1028
- widgets/member/widget.php +1287 -970
- widgets/pricing-table/widget.php +2 -2
- widgets/slider/widget.php +32 -8
- widgets/social-icons/widget.php +4 -7
- widgets/step-flow/widget.php +7 -3
- widgets/threesixty-rotation/widget.php +9 -1
assets/admin/js/editor.js
CHANGED
@@ -1,5 +1,108 @@
|
|
1 |
;(function($) {
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
elementor.on('panel:init', function() {
|
5 |
$('#elementor-panel-elements-search-input').on('keyup', _.debounce(function() {
|
@@ -128,27 +231,10 @@
|
|
128 |
elementor.addControlView( 'icons', WithHappyIcons );
|
129 |
}
|
130 |
|
131 |
-
window.ha_has_icon_library = function() {
|
132 |
-
return ( elementor.helpers && elementor.helpers.renderIcon );
|
133 |
-
};
|
134 |
-
|
135 |
-
window.ha_get_feature_label = function( text ) {
|
136 |
-
var div = document.createElement('DIV');
|
137 |
-
|
138 |
-
div.innerHTML = text;
|
139 |
-
text = div.textContent || div.innerText || text;
|
140 |
-
|
141 |
-
return text.length > 20 ? text.substring(0, 20) + "..." : text;
|
142 |
-
};
|
143 |
-
|
144 |
-
function ha_translate(stringKey, templateArgs) {
|
145 |
-
return elementorCommon.translate(stringKey, null, templateArgs, HappyAddonsEditor.i18n);
|
146 |
-
}
|
147 |
-
|
148 |
elementor.modules.layouts.panel.pages.menu.Menu.addItem({
|
149 |
name: 'happyaddons-home',
|
150 |
icon: 'hm hm-happyaddons',
|
151 |
-
title:
|
152 |
type: 'link',
|
153 |
link: HappyAddonsEditor.editorPanelHomeLinkURL,
|
154 |
newTab: true
|
@@ -157,12 +243,12 @@
|
|
157 |
elementor.modules.layouts.panel.pages.menu.Menu.addItem({
|
158 |
name: 'happyaddons-widgets',
|
159 |
icon: 'hm hm-cross-game',
|
160 |
-
title:
|
161 |
type: 'link',
|
162 |
link: HappyAddonsEditor.editorPanelWidgetsLinkURL,
|
163 |
newTab: true
|
164 |
}, 'settings');
|
165 |
-
|
166 |
/**
|
167 |
* Add pro widgets placeholder
|
168 |
*/
|
@@ -206,7 +292,7 @@
|
|
206 |
defaultActive: false,
|
207 |
items: proWidgets,
|
208 |
}, {
|
209 |
-
at: freeCategoryIndex + 1
|
210 |
});
|
211 |
}
|
212 |
|
@@ -234,8 +320,8 @@
|
|
234 |
elementor.promotion.dialog.buttons[0].addClass('ha-btn--promotion');
|
235 |
|
236 |
elementor.promotion.showDialog( {
|
237 |
-
headerMessage:
|
238 |
-
message:
|
239 |
top: '-7',
|
240 |
element: this.el,
|
241 |
actionURL: 'https://demo.happyaddons.com/',
|
@@ -254,6 +340,5 @@
|
|
254 |
});
|
255 |
|
256 |
return regionViews;
|
257 |
-
|
258 |
-
|
259 |
}(jQuery));
|
1 |
;(function($) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
window.ha = window.ha || {};
|
5 |
+
|
6 |
+
ha.hasIconLibrary = function() {
|
7 |
+
return ( elementor.helpers && elementor.helpers.renderIcon );
|
8 |
+
};
|
9 |
+
|
10 |
+
ha.getFeatureLabel = function( text ) {
|
11 |
+
var div = document.createElement('DIV');
|
12 |
+
|
13 |
+
div.innerHTML = text;
|
14 |
+
text = div.textContent || div.innerText || text;
|
15 |
+
|
16 |
+
return text.length > 20 ? text.substring(0, 20) + '...' : text;
|
17 |
+
};
|
18 |
+
|
19 |
+
ha.translate = function(stringKey, templateArgs) {
|
20 |
+
return elementorCommon.translate(stringKey, null, templateArgs, HappyAddonsEditor.i18n);
|
21 |
+
};
|
22 |
+
|
23 |
+
ha.getButtonWithIcon = function(view, args) {
|
24 |
+
var buttonMarkup = [],
|
25 |
+
settings = {},
|
26 |
+
btnIconHTML,
|
27 |
+
btnMigrated,
|
28 |
+
btnIcon,
|
29 |
+
buttonBefore,
|
30 |
+
buttonAfter;
|
31 |
+
|
32 |
+
args = args || {};
|
33 |
+
args = _.defaults( args, {
|
34 |
+
oldIcon: 'button_icon',
|
35 |
+
iconPos: 'button_icon_position',
|
36 |
+
newIcon: 'button_selected_icon',
|
37 |
+
text: 'button_text',
|
38 |
+
link: 'button_link',
|
39 |
+
class: 'ha-btn ha-btn--link',
|
40 |
+
textClass: 'ha-btn-text',
|
41 |
+
} );
|
42 |
+
|
43 |
+
if (!_.isObject(view) || _.isUndefined(view['getContainer']) ) {
|
44 |
+
return '';
|
45 |
+
}
|
46 |
+
|
47 |
+
settings = view.getContainer().settings.toJSON();
|
48 |
+
|
49 |
+
if ( ha.hasIconLibrary() ) {
|
50 |
+
btnIconHTML = elementor.helpers.renderIcon( view, settings[args.newIcon], { 'aria-hidden': true, 'class': 'ha-btn-icon' }, 'i' , 'object' ),
|
51 |
+
btnMigrated = elementor.helpers.isIconMigrated( settings, args.newIcon );
|
52 |
+
}
|
53 |
+
|
54 |
+
view.addInlineEditingAttributes( args.text, 'none' );
|
55 |
+
view.addRenderAttribute( args.text, 'class', args.textClass );
|
56 |
+
|
57 |
+
view.addRenderAttribute( 'button', 'class', args.class );
|
58 |
+
view.addRenderAttribute( 'button', 'href', settings[args.link].url );
|
59 |
+
|
60 |
+
if ( ( settings[args.newIcon] && settings[args.newIcon].value ) || settings[args.oldIcon] ) {
|
61 |
+
if ( ha.hasIconLibrary() && btnIconHTML && btnIconHTML.rendered && ( ! settings[args.oldIcon] || btnMigrated ) ) {
|
62 |
+
if ( settings[args.newIcon].library === 'svg' ) {
|
63 |
+
btnIcon = '<span class="ha-btn-icon ha-btn-icon--svg">' + btnIconHTML.value + '</span>';
|
64 |
+
} else {
|
65 |
+
btnIcon = btnIconHTML.value;
|
66 |
+
}
|
67 |
+
} else if ( settings[args.oldIcon] ) {
|
68 |
+
btnIcon = '<i class="ha-btn-icon ' + args.oldIcon + '" aria-hidden="true"></i>';
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
72 |
+
if ( settings[args.text] && ( ! settings[args.newIcon] && ! settings[args.oldIcon] ) ) {
|
73 |
+
buttonMarkup = [
|
74 |
+
'<a ' + view.getRenderAttributeString( 'button' ) + '>',
|
75 |
+
'<span ' + view.getRenderAttributeString( args.text ) + '>',
|
76 |
+
settings[args.text],
|
77 |
+
'</span>',
|
78 |
+
'</a>',
|
79 |
+
];
|
80 |
+
} else if ( ! settings[args.text] && ( settings[args.newIcon] || settings[args.oldIcon] ) ) {
|
81 |
+
buttonMarkup = [
|
82 |
+
'<a ' + view.getRenderAttributeString( 'button' ) + '>',
|
83 |
+
btnIcon,
|
84 |
+
'</a>',
|
85 |
+
];
|
86 |
+
} else if ( settings[args.text] && ( settings[args.newIcon] || settings[args.oldIcon] ) ) {
|
87 |
+
if ( settings[args.iconPos] === 'before' ) {
|
88 |
+
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-before' );
|
89 |
+
buttonBefore = btnIcon;
|
90 |
+
buttonAfter = '<span ' + view.getRenderAttributeString( args.text ) + '>' + settings[args.text] + '</span>';
|
91 |
+
} else {
|
92 |
+
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-after' );
|
93 |
+
buttonAfter = btnIcon;
|
94 |
+
buttonBefore = '<span ' + view.getRenderAttributeString( args.text ) + '>' + settings[args.text] + '</span>';
|
95 |
+
}
|
96 |
+
buttonMarkup = [
|
97 |
+
'<a ' + view.getRenderAttributeString( 'button' ) + '>',
|
98 |
+
buttonBefore,
|
99 |
+
buttonAfter,
|
100 |
+
'</a>',
|
101 |
+
];
|
102 |
+
}
|
103 |
+
|
104 |
+
return buttonMarkup.join('');
|
105 |
+
}
|
106 |
|
107 |
elementor.on('panel:init', function() {
|
108 |
$('#elementor-panel-elements-search-input').on('keyup', _.debounce(function() {
|
231 |
elementor.addControlView( 'icons', WithHappyIcons );
|
232 |
}
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
elementor.modules.layouts.panel.pages.menu.Menu.addItem({
|
235 |
name: 'happyaddons-home',
|
236 |
icon: 'hm hm-happyaddons',
|
237 |
+
title: ha.translate( 'editorPanelHomeLinkTitle' ),
|
238 |
type: 'link',
|
239 |
link: HappyAddonsEditor.editorPanelHomeLinkURL,
|
240 |
newTab: true
|
243 |
elementor.modules.layouts.panel.pages.menu.Menu.addItem({
|
244 |
name: 'happyaddons-widgets',
|
245 |
icon: 'hm hm-cross-game',
|
246 |
+
title: ha.translate( 'editorPanelWidgetsLinkTitle' ),
|
247 |
type: 'link',
|
248 |
link: HappyAddonsEditor.editorPanelWidgetsLinkURL,
|
249 |
newTab: true
|
250 |
}, 'settings');
|
251 |
+
|
252 |
/**
|
253 |
* Add pro widgets placeholder
|
254 |
*/
|
292 |
defaultActive: false,
|
293 |
items: proWidgets,
|
294 |
}, {
|
295 |
+
at: freeCategoryIndex + 1
|
296 |
});
|
297 |
}
|
298 |
|
320 |
elementor.promotion.dialog.buttons[0].addClass('ha-btn--promotion');
|
321 |
|
322 |
elementor.promotion.showDialog( {
|
323 |
+
headerMessage: ha.translate( 'promotionDialogHeader', [ this.model.get( 'title' ) ] ),
|
324 |
+
message: ha.translate( 'promotionDialogMessage', [ this.model.get( 'title' ) ] ),
|
325 |
top: '-7',
|
326 |
element: this.el,
|
327 |
actionURL: 'https://demo.happyaddons.com/',
|
340 |
});
|
341 |
|
342 |
return regionViews;
|
343 |
+
});
|
|
|
344 |
}(jQuery));
|
assets/admin/js/editor.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){"use strict";function t(){return{translate:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],skew:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],scale:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],rotate:["x","y","z","x_tablet","y_tablet","z_tablet","x_mobile","y_mobile","z_mobile"]}}function n(e,t,n){e="ha_transform_fx_"+e,t="ha_transform_fx_"+t,n.on("change:"+e,function(e,o){if(!o){var i=elementor.getPanelView().getCurrentPageView().children.find(function(e){return e.model.get("name")===t});n.set(t,_.extend({},n.defaults[t])),i&&i.render()}})}function o(e){var o=elementorFrontend.config.elements.data[e.cid];_.each(t(),function(e,t){_.each(e,function(e){n(t+"_toggle",t+"_"+e,o)})}),elementor.getPanelView().getCurrentPageView().model.on("editor:close",function(){_.each(t(),function(e,t){o.off("change:ha_transform_fx_"+t+"_toggle")})})}function
|
1 |
+
!function(e){"use strict";function t(){return{translate:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],skew:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],scale:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],rotate:["x","y","z","x_tablet","y_tablet","z_tablet","x_mobile","y_mobile","z_mobile"]}}function n(e,t,n){e="ha_transform_fx_"+e,t="ha_transform_fx_"+t,n.on("change:"+e,function(e,o){if(!o){var i=elementor.getPanelView().getCurrentPageView().children.find(function(e){return e.model.get("name")===t});n.set(t,_.extend({},n.defaults[t])),i&&i.render()}})}function o(e){var o=elementorFrontend.config.elements.data[e.cid];_.each(t(),function(e,t){_.each(e,function(e){n(t+"_toggle",t+"_"+e,o)})}),elementor.getPanelView().getCurrentPageView().model.on("editor:close",function(){_.each(t(),function(e,t){o.off("change:ha_transform_fx_"+t+"_toggle")})})}if(window.ha=window.ha||{},ha.hasIconLibrary=function(){return elementor.helpers&&elementor.helpers.renderIcon},ha.getFeatureLabel=function(e){var t=document.createElement("DIV");return t.innerHTML=e,e=t.textContent||t.innerText||e,e.length>20?e.substring(0,20)+"...":e},ha.translate=function(e,t){return elementorCommon.translate(e,null,t,HappyAddonsEditor.i18n)},ha.getButtonWithIcon=function(e,t){var n,o,i,a,r,s=[],l={};return t=t||{},t=_.defaults(t,{oldIcon:"button_icon",iconPos:"button_icon_position",newIcon:"button_selected_icon",text:"button_text",link:"button_link",class:"ha-btn ha-btn--link",textClass:"ha-btn-text"}),!_.isObject(e)||_.isUndefined(e.getContainer)?"":(l=e.getContainer().settings.toJSON(),ha.hasIconLibrary()&&(n=elementor.helpers.renderIcon(e,l[t.newIcon],{"aria-hidden":!0,class:"ha-btn-icon"},"i","object"),o=elementor.helpers.isIconMigrated(l,t.newIcon)),e.addInlineEditingAttributes(t.text,"none"),e.addRenderAttribute(t.text,"class",t.textClass),e.addRenderAttribute("button","class",t.class),e.addRenderAttribute("button","href",l[t.link].url),(l[t.newIcon]&&l[t.newIcon].value||l[t.oldIcon])&&(ha.hasIconLibrary()&&n&&n.rendered&&(!l[t.oldIcon]||o)?i="svg"===l[t.newIcon].library?'<span class="ha-btn-icon ha-btn-icon--svg">'+n.value+"</span>":n.value:l[t.oldIcon]&&(i='<i class="ha-btn-icon '+t.oldIcon+'" aria-hidden="true"></i>')),!l[t.text]||l[t.newIcon]||l[t.oldIcon]?l[t.text]||!l[t.newIcon]&&!l[t.oldIcon]?l[t.text]&&(l[t.newIcon]||l[t.oldIcon])&&("before"===l[t.iconPos]?(e.addRenderAttribute("button","class","ha-btn--icon-before"),a=i,r="<span "+e.getRenderAttributeString(t.text)+">"+l[t.text]+"</span>"):(e.addRenderAttribute("button","class","ha-btn--icon-after"),r=i,a="<span "+e.getRenderAttributeString(t.text)+">"+l[t.text]+"</span>"),s=["<a "+e.getRenderAttributeString("button")+">",a,r,"</a>"]):s=["<a "+e.getRenderAttributeString("button")+">",i,"</a>"]:s=["<a "+e.getRenderAttributeString("button")+">","<span "+e.getRenderAttributeString(t.text)+">",l[t.text],"</span>","</a>"],s.join(""))},elementor.on("panel:init",function(){if(e("#elementor-panel-elements-search-input").on("keyup",_.debounce(function(){e("#elementor-panel-elements").find(".hm").parents(".elementor-element").addClass("is-ha-widget")},100)),"undefined"!=typeof $e||null!==$e){var t={callback:function(){var e=elementor.settings.page.model.attributes.ha_grid;""===e?elementor.settings.page.model.setExternalChange("ha_grid","yes"):"yes"===e&&elementor.settings.page.model.setExternalChange("ha_grid","")}};$e.shortcuts.register("ctrl+shift+g",t),$e.shortcuts.register("cmd+shift+g",t)}}),elementor.hooks.addAction("panel/open_editor/widget",function(e,t){o(t)}),elementor.modules.controls.Icons){var i=elementor.modules.controls.Icons.extend({getControlValue:function(){var e=this.constructor.__super__.getControlValue.call(this),t=this.model,n=this.getValueToMigrate(),o={value:"",library:"happy-icons"},i=this.container&&this.container.settings||this.elementSettingsModel;if(_.isObject(e)&&!_.isEmpty(e)&&"svg"!==e.library&&0===e.value.indexOf("fashm"))return o.value=e.value.substr(e.value.indexOf("hm hm-")),i.set(t.get("name"),o),o;if(!_.isObject(e)&&n&&0===n.indexOf("hm hm-"))return o.value=n,i.set(t.get("name"),o),o;if(!this.isMigrationAllowed())return n;if(!n)return e;var a=i.get(this.dataKeys.migratedKey),r=t.get("name");return this.cache.migratedFlag[r]?this.cache.migratedFlag[r]:a&&a[r]?e:this.migrateFa4toFa5(n)}});elementor.addControlView("icons",i)}elementor.modules.layouts.panel.pages.menu.Menu.addItem({name:"happyaddons-home",icon:"hm hm-happyaddons",title:ha.translate("editorPanelHomeLinkTitle"),type:"link",link:HappyAddonsEditor.editorPanelHomeLinkURL,newTab:!0},"settings"),elementor.modules.layouts.panel.pages.menu.Menu.addItem({name:"happyaddons-widgets",icon:"hm hm-cross-game",title:ha.translate("editorPanelWidgetsLinkTitle"),type:"link",link:HappyAddonsEditor.editorPanelWidgetsLinkURL,newTab:!0},"settings"),elementor.hooks.addFilter("panel/elements/regionViews",function(e){if(HappyAddonsEditor.hasPro||_.isEmpty(HappyAddonsEditor.proWidgets))return e;var t,n,o=e.elements.view,i=e.categories.view,a=e.elements.options.collection,r=e.categories.options.collection,s=[];return _.each(HappyAddonsEditor.proWidgets,function(e,t){a.add({name:"ha-"+t,title:e.title,icon:e.icon,categories:["happy_addons_pro"],editable:!1})}),a.each(function(e){"happy_addons_pro"===e.get("categories")[0]&&s.push(e)}),n=r.findIndex({name:"happy_addons_category"}),n&&r.add({name:"happy_addons_pro_category",title:"Happy Addons Pro",icon:"hm hm-happyaddons",defaultActive:!1,items:s},{at:n+1}),t={className:function(){var e=this.constructor.__super__.className.call(this);return!this.isEditable()&&this.isHappyWidget()&&(e+=" ha-element--promotion"),e},isHappyWidget:function(){return 0===this.model.get("name").indexOf("ha-")},onMouseDown:function(){if(!this.isHappyWidget())return elementor.promotion.dialog.buttons[0].removeClass("ha-btn--promotion"),void this.constructor.__super__.onMouseDown.call(this);elementor.promotion.dialog.buttons[0].addClass("ha-btn--promotion"),elementor.promotion.showDialog({headerMessage:ha.translate("promotionDialogHeader",[this.model.get("title")]),message:ha.translate("promotionDialogMessage",[this.model.get("title")]),top:"-7",element:this.el,actionURL:"https://demo.happyaddons.com/"})}},e.elements.view=o.extend({childView:o.prototype.childView.extend(t)}),e.categories.view=i.extend({childView:i.prototype.childView.extend({childView:i.prototype.childView.prototype.childView.extend(t)})}),e})}(jQuery);
|
assets/css/main.css
CHANGED
@@ -150,6 +150,13 @@
|
|
150 |
.ha-btn-text + .ha-btn-icon {
|
151 |
margin-left: 5px;
|
152 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
|
154 |
.ha-badge {
|
155 |
padding: .475rem 1.1rem;
|
@@ -359,16 +366,18 @@
|
|
359 |
margin: 0 0 1.5rem !important;
|
360 |
}
|
361 |
.ha-infobox-figure--icon {
|
362 |
-
text-align: center;
|
363 |
font-size: 3rem;
|
|
|
364 |
}
|
365 |
-
.ha-infobox-figure
|
|
|
366 |
position: relative;
|
367 |
display: block;
|
368 |
width: 1em;
|
369 |
height: 1em;
|
370 |
}
|
371 |
-
.ha-infobox-figure
|
372 |
position: absolute;
|
373 |
left: 50%;
|
374 |
-webkit-transform: translateX(-50%);
|
@@ -381,15 +390,15 @@
|
|
381 |
vertical-align: bottom;
|
382 |
}
|
383 |
|
384 |
-
.ha-infobox-text
|
385 |
-
margin-top: 1rem;
|
386 |
-
}
|
387 |
-
|
388 |
-
.ha-infobox-text > p {
|
389 |
margin-top: 0;
|
390 |
margin-bottom: 0;
|
391 |
}
|
392 |
|
|
|
|
|
|
|
|
|
393 |
.ha-card > .elementor-widget-container,
|
394 |
.ha-infobox > .elementor-widget-container,
|
395 |
.ha-icon-box > .elementor-widget-container,
|
@@ -433,17 +442,20 @@
|
|
433 |
transition: transform .3s, border .3s, background .3s, color .3s;
|
434 |
transition: transform .3s, border .3s, background .3s, color .3s, -webkit-transform .3s;
|
435 |
}
|
436 |
-
.ha-icon-box-icon
|
|
|
437 |
position: relative;
|
438 |
display: block;
|
439 |
width: 1em;
|
440 |
height: 1em;
|
|
|
|
|
441 |
-webkit-transition: -webkit-transform .3s;
|
442 |
transition: -webkit-transform .3s;
|
443 |
transition: transform .3s;
|
444 |
transition: transform .3s, -webkit-transform .3s;
|
445 |
}
|
446 |
-
.ha-icon-box-icon
|
447 |
position: absolute;
|
448 |
left: 50%;
|
449 |
-webkit-transform: translateX(-50%);
|
@@ -535,6 +547,15 @@
|
|
535 |
margin-right: .3rem;
|
536 |
}
|
537 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
538 |
.ha-card > .elementor-widget-container,
|
539 |
.ha-infobox > .elementor-widget-container,
|
540 |
.ha-icon-box > .elementor-widget-container,
|
@@ -902,7 +923,8 @@
|
|
902 |
.ha-carousel .slick-prev:focus,
|
903 |
.ha-carousel .slick-next:hover,
|
904 |
.ha-carousel .slick-next:focus {
|
905 |
-
background-color: white;
|
|
|
906 |
}
|
907 |
.ha-slider .slick-prev:before,
|
908 |
.ha-slider .slick-next:before,
|
@@ -981,7 +1003,8 @@
|
|
981 |
|
982 |
.ha-slick-item {
|
983 |
position: relative;
|
984 |
-
|
|
|
985 |
vertical-align: bottom;
|
986 |
}
|
987 |
|
@@ -2203,6 +2226,7 @@
|
|
2203 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper {
|
2204 |
position: relative;
|
2205 |
-webkit-transform: translateZ(0);
|
|
|
2206 |
|
2207 |
-webkit-perspective: 1000px;
|
2208 |
perspective: 1000px;
|
@@ -2290,16 +2314,19 @@
|
|
2290 |
color: #242424;
|
2291 |
}
|
2292 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon {
|
2293 |
-
display: inline-block;
|
2294 |
margin-bottom: 20px;
|
2295 |
text-align: center;
|
|
|
2296 |
}
|
2297 |
-
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i
|
2298 |
-
|
2299 |
display: block;
|
2300 |
width: 1em;
|
2301 |
height: 1em;
|
2302 |
-
|
|
|
|
|
2303 |
}
|
2304 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before {
|
2305 |
position: absolute;
|
@@ -2328,17 +2355,20 @@
|
|
2328 |
font-size: 18px;
|
2329 |
}
|
2330 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon {
|
2331 |
-
display: inline-block;
|
2332 |
margin-bottom: 20px;
|
2333 |
text-align: center;
|
|
|
2334 |
}
|
2335 |
-
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i
|
2336 |
-
|
2337 |
display: block;
|
2338 |
width: 1em;
|
2339 |
height: 1em;
|
|
|
|
|
|
|
2340 |
color: #fff;
|
2341 |
-
font-size: 20px;
|
2342 |
}
|
2343 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before {
|
2344 |
position: absolute;
|
@@ -2501,11 +2531,16 @@
|
|
2501 |
margin-bottom: 1rem;
|
2502 |
font-size: 16px;
|
2503 |
}
|
2504 |
-
.ha-pricing-table-features-list i
|
|
|
2505 |
margin-right: .5rem;
|
2506 |
min-width: 15px;
|
2507 |
font-size: .8em;
|
2508 |
}
|
|
|
|
|
|
|
|
|
2509 |
|
2510 |
.ha-pricing-table-feature-text {
|
2511 |
display: inline-block;
|
@@ -2587,7 +2622,8 @@
|
|
2587 |
text-align: center;
|
2588 |
font-size: 46px;
|
2589 |
}
|
2590 |
-
.ha-steps-icon i
|
|
|
2591 |
position: relative;
|
2592 |
display: block;
|
2593 |
width: 1em;
|
@@ -2703,55 +2739,79 @@
|
|
2703 |
color: #e04c8a;
|
2704 |
}
|
2705 |
|
2706 |
-
.ha-fun-
|
2707 |
-
|
2708 |
-
}
|
2709 |
-
|
2710 |
-
.ha-fun-factor-content .ha-fun-factor-content-number,
|
2711 |
-
.ha-fun-factor-content .ha-fun-factor-content-text {
|
2712 |
margin-top: 0;
|
2713 |
margin-bottom: 15px;
|
2714 |
font-size: 24px;
|
2715 |
}
|
2716 |
|
2717 |
-
.ha-ff-icon--left .ha-fun-
|
2718 |
padding-left: 20px;
|
2719 |
}
|
2720 |
|
2721 |
-
.ha-ff-icon--right .ha-fun-
|
2722 |
padding-right: 20px;
|
2723 |
}
|
2724 |
|
2725 |
-
.ha-fun-
|
2726 |
display: block;
|
2727 |
margin-bottom: 15px;
|
2728 |
height: 1px;
|
2729 |
background-color: #ccc;
|
2730 |
}
|
2731 |
|
2732 |
-
.ha-ff-icon--top .ha-fun-
|
2733 |
-
.ha-ff-icon--top .ha-fun-factor-image-section {
|
2734 |
display: inline-block;
|
2735 |
margin-top: 10px;
|
2736 |
-
margin-bottom: 10px;
|
2737 |
-
width: auto;
|
2738 |
-
height: auto;
|
2739 |
}
|
2740 |
|
2741 |
-
.ha-fun-
|
2742 |
width: 200px;
|
2743 |
-
height: 100px;
|
2744 |
}
|
2745 |
|
2746 |
-
.ha-ff-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2747 |
padding: 10px;
|
2748 |
word-wrap: break-word;
|
2749 |
|
2750 |
overflow-wrap: break-word;
|
2751 |
}
|
2752 |
|
2753 |
-
.ha-ff-icon--right > .elementor-widget-container .ha-
|
2754 |
-
.ha-ff-icon--left > .elementor-widget-container .ha-
|
2755 |
display: -webkit-box;
|
2756 |
display: -webkit-flex;
|
2757 |
display: -ms-flexbox;
|
@@ -2767,7 +2827,7 @@
|
|
2767 |
flex-direction: row;
|
2768 |
}
|
2769 |
|
2770 |
-
.ha-ff-icon--right > .elementor-widget-container .ha-
|
2771 |
-webkit-box-orient: horizontal;
|
2772 |
-webkit-box-direction: reverse;
|
2773 |
-webkit-flex-direction: row-reverse;
|
@@ -2776,31 +2836,31 @@
|
|
2776 |
text-align: right;
|
2777 |
}
|
2778 |
|
2779 |
-
.ha-ff-icon--right > .elementor-widget-container .ha-
|
2780 |
-
.ha-ff-icon--left > .elementor-widget-container .ha-
|
2781 |
-
.ha-ff-icon--top > .elementor-widget-container .ha-
|
2782 |
display: block;
|
2783 |
margin-right: auto;
|
2784 |
margin-left: auto;
|
2785 |
width: 100px;
|
2786 |
}
|
2787 |
|
2788 |
-
.ha-ff-icon--right > .elementor-widget-container .ha-
|
2789 |
-
.ha-ff-icon--left > .elementor-widget-container .ha-
|
2790 |
width: 100% !important;
|
2791 |
}
|
2792 |
|
2793 |
-
.ha-fun-
|
2794 |
margin-left: 0 !important;
|
2795 |
text-align: left;
|
2796 |
}
|
2797 |
|
2798 |
-
.ha-fun-
|
2799 |
margin-right: 0 !important;
|
2800 |
text-align: right;
|
2801 |
}
|
2802 |
|
2803 |
-
.ha-fun-
|
2804 |
margin-right: auto !important;
|
2805 |
margin-left: auto !important;
|
2806 |
text-align: center;
|
@@ -2853,18 +2913,9 @@ a.ha-social-icon:after {
|
|
2853 |
margin-right: 2px;
|
2854 |
}
|
2855 |
|
2856 |
-
.ha-social-icon i
|
2857 |
-
.ha-social-icon svg {
|
2858 |
position: relative;
|
2859 |
display: initial;
|
2860 |
-
}
|
2861 |
-
|
2862 |
-
.ha-social-icon svg {
|
2863 |
-
width: 100%;
|
2864 |
-
height: 100%;
|
2865 |
-
}
|
2866 |
-
|
2867 |
-
.ha-social-icon i {
|
2868 |
width: 1em;
|
2869 |
height: 1em;
|
2870 |
}
|
@@ -2875,7 +2926,6 @@ a.ha-social-icon:after {
|
|
2875 |
width: 100%;
|
2876 |
height: 100%;
|
2877 |
font-size: 18px;
|
2878 |
-
font-family: Roboto, sans-serif;
|
2879 |
line-height: 1;
|
2880 |
}
|
2881 |
|
@@ -3228,6 +3278,10 @@ span.ha-post-list-icon {
|
|
3228 |
color: #242424;
|
3229 |
font-size: 14px;
|
3230 |
}
|
|
|
|
|
|
|
|
|
3231 |
|
3232 |
.ha-post-list-meta-wrap {
|
3233 |
display: -webkit-box;
|
@@ -3566,6 +3620,11 @@ span.ha-post-list-icon {
|
|
3566 |
color: #242424;
|
3567 |
font-size: 14px;
|
3568 |
}
|
|
|
|
|
|
|
|
|
|
|
3569 |
|
3570 |
.ha-taxonomy-list span.ha-taxonomy-list-image {
|
3571 |
margin-right: 15px;
|
150 |
.ha-btn-text + .ha-btn-icon {
|
151 |
margin-left: 5px;
|
152 |
}
|
153 |
+
.ha-btn-icon--svg {
|
154 |
+
display: inline-block;
|
155 |
+
}
|
156 |
+
.ha-btn-icon--svg svg {
|
157 |
+
width: auto;
|
158 |
+
height: 1em;
|
159 |
+
}
|
160 |
|
161 |
.ha-badge {
|
162 |
padding: .475rem 1.1rem;
|
366 |
margin: 0 0 1.5rem !important;
|
367 |
}
|
368 |
.ha-infobox-figure--icon {
|
369 |
+
text-align: center;
|
370 |
font-size: 3rem;
|
371 |
+
line-height: 1;
|
372 |
}
|
373 |
+
.ha-infobox-figure i,
|
374 |
+
.ha-infobox-figure svg {
|
375 |
position: relative;
|
376 |
display: block;
|
377 |
width: 1em;
|
378 |
height: 1em;
|
379 |
}
|
380 |
+
.ha-infobox-figure i:before {
|
381 |
position: absolute;
|
382 |
left: 50%;
|
383 |
-webkit-transform: translateX(-50%);
|
390 |
vertical-align: bottom;
|
391 |
}
|
392 |
|
393 |
+
.ha-infobox-text p {
|
|
|
|
|
|
|
|
|
394 |
margin-top: 0;
|
395 |
margin-bottom: 0;
|
396 |
}
|
397 |
|
398 |
+
.ha-infobox-text + .ha-btn--link {
|
399 |
+
margin-top: 1rem;
|
400 |
+
}
|
401 |
+
|
402 |
.ha-card > .elementor-widget-container,
|
403 |
.ha-infobox > .elementor-widget-container,
|
404 |
.ha-icon-box > .elementor-widget-container,
|
442 |
transition: transform .3s, border .3s, background .3s, color .3s;
|
443 |
transition: transform .3s, border .3s, background .3s, color .3s, -webkit-transform .3s;
|
444 |
}
|
445 |
+
.ha-icon-box-icon i,
|
446 |
+
.ha-icon-box-icon svg {
|
447 |
position: relative;
|
448 |
display: block;
|
449 |
width: 1em;
|
450 |
height: 1em;
|
451 |
+
}
|
452 |
+
.ha-icon-box-icon i {
|
453 |
-webkit-transition: -webkit-transform .3s;
|
454 |
transition: -webkit-transform .3s;
|
455 |
transition: transform .3s;
|
456 |
transition: transform .3s, -webkit-transform .3s;
|
457 |
}
|
458 |
+
.ha-icon-box-icon i:before {
|
459 |
position: absolute;
|
460 |
left: 50%;
|
461 |
-webkit-transform: translateX(-50%);
|
547 |
margin-right: .3rem;
|
548 |
}
|
549 |
|
550 |
+
.ha-member .ha-btn {
|
551 |
+
margin-bottom: 10px;
|
552 |
+
}
|
553 |
+
|
554 |
+
.ha-member-links + .ha-btn {
|
555 |
+
margin-top: 10px;
|
556 |
+
margin-bottom: 0;
|
557 |
+
}
|
558 |
+
|
559 |
.ha-card > .elementor-widget-container,
|
560 |
.ha-infobox > .elementor-widget-container,
|
561 |
.ha-icon-box > .elementor-widget-container,
|
923 |
.ha-carousel .slick-prev:focus,
|
924 |
.ha-carousel .slick-next:hover,
|
925 |
.ha-carousel .slick-next:focus {
|
926 |
+
background-color: white;
|
927 |
+
color: #8c8c8c;
|
928 |
}
|
929 |
.ha-slider .slick-prev:before,
|
930 |
.ha-slider .slick-next:before,
|
1003 |
|
1004 |
.ha-slick-item {
|
1005 |
position: relative;
|
1006 |
+
display: inline-block;
|
1007 |
+
overflow: hidden;
|
1008 |
vertical-align: bottom;
|
1009 |
}
|
1010 |
|
2226 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper {
|
2227 |
position: relative;
|
2228 |
-webkit-transform: translateZ(0);
|
2229 |
+
transform: translateZ(0);
|
2230 |
|
2231 |
-webkit-perspective: 1000px;
|
2232 |
perspective: 1000px;
|
2314 |
color: #242424;
|
2315 |
}
|
2316 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon {
|
2317 |
+
display: inline-block;
|
2318 |
margin-bottom: 20px;
|
2319 |
text-align: center;
|
2320 |
+
font-size: 28px;
|
2321 |
}
|
2322 |
+
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i,
|
2323 |
+
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon svg {
|
2324 |
display: block;
|
2325 |
width: 1em;
|
2326 |
height: 1em;
|
2327 |
+
}
|
2328 |
+
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i {
|
2329 |
+
position: relative;
|
2330 |
}
|
2331 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before {
|
2332 |
position: absolute;
|
2355 |
font-size: 18px;
|
2356 |
}
|
2357 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon {
|
2358 |
+
display: inline-block;
|
2359 |
margin-bottom: 20px;
|
2360 |
text-align: center;
|
2361 |
+
font-size: 20px;
|
2362 |
}
|
2363 |
+
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i,
|
2364 |
+
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon svg {
|
2365 |
display: block;
|
2366 |
width: 1em;
|
2367 |
height: 1em;
|
2368 |
+
}
|
2369 |
+
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i {
|
2370 |
+
position: relative;
|
2371 |
color: #fff;
|
|
|
2372 |
}
|
2373 |
.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before {
|
2374 |
position: absolute;
|
2531 |
margin-bottom: 1rem;
|
2532 |
font-size: 16px;
|
2533 |
}
|
2534 |
+
.ha-pricing-table-features-list i,
|
2535 |
+
.ha-pricing-table-features-list svg {
|
2536 |
margin-right: .5rem;
|
2537 |
min-width: 15px;
|
2538 |
font-size: .8em;
|
2539 |
}
|
2540 |
+
.ha-pricing-table-features-list svg {
|
2541 |
+
width: auto;
|
2542 |
+
height: 1em;
|
2543 |
+
}
|
2544 |
|
2545 |
.ha-pricing-table-feature-text {
|
2546 |
display: inline-block;
|
2622 |
text-align: center;
|
2623 |
font-size: 46px;
|
2624 |
}
|
2625 |
+
.ha-steps-icon i,
|
2626 |
+
.ha-steps-icon svg {
|
2627 |
position: relative;
|
2628 |
display: block;
|
2629 |
width: 1em;
|
2739 |
color: #e04c8a;
|
2740 |
}
|
2741 |
|
2742 |
+
.ha-fun-factor__content .ha-fun-factor__content-number,
|
2743 |
+
.ha-fun-factor__content .ha-fun-factor__content-text {
|
|
|
|
|
|
|
|
|
2744 |
margin-top: 0;
|
2745 |
margin-bottom: 15px;
|
2746 |
font-size: 24px;
|
2747 |
}
|
2748 |
|
2749 |
+
.ha-ff-icon--left .ha-fun-factor__content {
|
2750 |
padding-left: 20px;
|
2751 |
}
|
2752 |
|
2753 |
+
.ha-ff-icon--right .ha-fun-factor__content {
|
2754 |
padding-right: 20px;
|
2755 |
}
|
2756 |
|
2757 |
+
.ha-fun-factor__divider {
|
2758 |
display: block;
|
2759 |
margin-bottom: 15px;
|
2760 |
height: 1px;
|
2761 |
background-color: #ccc;
|
2762 |
}
|
2763 |
|
2764 |
+
.ha-ff-icon--top .ha-fun-factor__media {
|
|
|
2765 |
display: inline-block;
|
2766 |
margin-top: 10px;
|
2767 |
+
margin-bottom: 10px;
|
|
|
|
|
2768 |
}
|
2769 |
|
2770 |
+
.ha-ff-icon--top .ha-fun-factor__media--image {
|
2771 |
width: 200px;
|
|
|
2772 |
}
|
2773 |
|
2774 |
+
:not(.ha-ff-icon--top) .ha-fun-factor__media--image {
|
2775 |
+
-webkit-box-flex: 0;
|
2776 |
+
-webkit-flex: 0 0 200px;
|
2777 |
+
-ms-flex: 0 0 200px;
|
2778 |
+
flex: 0 0 200px;
|
2779 |
+
max-width: 200px;
|
2780 |
+
}
|
2781 |
+
|
2782 |
+
.ha-fun-factor__media--image img {
|
2783 |
+
width: 100%;
|
2784 |
+
height: 100%;
|
2785 |
+
vertical-align: bottom;
|
2786 |
+
}
|
2787 |
+
|
2788 |
+
.ha-fun-factor__media--icon {
|
2789 |
+
font-size: 3rem;
|
2790 |
+
}
|
2791 |
+
.ha-fun-factor__media--icon i,
|
2792 |
+
.ha-fun-factor__media--icon svg {
|
2793 |
+
position: relative;
|
2794 |
+
display: block;
|
2795 |
+
width: 1em;
|
2796 |
+
height: 1em;
|
2797 |
+
}
|
2798 |
+
.ha-fun-factor__media--icon i:before {
|
2799 |
+
position: absolute;
|
2800 |
+
left: 50%;
|
2801 |
+
-webkit-transform: translateX(-50%);
|
2802 |
+
-ms-transform: translateX(-50%);
|
2803 |
+
transform: translateX(-50%);
|
2804 |
+
}
|
2805 |
+
|
2806 |
+
.ha-fun-factor__wrap {
|
2807 |
padding: 10px;
|
2808 |
word-wrap: break-word;
|
2809 |
|
2810 |
overflow-wrap: break-word;
|
2811 |
}
|
2812 |
|
2813 |
+
.ha-ff-icon--right > .elementor-widget-container .ha-fun-factor__wrap,
|
2814 |
+
.ha-ff-icon--left > .elementor-widget-container .ha-fun-factor__wrap {
|
2815 |
display: -webkit-box;
|
2816 |
display: -webkit-flex;
|
2817 |
display: -ms-flexbox;
|
2827 |
flex-direction: row;
|
2828 |
}
|
2829 |
|
2830 |
+
.ha-ff-icon--right > .elementor-widget-container .ha-fun-factor__wrap {
|
2831 |
-webkit-box-orient: horizontal;
|
2832 |
-webkit-box-direction: reverse;
|
2833 |
-webkit-flex-direction: row-reverse;
|
2836 |
text-align: right;
|
2837 |
}
|
2838 |
|
2839 |
+
.ha-ff-icon--right > .elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,
|
2840 |
+
.ha-ff-icon--left > .elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,
|
2841 |
+
.ha-ff-icon--top > .elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider {
|
2842 |
display: block;
|
2843 |
margin-right: auto;
|
2844 |
margin-left: auto;
|
2845 |
width: 100px;
|
2846 |
}
|
2847 |
|
2848 |
+
.ha-ff-icon--right > .elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,
|
2849 |
+
.ha-ff-icon--left > .elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider {
|
2850 |
width: 100% !important;
|
2851 |
}
|
2852 |
|
2853 |
+
.ha-fun-factor__divider-align-left {
|
2854 |
margin-left: 0 !important;
|
2855 |
text-align: left;
|
2856 |
}
|
2857 |
|
2858 |
+
.ha-fun-factor__divider-align-right {
|
2859 |
margin-right: 0 !important;
|
2860 |
text-align: right;
|
2861 |
}
|
2862 |
|
2863 |
+
.ha-fun-factor__divider-align-center {
|
2864 |
margin-right: auto !important;
|
2865 |
margin-left: auto !important;
|
2866 |
text-align: center;
|
2913 |
margin-right: 2px;
|
2914 |
}
|
2915 |
|
2916 |
+
.ha-social-icon i {
|
|
|
2917 |
position: relative;
|
2918 |
display: initial;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2919 |
width: 1em;
|
2920 |
height: 1em;
|
2921 |
}
|
2926 |
width: 100%;
|
2927 |
height: 100%;
|
2928 |
font-size: 18px;
|
|
|
2929 |
line-height: 1;
|
2930 |
}
|
2931 |
|
3278 |
color: #242424;
|
3279 |
font-size: 14px;
|
3280 |
}
|
3281 |
+
span.ha-post-list-icon svg {
|
3282 |
+
width: auto;
|
3283 |
+
height: 1em;
|
3284 |
+
}
|
3285 |
|
3286 |
.ha-post-list-meta-wrap {
|
3287 |
display: -webkit-box;
|
3620 |
color: #242424;
|
3621 |
font-size: 14px;
|
3622 |
}
|
3623 |
+
.ha-taxonomy-list span.ha-taxonomy-list-icon svg {
|
3624 |
+
display: block;
|
3625 |
+
width: auto;
|
3626 |
+
height: 1em;
|
3627 |
+
}
|
3628 |
|
3629 |
.ha-taxonomy-list span.ha-taxonomy-list-image {
|
3630 |
margin-right: 15px;
|
assets/css/main.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.happy-addon>.elementor-widget-container{word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.happy-addon>.elementor-widget-container *{box-sizing:border-box}.happy-addon img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.happy-addon p:empty{display:none}.ha-screen-reader-text{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);margin:-1px;padding:0;width:1px;height:1px;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.ha-has-background-overlay>.elementor-widget-container{position:relative;z-index:1}.ha-has-background-overlay>.elementor-widget-container:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-popup--is-enabled .ha-js-popup,.ha-popup--is-enabled .ha-js-popup img{cursor:-webkit-zoom-in!important;cursor:zoom-in!important}.mfp-wrap .mfp-arrow,.mfp-wrap .mfp-close{background-color:transparent}.mfp-wrap .mfp-arrow:focus,.mfp-wrap .mfp-close:focus{outline-width:thin}.ha-btn{display:inline-block;max-width:100%;vertical-align:middle;text-align:center;text-decoration:none;font-size:14px;line-height:1;-webkit-transition:all .3s;transition:all .3s}.ha-btn:not(.ha-btn--link){padding:15px 25px;border-radius:.25rem;background-color:#562dd4;color:#fff}.ha-btn:not(.ha-btn--link):focus,.ha-btn:not(.ha-btn--link):hover{background-color:#e2498a}.ha-btn.ha-btn--link{color:#562dd4}.ha-btn.ha-btn--link:focus,.ha-btn.ha-btn--link:hover{color:#e2498a}.ha-btn-icon+.ha-btn-text,.ha-btn-text+.ha-btn-icon{margin-left:5px}.ha-badge{padding:.475rem 1.1rem;max-width:100%;border-radius:50px;background-color:#fff;font-size:12px}.ha-badge--top-left{top:1rem;left:1rem}.ha-badge--top-center{top:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--top-right{top:1rem;right:1rem}.ha-badge--middle-left{top:50%;left:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--middle-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ha-badge--middle-right{top:50%;right:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--bottom-left{bottom:1rem;left:1rem}.ha-badge--bottom-center{bottom:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--bottom-right{right:1rem;bottom:1rem}.ha-card-figure{position:relative;height:250px}.ha-card-figure img{border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.ha-card-body{padding:1.5rem}.ha-card-title{margin-top:0;margin-bottom:.75rem;color:#151515;font-weight:700;font-size:22px}.ha-card-text{margin-bottom:2rem;color:#616161;font-size:16px;line-height:1.7}.ha-card-text>p,.ha-infobox-text>p{margin-top:0;margin-bottom:0}.ha-card--top .ha-card-figure{display:inline-block;width:100%}.ha-card--left>.elementor-widget-container,.ha-card--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-card--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-card--left .ha-card-body,.ha-card--left .ha-card-figure,.ha-card--right .ha-card-body,.ha-card--right .ha-card-figure{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.ha-card--left .ha-card-body,.ha-card--right .ha-card-body{padding:2.5rem}.ha-card--left .ha-card-figure img{border-radius:calc(.5rem - 1px) 0 0 calc(.5rem - 1px)}.ha-card--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-card--right .ha-card-figure img{border-radius:0 calc(.5rem - 1px) calc(.5rem - 1px) 0}.ha-card .ha-badge{position:absolute}.ha-infobox>.elementor-widget-container{padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem}.ha-icon-box-icon>i,.ha-infobox-figure>i{position:relative;display:block;width:1em;height:1em}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before,.ha-icon-box-icon>i:before,.ha-infobox-figure>i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-card-figure img,.ha-infobox-figure img,.ha-member-figure img{width:100%;height:100%;vertical-align:bottom}.ha-infobox-text+.ha-btn--link{margin-top:1rem}.ha-icon-box>.elementor-widget-container{position:relative;padding:1.25rem}.ha-icon-box-title{margin-top:0;margin-bottom:0;color:#151515;font-size:24px;-webkit-transition:color .3s;transition:color .3s}.ha-icon-box-icon{display:inline-block;margin-bottom:1rem;color:#151515;text-align:center;font-size:3rem;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon>i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}.ha-member>.elementor-widget-container{padding:1.25rem}.ha-member-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-member-name{margin-top:0;margin-bottom:.5rem;color:#151515;font-size:18px}.ha-member-position{margin-bottom:1.5rem;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:1.5rem;font-size:14px;line-height:1.6}.ha-member-links>a{display:inline-block;color:#9895ad;text-align:center;line-height:1;-webkit-transition:all .2s;transition:all .2s}.ha-member-links>a:focus,.ha-member-links>a:hover{color:#222}.ha-member-links>a>i{width:1em;height:1em}.ha-member-links>a:not(:last-child){margin-right:.3rem}.ha-review-header{margin-top:1.5rem}.ha-review-desc p,.ha-review-figure{margin:0}.ha-review-figure img{width:100%;height:100%;border-radius:50%;vertical-align:bottom}.ha-review-reviewer{margin-top:0;margin-bottom:.3rem;color:#151515;font-size:18px}.ha-review-position{margin-bottom:.5rem;color:#7f7f7f;font-size:15px}.ha-review-ratting{display:inline-block;font-size:12px;line-height:1}.ha-review-ratting--num{padding:.25em .66em;border-radius:2.5em;background-color:#562dd4;color:#fff}.ha-review-ratting--star{color:#ffbf36}.ha-review-desc{margin-top:1.5rem;font-size:16px;line-height:1.6}.ha-review--top>.elementor-widget-container{padding:2rem}.ha-review--top .ha-review-figure{display:inline-block;max-width:70px;height:70px}.ha-review--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-review--left>.elementor-widget-container,.ha-review--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding-left:2rem}.ha-review--left .ha-review-figure,.ha-review--right .ha-review-figure{-webkit-box-flex:0;-webkit-flex:0 0 150px;-ms-flex:0 0 150px;flex:0 0 150px;max-width:150px;height:150px}.ha-review--left .ha-review-body,.ha-review--right .ha-review-body{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 150px);-ms-flex:0 0 calc(100% - 150px);flex:0 0 calc(100% - 150px);padding:2rem;max-width:calc(100% - 150px)}.ha-review--left .ha-review-body>:first-child,.ha-review--right .ha-review-body>:first-child{margin-top:0}.ha-review--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-right:2rem;padding-left:0;text-align:right}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper,a.ha-social-icon:after,a.ha-social-icon:before{border-radius:inherit}.ha-gallery-filter{margin:0 10px 2rem;padding:0;list-style:none}.ha-gallery-filter>li{display:inline-block;margin-bottom:10px;max-width:100%}.ha-gallery-filter>li:not(:last-child){margin-right:10px}.ha-gallery-filter>li>button{display:block;overflow:hidden;padding:10px 25px;max-width:100%;border:2px solid #562dd4;border-radius:.25rem;background-color:transparent;color:#562dd4;text-transform:uppercase;text-overflow:ellipsis;font-size:14px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ha-gallery-filter>li>button:focus,.ha-gallery-filter>li>button:hover{outline:0;background-color:#562dd4;color:#fff}.ha-gallery-filter>.ha-filter-active>button{background-color:#562dd4;color:#fff}.ha-image-grid-item{float:left}.ha-image-grid-inner{position:relative;display:block;overflow:hidden;margin:10px;text-decoration:none}.ha-image-grid-inner img{display:block;width:100%;-webkit-transition:all .25s;transition:all .25s}.ha-image-grid--layout-even .ha-image-grid-inner{height:250px}.ha-image-grid--layout-even .ha-image-grid-inner img{height:100%}.ha-justified-gallery-item,.ha-justified-gallery-item>img{border-radius:6px}.ha-justified-gallery .justified-gallery>.ha-justified-gallery-item>.caption{bottom:-100px!important;padding:10px;-webkit-transition:all .25s!important;transition:all .25s!important;-webkit-animation:haSmoothReveal .3s forwards;animation:haSmoothReveal .3s forwards}.ha-justified-gallery .justified-gallery>.ha-justified-gallery-item>.caption.caption-visible{bottom:0!important}.ha-justified-gallery .justified-gallery>.entry-visible>a>img,.ha-justified-gallery .justified-gallery>.entry-visible>img{-webkit-transition:all 300ms,opacity 500ms ease-in;transition:all 300ms,opacity 500ms ease-in}@-webkit-keyframes haSmoothReveal{0%{-webkit-transform:translateY(100px);transform:translateY(100px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes haSmoothReveal{0%{-webkit-transform:translateY(100px);transform:translateY(100px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.ha-carousel .slick-vertical .slick-slide,.ha-slider .slick-vertical .slick-slide{border:0}.ha-carousel .slick-next,.ha-carousel .slick-prev,.ha-slider .slick-next,.ha-slider .slick-prev{z-index:999;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background-color:rgba(255,255,255,.8);color:#8c8c8c;text-align:center;font-size:12px;opacity:1}.ha-carousel .slick-next:focus,.ha-carousel .slick-next:hover,.ha-carousel .slick-prev:focus,.ha-carousel .slick-prev:hover,.ha-slider .slick-next:focus,.ha-slider .slick-next:hover,.ha-slider .slick-prev:focus,.ha-slider .slick-prev:hover{background-color:#fff}.ha-carousel .slick-next:before,.ha-carousel .slick-prev:before,.ha-slider .slick-next:before,.ha-slider .slick-prev:before{content:""}.ha-carousel .slick-disabled,.ha-slider .slick-disabled{opacity:.7}.ha-carousel .slick-prev,.ha-slider .slick-prev{left:25px}.ha-carousel .slick-next,.ha-slider .slick-next{right:25px}.ha-carousel .slick-dots,.ha-slider .slick-dots{bottom:-40px}.ha-carousel .slick-dots li,.ha-slider .slick-dots li{margin-right:2px;margin-left:2px}.ha-carousel .slick-dots li button:focus,.ha-carousel .slick-dots li button:hover,.ha-slider .slick-dots li button:focus,.ha-slider .slick-dots li button:hover{background-color:transparent}.ha-carousel .slick-dots li button:before,.ha-slider .slick-dots li button:before{color:#1b1b1b;opacity:1}.ha-carousel .slick-dots .slick-active button:before,.ha-carousel .slick-dots li button:hover:before,.ha-slider .slick-dots .slick-active button:before,.ha-slider .slick-dots li button:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.ha-carousel .slick-next,.ha-carousel .slick-prev{width:40px;height:40px;line-height:40px}.ha-slider .slick-next,.ha-slider .slick-prev{width:50px;height:50px;line-height:50px}.ha-carousel .slick-slider:not(.slick-vertical) .slick-slide{padding-right:5px;padding-left:5px}.ha-carousel .slick-slider.slick-vertical .slick-slide{padding-top:5px;padding-bottom:5px}.ha-slick-item{position:relative;overflow:hidden;vertical-align:bottom}.ha-slick-content{position:absolute;bottom:0;padding:1.5rem;width:100%;background:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3))}.ha-slick-title{margin-top:0;margin-bottom:.2rem;color:#fff;font-size:20px}.ha-slick-subtitle{margin:0;color:#fff}.ha-skills>.elementor-widget-container{padding-top:1px}.ha-skill{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:15px;background-color:#e9ecef;font-size:.75rem}.ha-skill--inside .ha-skill-info,.ha-skill--outside .ha-skill-info{text-align:left;font-size:14px;line-height:1}.ha-skill--inside .ha-skill-level-text,.ha-skill--outside .ha-skill-level-text{float:right}.ha-skill--outside{height:2px}.ha-skill--outside .ha-skill-level{position:relative}.ha-skill--outside .ha-skill-info{position:absolute;top:-25px;width:100%;color:#242424}.ha-skill--inside{height:30px}.ha-skill--inside .ha-skill-info{padding-right:1rem;padding-left:1rem;color:#fff}.ha-skill-level{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:10%;border-radius:inherit;background-color:#562dd4;color:#fff;text-align:center;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.ha-skill--outside{margin-top:40px}.ha-skill--inside:not(:first-child){margin-top:20px}.ha-skill-name{display:inline-block;overflow:hidden;max-width:70%;text-overflow:ellipsis}.ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}.ha-logo-grid-item{float:left;overflow:hidden;height:180px;border-color:#e7e7e7}.ha-logo-grid-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;padding:30px;width:100%;height:100%}.ha-logo-grid-img{max-height:100%}@media (min-width:1025px){.ha-logo-grid--col-2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col-3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col-4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col-5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col-6 .ha-logo-grid-item{width:calc(100%/6)}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--col--tablet2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col--tablet3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col--tablet4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col--tablet5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col--tablet6 .ha-logo-grid-item{width:calc(100%/6)}}@media (max-width:767px){.ha-logo-grid--col--mobile2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col--mobile3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col--mobile4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col--mobile5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col--mobile6 .ha-logo-grid-item{width:calc(100%/6)}}.ha-logo-grid--tictactoe .ha-logo-grid-item{border-width:2px 2px 0 0;border-style:solid}@media (min-width:1025px){.ha-logo-grid--tictactoe.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}@media (max-width:767px){.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}.ha-logo-grid--border .ha-logo-grid-item{border-width:0 2px 2px 0;border-style:solid}.ha-logo-grid--border .ha-logo-grid-item:first-child{border-top-left-radius:10px}.ha-logo-grid--border .ha-logo-grid-item:last-child{border-bottom-right-radius:10px}@media (min-width:1025px){.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}@media (max-width:767px){.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}.ha-logo-grid--box .ha-logo-grid-wrapper{margin:-.5rem}.ha-logo-grid--box .ha-logo-grid-item{margin:.5rem;border-width:2px;border-style:solid;border-radius:.5rem}@media (min-width:1025px){.ha-logo-grid--box.ha-logo-grid--col-2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--box.ha-logo-grid--col--tablet2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}@media (max-width:767px){.ha-logo-grid--box.ha-logo-grid--col--mobile2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}.ha-dual-btn,.ha-dual-btn-connector{display:inline-block}.ha-dual-btn-wrapper{position:relative;text-align:center;font-weight:400}.ha-dual-btn{padding:1.2rem 3rem;max-width:100%;color:#fff;text-decoration:none;font-size:14px}.ha-dual-btn--left{background-color:#562dd4}.ha-dual-btn--left:focus,.ha-dual-btn--left:hover{background-color:#4423ab;color:#fff}.ha-dual-btn--right{background-color:#e2498a}.ha-dual-btn--right:focus,.ha-dual-btn--right:hover{background-color:#d6226e;color:#fff}.ha-dual-btn-connector{position:absolute!important;z-index:9;overflow:hidden;width:30px;height:30px;border-radius:100%;background-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.3);color:#27374c;text-transform:uppercase;font-size:12px;line-height:30px;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ha-dual-btn-icon>svg{width:1em;height:auto}.ha-dual-btn-icon>i{font-size:1em}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.ha-dual-button>.elementor-widget-container,.ha-news-ticker-wrapper ul.ha-news-ticker-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container,.ha-testimonial__reviewer{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--mobile-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--mobile-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--mobile-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--mobile-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--mobile-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}@media (min-width:768px){.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--tablet-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--tablet-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--tablet-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--tablet-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--tablet-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--tablet-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--tablet-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--tablet-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--tablet-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--tablet-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}@media (min-width:1025px){.ha-dual-button--layout-stack.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--layout-stack.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--layout-stack.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--layout-queue.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--layout-queue.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--layout-queue.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}.ha-testimonial--basic>.elementor-widget-container{padding:2rem;border:1px solid #ececec;border-radius:.5rem}.ha-testimonial--basic .ha-testimonial__content{margin-bottom:2.5em}.ha-testimonial--bubble .ha-testimonial__content{position:relative;margin-bottom:1.5rem;padding:2rem;border-radius:6px;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);line-height:1.6rem}.ha-testimonial--bubble .ha-testimonial__content:after{position:absolute;bottom:-14px;color:#fff;content:"\e911";font-style:normal;font-size:36px;font-family:"Happy Icons";-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.ha-testimonial--left.ha-testimonial--bubble .ha-testimonial__content:after{left:15px}.ha-testimonial--center.ha-testimonial--bubble .ha-testimonial__content:after{left:50%;-webkit-transform:translateX(-50%) rotate(-180deg);-ms-transform:translateX(-50%) rotate(-180deg);transform:translateX(-50%) rotate(-180deg)}.ha-testimonial--right.ha-testimonial--bubble .ha-testimonial__content:after{right:15px}.ha-testimonial__reviewer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-testimonial__reviewer-thumb{-webkit-box-flex:0;-webkit-flex:0 0 65px;-ms-flex:0 0 65px;flex:0 0 65px;max-width:65px;height:65px}.ha-testimonial__reviewer-thumb img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.ha-testimonial__reviewer-name{margin-bottom:.3rem;color:#562dd4;font-weight:700;font-size:18px}.ha-testimonial__reviewer-title{color:#8c8c8c;font-size:16px}.ha-testimonial--left .ha-testimonial__reviewer-meta{padding-left:1em}.ha-testimonial--center .ha-testimonial__reviewer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-testimonial--center .ha-testimonial__reviewer-meta{padding-top:1em;max-width:100%}.ha-testimonial--left .ha-testimonial__reviewer-meta,.ha-testimonial--right .ha-testimonial__reviewer-meta{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 65px);-ms-flex:0 0 calc(100% - 65px);flex:0 0 calc(100% - 65px);max-width:calc(100% - 65px)}.ha-testimonial--right .ha-testimonial__reviewer{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-testimonial--right .ha-testimonial__reviewer-meta{padding-right:1em}.ha-testimonial--left{text-align:left}.ha-testimonial--right{text-align:right}.ha-number-body,.ha-testimonial--center{text-align:center}.ha-number-body{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding:6px;width:50px;height:50px;border-radius:100%;background-color:#562dd4;color:#fff;font-size:20px}.ha-number-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ha-number-text{position:relative;z-index:1;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-box-heading{margin:0;font-weight:700;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner p{margin-bottom:0;font-size:16px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-box-heading-back{margin:0;color:#fff;font-size:18px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;color:#fff;font-size:20px}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-back{-webkit-transform:rotateY(0);transform:rotateY(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-back{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-front{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-back{-webkit-transform:rotateX(0);transform:rotateX(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-back{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-front{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-back,.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-front{-webkit-transition:-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275),-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275)}.ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-pricing-table>.elementor-widget-container{position:relative;overflow:hidden;padding:3em 4em}.ha-pricing-table-badge{position:absolute;top:-1px;padding:.8rem 1rem;background-color:#e2498a;color:#fff;line-height:1}.ha-pricing-table-badge--left{left:0;-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ha-pricing-table-badge--right{right:0;-webkit-transform:rotate(-90deg) translateY(-100%);-ms-transform:rotate(-90deg) translateY(-100%);transform:rotate(-90deg) translateY(-100%);-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.ha-pricing-table-title{margin-top:0;margin-bottom:.5rem;color:#242424;font-weight:400;font-size:24px}.ha-pricing-table-price{margin-bottom:3rem}.ha-pricing-table-price-tag{margin-bottom:.5rem;color:#242424;font-weight:700;font-size:60px;line-height:normal}.ha-pricing-table-currency{font-size:24px}.ha-pricing-table-period{color:#8c8c8c;font-size:16px}.ha-pricing-table-body{margin-bottom:3rem}.ha-pricing-table-features-title{margin-top:0;margin-bottom:1rem;font-weight:700;font-size:16px}.ha-pricing-table-features-list{margin:0;padding:0;list-style:none}.ha-pricing-table-features-list li{margin-bottom:1rem;font-size:16px}.ha-pricing-table-features-list i{margin-right:.5rem;min-width:15px;font-size:.8em}.ha-pricing-table-feature-text{display:inline-block}.ha-pricing-table-btn{display:inline-block;padding:.8rem 2rem;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;-webkit-transition:all .3s;transition:all .3s}.ha-pricing-table-btn:hover{background-color:#562dd4;color:#fff}.ha-card>.elementor-widget-container,.ha-icon-box>.elementor-widget-container,.ha-image-compare>.elementor-widget-container,.ha-infobox>.elementor-widget-container,.ha-member>.elementor-widget-container,.ha-pricing-table>.elementor-widget-container,.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-step-flow>.elementor-widget-container{padding:30px;text-align:center}.ha-step-arrow,.ha-step-arrow:after{position:absolute;display:inline-block;border-top:1px solid #ddd}.ha-step-arrow{left:calc(100% + 20px);top:49%;width:100px}.ha-step-arrow:after{top:-2px;right:5px;width:12px;height:12px;border-right:1px solid #ddd;color:#ddd;content:"";-webkit-transform:rotate(45deg) translateY(-50%);-ms-transform:rotate(45deg) translateY(-50%);transform:rotate(45deg) translateY(-50%)}.ha-steps-icon{position:relative;display:inline-block;margin-bottom:2rem;padding:40px;border-radius:50%;background-color:#e9ecf0;box-shadow:0 2px 6px -2px #989898;color:#8056ee;text-align:center;font-size:46px}.ha-steps-icon i{position:relative;display:block;width:1em;height:1em}.ha-steps-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-steps-icon .ha-steps-label{position:absolute;top:5px;right:0;overflow:hidden;padding:12px 8px;max-width:200%;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.ha-steps-title{margin-top:0;margin-bottom:30px;font-weight:700;font-size:16px}.ha-steps-title a{display:block;color:#562dd4}.ha-news-ticker-wrapper li.ha-news-ticker-item a,.ha-steps-title a:hover{color:#242424}.ha-step-description{margin:0;color:#616161;font-weight:400;font-size:16px;line-height:1.5}.ha-news-ticker-wrapper{position:relative;overflow:hidden;padding:20px 0;border:1px solid #d2d2d2;border-radius:5px}.ha-news-ticker-wrapper ul.ha-news-ticker-container{margin:0;padding:0;list-style:none}.ha-news-ticker-wrapper ul.ha-news-ticker-container:focus,.ha-news-ticker-wrapper ul.ha-news-ticker-container:hover{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}.ha-news-ticker-wrapper span.ha-news-ticker-sticky-title{position:absolute;top:50%;left:auto;z-index:1;padding:20px;background:#333;color:#fff;font-size:1rem;line-height:1;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-news-ticker-wrapper li.ha-news-ticker-item{margin-right:20px;white-space:nowrap}.ha-news-ticker-wrapper li.ha-news-ticker-item:last-child,.ha-post-list-meta-wrap span:last-child{margin-right:0}.ha-news-ticker-wrapper .ha-news-ticker-title{margin:0;font-size:1rem;line-height:1}.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover{color:#e04c8a}.ha-fun-factor-icon{font-size:3em}.ha-fun-factor-content .ha-fun-factor-content-number,.ha-fun-factor-content .ha-fun-factor-content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor-content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor-content{padding-right:20px}.ha-fun-factor-divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor-icon-section,.ha-ff-icon--top .ha-fun-factor-image-section{display:inline-block;margin-top:10px;margin-bottom:10px;width:auto;height:auto}.ha-fun-factor-image-section img{width:200px;height:100px}.ha-ff-container{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-ff-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{width:100%!important}.ha-fun-factor-divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor-divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor-divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}.ha-social-icons-wrapper,.ha-social-icons-wrapper a{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-social-icons-wrapper a{padding:15px;border-radius:4px;color:#fff;font-size:30px;-webkit-transition:all .3s;transition:all .3s}a.ha-social-icon:hover{position:relative;z-index:1;background:#e2498a}.ha-social-icons-wrapper a.elementor-social-icon-label{color:#d30c5c}.ha-social-icon:not(:last-child){margin-right:2px}.ha-social-icon i,.ha-social-icon svg{position:relative;display:initial}.ha-social-icon svg,.ha-social-icon-label{width:100%;height:100%}.ha-social-icon i{width:1em;height:1em}.ha-social-icon-label{margin:0 0 0 10px;font-size:18px;font-family:Roboto,sans-serif;line-height:1}.elementor-social-icon-label .ha-social-icon-label{margin-left:0}.elementor-element-edit-mode .ha-social-icon-sticky{z-index:9999}.ha-social-icons:not(.elementor-element-edit-mode) .ha-social-icon-sticky{position:fixed}.ha-social-icon-separator{margin-right:10px}.ha-separator--stroke .ha-social-icon-separator{width:1px;height:1em;background:#d30c5c}.ha-separator--custom .ha-social-icon-separator{color:#d30c5c;font-size:24px}.ha-social-icon-separator:last-child{display:none}.ha-twitter-feed .ha-tweeter-feed-icon i{position:absolute;top:15px;right:15px;color:#1da1f2;font-size:22px}.ha-twitter-feed .ha-tweet-items{display:-ms-grid;display:grid;grid-gap:30px}.ha-twitter-feed .ha-tweet-item{position:relative;z-index:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-shadow:1px 1px 8px 1px rgba(0,0,0,.1)}.ha-twitter-feed .ha-tweet-content:before,.ha-twitter-feed .ha-tweet-item:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-twitter-feed .ha-tweet-inner-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:30px 10px}.ha-twitter-feed .ha-tweet-author,.ha-twitter-feed .ha-tweet-inner-wrapper,.ha-twitter-feed .ha-tweet-user{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-twitter-feed .ha-tweet-author{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-bottom:10px}.ha-twitter-feed .ha-tweet-avatar{width:45px;border-radius:50%}.ha-twitter-feed .ha-tweet-user{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-twitter-feed .ha-tweet-author-name,.ha-twitter-feed .ha-tweet-content p a:hover{color:#e2498a}.ha-twitter-feed .ha-tweet-author-name:hover,.ha-twitter-feed .ha-tweet-content p a{color:#562dd4}.ha-twitter-feed .ha-tweet-username{color:#a7a7a7}.ha-twitter-feed .ha-tweet-username:hover{color:#818181}.ha-twitter-feed .ha-tweet-content{position:relative;color:#222}.ha-twitter-feed .ha-tweet-content p{margin-bottom:5px}.ha-twitter-feed .ha-tweet-footer{position:absolute;bottom:15px;left:0;padding:0 15px;width:100%;text-align:right}.ha-twitter-feed .ha-tweet-date{color:#a7a7a7}.ha-twitter-feed .ha-tweet-meta{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around;padding:15px}.ha-twitter-feed .ha-tweet-favorite,.ha-twitter-feed .ha-tweet-retweet{display:inline-block;color:#a7a7a7}.ha-twitter-feed .ha-tweet-favorite{margin-right:12px}.ha-twitter-feed .ha-twitter-load-more-wrapper{margin-top:30px;text-align:center}.ha-twitter-feed .ha-twitter-load-more{display:inline-block;padding:10px 25px;outline:none;border:none;border-radius:50px;background-color:#302a8c;color:#fff;text-align:center;font-weight:400;font-size:16px;-webkit-transition:all .3s;transition:all .3s}.ha-twitter-feed .ha-twitter-load-more:hover{background-color:#e2498a}.ha-twitter-feed .ha-tweet-error-message{padding:20px;border-left:4px solid #ff7726;background-color:#fff9f5}.ha-post-list-item a img,.ha-twitter-feed.ha-twitter-left .ha-tweet-avatar{margin-right:15px}.ha-twitter-feed.ha-twitter-left .ha-tweet-content{text-align:left}.ha-twitter-feed.ha-twitter-center .ha-tweet-author{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-twitter-feed.ha-twitter-center .ha-tweet-content{text-align:center}.ha-twitter-feed.ha-twitter-right .ha-tweeter-feed-icon i{right:auto;left:5px;-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-twitter-feed.ha-twitter-right .ha-tweet-author{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-twitter-feed.ha-twitter-right .ha-tweet-content{text-align:right}.ha-twitter-feed.ha-twitter-user-bottom .ha-tweet-inner-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-twitter-feed.ha-twitter-user-bottom .ha-tweet-author{margin-top:10px;margin-bottom:0}.ha-twitter-feed.ha-tweet-glassy-yes .ha-tweet-content:before{background-color:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ha-post-list{margin:0;padding:0;list-style:none}.ha-post-list .ha-post-list-item,.ha-post-list.ha-post-list-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-post-list.ha-post-list-inline{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-post-list .ha-post-list-item{margin:0 0 10px;padding:0}.ha-post-list.ha-post-list-inline .ha-post-list-item{margin-right:21px}.ha-post-list .ha-post-list-item:last-child,.ha-post-list.ha-post-list-inline .ha-post-list-item:last-child{margin-right:0;margin-bottom:0}.ha-post-list .ha-post-list-item a{width:100%}.ha-post-list-title{display:block;margin-top:0;margin-bottom:0;color:#242424;font-size:1rem;-webkit-transition:all .4s;transition:all .4s}.ha-post-list .ha-post-list-item a:hover .ha-post-list-title,.ha-taxonomy-list .ha-taxonomy-list-item a:hover .ha-taxonomy-list-title{color:#e04d8b}span.ha-post-list-icon{margin-right:8px;color:#242424;font-size:14px}.ha-post-list .ha-post-list-item a,.ha-post-list-meta-wrap,.ha-post-tab span.ha-post-tab-loading{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-post-list-meta-wrap{margin-top:3px}.ha-post-list-meta-wrap span{margin-right:10px;color:#8c8c8c;font-size:13px}.ha-post-list-meta-wrap span i{margin-right:3px}.ha-post-tab .ha-post-tab-filter{padding:0;border-bottom:1px solid #ddd;list-style:none}.ha-post-tab .ha-post-tab-filter li{display:inline-block;margin:0 5px 0 0;padding:15px 25px;background:#fff;color:#333;text-decoration:none;-webkit-transition:all .3s;transition:all .3s}.ha-post-tab .ha-post-tab-filter li.active,.ha-post-tab .ha-post-tab-filter li:hover,.ha-post-tab.ha-post-tab-left .ha-post-tab-filter li.active,.ha-post-tab.ha-post-tab-left .ha-post-tab-filter li:hover{background:#6d39ef;color:#fff}.ha-post-tab .ha-post-tab-item-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;visibility:hidden;overflow:hidden;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;height:0;opacity:0}.ha-post-tab span.ha-post-tab-loading{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:100%;height:100%;text-align:center;font-size:60px;opacity:.5}.ha-post-tab .ha-post-tab-item-wrapper.active{visibility:visible;height:auto;opacity:1}.ha-post-tab .ha-post-tab-item{margin-bottom:30px;padding-right:15px;padding-left:15px}.ha-post-tab .ha-post-tab-item-inner{box-sizing:border-box;padding:20px;height:100%;border-radius:5px;background:#fff;box-shadow:0 1px 20px rgba(0,0,0,.09)}.ha-post-tab .ha-post-tab-item-inner .ha-post-tab-thumb{position:relative;display:block;overflow:hidden;margin-bottom:15px;padding-right:0;padding-left:0}.ha-post-tab .ha-post-tab-item-inner .ha-post-tab-thumb img{max-width:100%;height:auto}.ha-post-tab .ha-post-tab-item-inner .ha-post-tab-title{margin-top:0;margin-bottom:10px;font-size:16px}.ha-post-tab .ha-post-tab-item-inner .ha-post-tab-title a,.ha-post-tab .ha-post-tab-meta span a{color:#333;text-decoration:none;-webkit-transition:all .4s;transition:all .4s}.ha-post-tab .ha-post-tab-meta span a:hover,.ha-post-tab .ha-post-tab-title a:hover{color:#6d39ef}.ha-post-tab .ha-post-tab-meta{font-size:14px}.ha-post-tab .ha-post-tab-meta span{display:inline-block;margin-top:10px;margin-right:15px;color:#9b9b9b;-webkit-transition:all .4s;transition:all .4s}.ha-post-tab .ha-post-tab-meta span i{padding-right:5px}.ha-post-tab .ha-post-tab-meta span a{color:#9b9b9b}.ha-post-tab .ha-post-tab-excerpt p{margin:0}.ha-post-tab.ha-post-tab-left,.ha-post-tab.ha-post-tab-right{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-post-tab.ha-post-tab-left .ha-post-tab-filter{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;min-width:200px;border-right:1px solid #f1f1f1;border-bottom:none}.ha-post-tab.ha-post-tab-left .ha-post-tab-filter li,.ha-post-tab.ha-post-tab-right .ha-post-tab-filter li{text-align:left;display:block;margin:0;text-decoration:none;-webkit-transition:all .3s;transition:all .3s}.ha-post-tab.ha-post-tab-right .ha-post-tab-filter li{text-align:right}.ha-post-tab.ha-post-tab-left .ha-post-tab-content{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 200px);-ms-flex:0 0 calc(100% - 200px);flex:0 0 calc(100% - 200px);min-width:calc(100% - 200px);min-height:100%}.ha-post-tab.ha-post-tab-right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-post-tab.ha-post-tab-right .ha-post-tab-filter{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;min-width:200px;border-bottom:none;border-left:1px solid #f1f1f1}.ha-post-tab.ha-post-tab-right .ha-post-tab-content{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 200px);-ms-flex:0 0 calc(100% - 200px);flex:0 0 calc(100% - 200px);min-width:calc(100% - 200px);min-height:100%}@media (max-width:767px){.ha-post-tab.ha-post-tab-right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-post-tab.ha-post-tab-left .ha-post-tab-filter,.ha-post-tab.ha-post-tab-right .ha-post-tab-filter{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;min-width:100%;border-right:0;border-bottom:1px solid #f1f1f1;border-left:0}.ha-post-tab.ha-post-tab-left .ha-post-tab-content,.ha-post-tab.ha-post-tab-right .ha-post-tab-content{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;min-width:100%;min-height:100%}.ha-post-tab.ha-post-tab-left .ha-post-tab-filter li,.ha-post-tab.ha-post-tab-right .ha-post-tab-filter li{display:inline-block}}.ha-taxonomy-list{margin:0;padding:0;list-style:none}.ha-taxonomy-list.ha-taxonomy-list-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-taxonomy-list .ha-taxonomy-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 0 10px;padding:0}.ha-taxonomy-list.ha-taxonomy-list-inline .ha-taxonomy-list-item{margin-right:21px}.ha-taxonomy-list .ha-taxonomy-list-item:last-child,.ha-taxonomy-list.ha-taxonomy-list-inline .ha-taxonomy-list-item:last-child{margin-right:0;margin-bottom:0}.ha-taxonomy-list .ha-taxonomy-list-item a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;width:100%}.ha-taxonomy-list-title{display:block;margin-top:0;margin-bottom:0;color:#242424;font-size:1rem;-webkit-transition:all .4s;transition:all .4s}.ha-taxonomy-list span.ha-taxonomy-list-icon{margin-right:8px;color:#242424;font-size:14px}.ha-taxonomy-list span.ha-taxonomy-list-image{margin-right:15px;line-height:1}.ha-taxonomy-list span.ha-taxonomy-list-image img{width:50px}.ha-threesixty-rotation-inner{overflow:hidden;background:#0c5460}.ha-threesixty-rotation-inner img{cursor:move}.ha-img-magnifier-glass{position:absolute;width:200px;height:200px;border:3px solid #000;border-radius:50%;cursor:none}span.ha-threesixty-rotation-magnify{position:absolute;top:15px;right:15px;display:inline-block;font-size:22px;line-height:1}.ha-threesixty-rotation-autoplay{display:none}.ha-threesixty-rotation-autoplay-button button{display:inline-block;padding:.4rem 2rem;outline:none;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:24px;-webkit-transition:all .3s;transition:all .3s}.ha-threesixty-rotation-autoplay-button button:focus{outline:none}.ha-threesixty-rotation-autoplay-button button:hover{outline:none;background-color:#562dd4;color:#fff}.ha-threesixty-rotation-360img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;margin:auto;width:100px;height:100px;border-radius:50%;background-color:rgba(38,39,39,.5);background-position:50% 50%;background-size:contain;background-repeat:no-repeat;box-shadow:rgba(255,255,255,.5) 0 0 4px;color:#505050;text-align:center;line-height:100px;-webkit-transition:all .5s ease 0s;transition:all .5s ease 0s}
|
1 |
+
.happy-addon>.elementor-widget-container{word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.happy-addon>.elementor-widget-container *{box-sizing:border-box}.happy-addon img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.happy-addon p:empty{display:none}.ha-screen-reader-text{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);margin:-1px;padding:0;width:1px;height:1px;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.ha-has-background-overlay>.elementor-widget-container{position:relative;z-index:1}.ha-has-background-overlay>.elementor-widget-container:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-popup--is-enabled .ha-js-popup,.ha-popup--is-enabled .ha-js-popup img{cursor:-webkit-zoom-in!important;cursor:zoom-in!important}.mfp-wrap .mfp-arrow,.mfp-wrap .mfp-close{background-color:transparent}.mfp-wrap .mfp-arrow:focus,.mfp-wrap .mfp-close:focus{outline-width:thin}.ha-btn{display:inline-block;max-width:100%;vertical-align:middle;text-align:center;text-decoration:none;font-size:14px;line-height:1;-webkit-transition:all .3s;transition:all .3s}.ha-btn:not(.ha-btn--link){padding:15px 25px;border-radius:.25rem;background-color:#562dd4;color:#fff}.ha-btn:not(.ha-btn--link):focus,.ha-btn:not(.ha-btn--link):hover{background-color:#e2498a}.ha-btn.ha-btn--link{color:#562dd4}.ha-btn.ha-btn--link:focus,.ha-btn.ha-btn--link:hover{color:#e2498a}.ha-btn-icon+.ha-btn-text,.ha-btn-text+.ha-btn-icon{margin-left:5px}.ha-btn-icon--svg,.ha-member-links>a{display:inline-block}.ha-btn-icon--svg svg{width:auto;height:1em}.ha-badge{padding:.475rem 1.1rem;max-width:100%;border-radius:50px;background-color:#fff;font-size:12px}.ha-badge--top-left{top:1rem;left:1rem}.ha-badge--top-center{top:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--top-right{top:1rem;right:1rem}.ha-badge--middle-left{top:50%;left:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--middle-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ha-badge--middle-right{top:50%;right:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--bottom-left{bottom:1rem;left:1rem}.ha-badge--bottom-center{bottom:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--bottom-right{right:1rem;bottom:1rem}.ha-card-figure{position:relative;height:250px}.ha-card-figure img{border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.ha-card-body{padding:1.5rem}.ha-card-title{margin-top:0;margin-bottom:.75rem;color:#151515;font-weight:700;font-size:22px}.ha-card-text{margin-bottom:2rem;color:#616161;font-size:16px;line-height:1.7}.ha-card-text>p,.ha-infobox-text p{margin-top:0;margin-bottom:0}.ha-card--top .ha-card-figure{display:inline-block;width:100%}.ha-card--left>.elementor-widget-container,.ha-card--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-card--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-card--left .ha-card-body,.ha-card--left .ha-card-figure,.ha-card--right .ha-card-body,.ha-card--right .ha-card-figure{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.ha-card--left .ha-card-body,.ha-card--right .ha-card-body{padding:2.5rem}.ha-card--left .ha-card-figure img{border-radius:calc(.5rem - 1px) 0 0 calc(.5rem - 1px)}.ha-card--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-card--right .ha-card-figure img{border-radius:0 calc(.5rem - 1px) calc(.5rem - 1px) 0}.ha-card .ha-badge{position:absolute}.ha-infobox>.elementor-widget-container{padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem;line-height:1}.ha-icon-box-icon i,.ha-icon-box-icon svg,.ha-infobox-figure i,.ha-infobox-figure svg{position:relative;display:block;width:1em;height:1em}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before,.ha-icon-box-icon i:before,.ha-infobox-figure i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-card-figure img,.ha-infobox-figure img,.ha-member-figure img{width:100%;height:100%;vertical-align:bottom}.ha-infobox-text+.ha-btn--link{margin-top:1rem}.ha-icon-box>.elementor-widget-container{position:relative;padding:1.25rem}.ha-icon-box-title{margin-top:0;margin-bottom:0;color:#151515;font-size:24px;-webkit-transition:color .3s;transition:color .3s}.ha-icon-box-icon{display:inline-block;margin-bottom:1rem;color:#151515;text-align:center;font-size:3rem;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}.ha-member>.elementor-widget-container{padding:1.25rem}.ha-member-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-member-name{margin-top:0;margin-bottom:.5rem;color:#151515;font-size:18px}.ha-member-position{margin-bottom:1.5rem;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:1.5rem;font-size:14px;line-height:1.6}.ha-member-links>a{color:#9895ad;text-align:center;line-height:1;-webkit-transition:all .2s;transition:all .2s}.ha-member-links>a:focus,.ha-member-links>a:hover{color:#222}.ha-member-links>a>i{width:1em;height:1em}.ha-member-links>a:not(:last-child){margin-right:.3rem}.ha-member .ha-btn{margin-bottom:10px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p,.ha-member-links+.ha-btn{margin-top:10px;margin-bottom:0}.ha-review-header{margin-top:1.5rem}.ha-review-desc p,.ha-review-figure{margin:0}.ha-review-figure img{width:100%;height:100%;border-radius:50%;vertical-align:bottom}.ha-review-reviewer{margin-top:0;margin-bottom:.3rem;color:#151515;font-size:18px}.ha-review-position{margin-bottom:.5rem;color:#7f7f7f;font-size:15px}.ha-review-ratting{display:inline-block;font-size:12px;line-height:1}.ha-review-ratting--num{padding:.25em .66em;border-radius:2.5em;background-color:#562dd4;color:#fff}.ha-review-ratting--star{color:#ffbf36}.ha-review-desc{margin-top:1.5rem;font-size:16px;line-height:1.6}.ha-review--top>.elementor-widget-container{padding:2rem}.ha-review--top .ha-review-figure{display:inline-block;max-width:70px;height:70px}.ha-review--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-review--left>.elementor-widget-container,.ha-review--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding-left:2rem}.ha-review--left .ha-review-figure,.ha-review--right .ha-review-figure{-webkit-box-flex:0;-webkit-flex:0 0 150px;-ms-flex:0 0 150px;flex:0 0 150px;max-width:150px;height:150px}.ha-review--left .ha-review-body,.ha-review--right .ha-review-body{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 150px);-ms-flex:0 0 calc(100% - 150px);flex:0 0 calc(100% - 150px);padding:2rem;max-width:calc(100% - 150px)}.ha-review--left .ha-review-body>:first-child,.ha-review--right .ha-review-body>:first-child{margin-top:0}.ha-review--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-right:2rem;padding-left:0;text-align:right}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper,a.ha-social-icon:after,a.ha-social-icon:before{border-radius:inherit}.ha-gallery-filter{margin:0 10px 2rem;padding:0;list-style:none}.ha-gallery-filter>li{display:inline-block;margin-bottom:10px;max-width:100%}.ha-gallery-filter>li:not(:last-child){margin-right:10px}.ha-gallery-filter>li>button{display:block;overflow:hidden;padding:10px 25px;max-width:100%;border:2px solid #562dd4;border-radius:.25rem;background-color:transparent;color:#562dd4;text-transform:uppercase;text-overflow:ellipsis;font-size:14px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ha-gallery-filter>li>button:focus,.ha-gallery-filter>li>button:hover{outline:0;background-color:#562dd4;color:#fff}.ha-gallery-filter>.ha-filter-active>button{background-color:#562dd4;color:#fff}.ha-image-grid-item{float:left}.ha-image-grid-inner{position:relative;display:block;overflow:hidden;margin:10px;text-decoration:none}.ha-image-grid-inner img{display:block;width:100%;-webkit-transition:all .25s;transition:all .25s}.ha-image-grid--layout-even .ha-image-grid-inner{height:250px}.ha-image-grid--layout-even .ha-image-grid-inner img{height:100%}.ha-justified-gallery-item,.ha-justified-gallery-item>img{border-radius:6px}.ha-justified-gallery .justified-gallery>.ha-justified-gallery-item>.caption{bottom:-100px!important;padding:10px;-webkit-transition:all .25s!important;transition:all .25s!important;-webkit-animation:haSmoothReveal .3s forwards;animation:haSmoothReveal .3s forwards}.ha-justified-gallery .justified-gallery>.ha-justified-gallery-item>.caption.caption-visible{bottom:0!important}.ha-justified-gallery .justified-gallery>.entry-visible>a>img,.ha-justified-gallery .justified-gallery>.entry-visible>img{-webkit-transition:all 300ms,opacity 500ms ease-in;transition:all 300ms,opacity 500ms ease-in}@-webkit-keyframes haSmoothReveal{0%{-webkit-transform:translateY(100px);transform:translateY(100px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes haSmoothReveal{0%{-webkit-transform:translateY(100px);transform:translateY(100px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.ha-carousel .slick-vertical .slick-slide,.ha-slider .slick-vertical .slick-slide{border:0}.ha-carousel .slick-next,.ha-carousel .slick-prev,.ha-slider .slick-next,.ha-slider .slick-prev{z-index:999;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background-color:rgba(255,255,255,.8);color:#8c8c8c;text-align:center;font-size:12px;opacity:1}.ha-carousel .slick-next:focus,.ha-carousel .slick-next:hover,.ha-carousel .slick-prev:focus,.ha-carousel .slick-prev:hover,.ha-slider .slick-next:focus,.ha-slider .slick-next:hover,.ha-slider .slick-prev:focus,.ha-slider .slick-prev:hover{background-color:#fff;color:#8c8c8c}.ha-carousel .slick-next:before,.ha-carousel .slick-prev:before,.ha-slider .slick-next:before,.ha-slider .slick-prev:before{content:""}.ha-carousel .slick-disabled,.ha-slider .slick-disabled{opacity:.7}.ha-carousel .slick-prev,.ha-slider .slick-prev{left:25px}.ha-carousel .slick-next,.ha-slider .slick-next{right:25px}.ha-carousel .slick-dots,.ha-slider .slick-dots{bottom:-40px}.ha-carousel .slick-dots li,.ha-slider .slick-dots li{margin-right:2px;margin-left:2px}.ha-carousel .slick-dots li button:focus,.ha-carousel .slick-dots li button:hover,.ha-slider .slick-dots li button:focus,.ha-slider .slick-dots li button:hover{background-color:transparent}.ha-carousel .slick-dots li button:before,.ha-slider .slick-dots li button:before{color:#1b1b1b;opacity:1}.ha-carousel .slick-dots .slick-active button:before,.ha-carousel .slick-dots li button:hover:before,.ha-slider .slick-dots .slick-active button:before,.ha-slider .slick-dots li button:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.ha-carousel .slick-next,.ha-carousel .slick-prev{width:40px;height:40px;line-height:40px}.ha-slider .slick-next,.ha-slider .slick-prev{width:50px;height:50px;line-height:50px}.ha-carousel .slick-slider:not(.slick-vertical) .slick-slide{padding-right:5px;padding-left:5px}.ha-carousel .slick-slider.slick-vertical .slick-slide{padding-top:5px;padding-bottom:5px}.ha-slick-item{position:relative;display:inline-block;overflow:hidden;vertical-align:bottom}.ha-slick-content{position:absolute;bottom:0;padding:1.5rem;width:100%;background:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3))}.ha-slick-title{margin-top:0;margin-bottom:.2rem;color:#fff;font-size:20px}.ha-slick-subtitle{margin:0;color:#fff}.ha-skills>.elementor-widget-container{padding-top:1px}.ha-skill{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:15px;background-color:#e9ecef;font-size:.75rem}.ha-skill--inside .ha-skill-info,.ha-skill--outside .ha-skill-info{text-align:left;font-size:14px;line-height:1}.ha-skill--inside .ha-skill-level-text,.ha-skill--outside .ha-skill-level-text{float:right}.ha-skill--outside{height:2px}.ha-skill--outside .ha-skill-level{position:relative}.ha-skill--outside .ha-skill-info{position:absolute;top:-25px;width:100%;color:#242424}.ha-skill--inside{height:30px}.ha-skill--inside .ha-skill-info{padding-right:1rem;padding-left:1rem;color:#fff}.ha-skill-level{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:10%;border-radius:inherit;background-color:#562dd4;color:#fff;text-align:center;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.ha-skill--outside{margin-top:40px}.ha-skill--inside:not(:first-child){margin-top:20px}.ha-skill-name{display:inline-block;overflow:hidden;max-width:70%;text-overflow:ellipsis}.ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}.ha-logo-grid-item{float:left;overflow:hidden;height:180px;border-color:#e7e7e7}.ha-logo-grid-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;padding:30px;width:100%;height:100%}.ha-logo-grid-img{max-height:100%}@media (min-width:1025px){.ha-logo-grid--col-2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col-3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col-4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col-5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col-6 .ha-logo-grid-item{width:calc(100%/6)}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--col--tablet2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col--tablet3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col--tablet4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col--tablet5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col--tablet6 .ha-logo-grid-item{width:calc(100%/6)}}@media (max-width:767px){.ha-logo-grid--col--mobile2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col--mobile3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col--mobile4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col--mobile5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col--mobile6 .ha-logo-grid-item{width:calc(100%/6)}}.ha-logo-grid--tictactoe .ha-logo-grid-item{border-width:2px 2px 0 0;border-style:solid}@media (min-width:1025px){.ha-logo-grid--tictactoe.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}@media (max-width:767px){.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}.ha-logo-grid--border .ha-logo-grid-item{border-width:0 2px 2px 0;border-style:solid}.ha-logo-grid--border .ha-logo-grid-item:first-child{border-top-left-radius:10px}.ha-logo-grid--border .ha-logo-grid-item:last-child{border-bottom-right-radius:10px}@media (min-width:1025px){.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}@media (max-width:767px){.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}.ha-logo-grid--box .ha-logo-grid-wrapper{margin:-.5rem}.ha-logo-grid--box .ha-logo-grid-item{margin:.5rem;border-width:2px;border-style:solid;border-radius:.5rem}@media (min-width:1025px){.ha-logo-grid--box.ha-logo-grid--col-2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--box.ha-logo-grid--col--tablet2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}@media (max-width:767px){.ha-logo-grid--box.ha-logo-grid--col--mobile2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}.ha-dual-btn,.ha-dual-btn-connector{display:inline-block}.ha-dual-btn-wrapper{position:relative;text-align:center;font-weight:400}.ha-dual-btn{padding:1.2rem 3rem;max-width:100%;color:#fff;text-decoration:none;font-size:14px}.ha-dual-btn--left{background-color:#562dd4}.ha-dual-btn--left:focus,.ha-dual-btn--left:hover{background-color:#4423ab;color:#fff}.ha-dual-btn--right{background-color:#e2498a}.ha-dual-btn--right:focus,.ha-dual-btn--right:hover{background-color:#d6226e;color:#fff}.ha-dual-btn-connector{position:absolute!important;z-index:9;overflow:hidden;width:30px;height:30px;border-radius:100%;background-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.3);color:#27374c;text-transform:uppercase;font-size:12px;line-height:30px;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ha-dual-btn-icon>svg{width:1em;height:auto}.ha-dual-btn-icon>i{font-size:1em}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.ha-dual-button>.elementor-widget-container,.ha-news-ticker-wrapper ul.ha-news-ticker-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container,.ha-testimonial__reviewer{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--mobile-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--mobile-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--mobile-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--mobile-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--mobile-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}@media (min-width:768px){.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--tablet-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--tablet-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--tablet-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--tablet-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--tablet-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--tablet-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--tablet-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--tablet-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--tablet-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--tablet-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}@media (min-width:1025px){.ha-dual-button--layout-stack.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--layout-stack.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--layout-stack.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--layout-queue.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--layout-queue.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--layout-queue.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}.ha-testimonial--basic>.elementor-widget-container{padding:2rem;border:1px solid #ececec;border-radius:.5rem}.ha-testimonial--basic .ha-testimonial__content{margin-bottom:2.5em}.ha-testimonial--bubble .ha-testimonial__content{position:relative;margin-bottom:1.5rem;padding:2rem;border-radius:6px;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);line-height:1.6rem}.ha-testimonial--bubble .ha-testimonial__content:after{position:absolute;bottom:-14px;color:#fff;content:"\e911";font-style:normal;font-size:36px;font-family:"Happy Icons";-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.ha-testimonial--left.ha-testimonial--bubble .ha-testimonial__content:after{left:15px}.ha-testimonial--center.ha-testimonial--bubble .ha-testimonial__content:after{left:50%;-webkit-transform:translateX(-50%) rotate(-180deg);-ms-transform:translateX(-50%) rotate(-180deg);transform:translateX(-50%) rotate(-180deg)}.ha-testimonial--right.ha-testimonial--bubble .ha-testimonial__content:after{right:15px}.ha-testimonial__reviewer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-testimonial__reviewer-thumb{-webkit-box-flex:0;-webkit-flex:0 0 65px;-ms-flex:0 0 65px;flex:0 0 65px;max-width:65px;height:65px}.ha-testimonial__reviewer-thumb img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.ha-testimonial__reviewer-name{margin-bottom:.3rem;color:#562dd4;font-weight:700;font-size:18px}.ha-testimonial__reviewer-title{color:#8c8c8c;font-size:16px}.ha-testimonial--left .ha-testimonial__reviewer-meta{padding-left:1em}.ha-testimonial--center .ha-testimonial__reviewer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-testimonial--center .ha-testimonial__reviewer-meta{padding-top:1em;max-width:100%}.ha-testimonial--left .ha-testimonial__reviewer-meta,.ha-testimonial--right .ha-testimonial__reviewer-meta{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 65px);-ms-flex:0 0 calc(100% - 65px);flex:0 0 calc(100% - 65px);max-width:calc(100% - 65px)}.ha-testimonial--right .ha-testimonial__reviewer{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-testimonial--right .ha-testimonial__reviewer-meta{padding-right:1em}.ha-testimonial--left{text-align:left}.ha-testimonial--right{text-align:right}.ha-number-body,.ha-testimonial--center{text-align:center}.ha-number-body{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding:6px;width:50px;height:50px;border-radius:100%;background-color:#562dd4;color:#fff;font-size:20px}.ha-number-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ha-number-text{position:relative;z-index:1;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon svg{display:block;width:1em;height:1em}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-box-heading{margin:0;font-weight:700;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner p{margin-bottom:0;font-size:16px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-box-heading-back{margin:0;color:#fff;font-size:18px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon svg{display:block;width:1em;height:1em}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative;color:#fff}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-back{-webkit-transform:rotateY(0);transform:rotateY(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-back{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-front{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-back{-webkit-transform:rotateX(0);transform:rotateX(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-back{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-front{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-back,.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-front{-webkit-transition:-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275),-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275)}.ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-pricing-table>.elementor-widget-container{position:relative;overflow:hidden;padding:3em 4em}.ha-pricing-table-badge{position:absolute;top:-1px;padding:.8rem 1rem;background-color:#e2498a;color:#fff;line-height:1}.ha-pricing-table-badge--left{left:0;-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ha-pricing-table-badge--right{right:0;-webkit-transform:rotate(-90deg) translateY(-100%);-ms-transform:rotate(-90deg) translateY(-100%);transform:rotate(-90deg) translateY(-100%);-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.ha-pricing-table-title{margin-top:0;margin-bottom:.5rem;color:#242424;font-weight:400;font-size:24px}.ha-pricing-table-price{margin-bottom:3rem}.ha-pricing-table-price-tag{margin-bottom:.5rem;color:#242424;font-weight:700;font-size:60px;line-height:normal}.ha-pricing-table-currency{font-size:24px}.ha-pricing-table-period{color:#8c8c8c;font-size:16px}.ha-pricing-table-body{margin-bottom:3rem}.ha-pricing-table-features-title{margin-top:0;margin-bottom:1rem;font-weight:700;font-size:16px}.ha-pricing-table-features-list{margin:0;padding:0;list-style:none}.ha-pricing-table-features-list li{margin-bottom:1rem;font-size:16px}.ha-pricing-table-features-list i,.ha-pricing-table-features-list svg{margin-right:.5rem;min-width:15px;font-size:.8em}.ha-pricing-table-features-list svg,span.ha-post-list-icon svg{width:auto;height:1em}.ha-pricing-table-feature-text{display:inline-block}.ha-pricing-table-btn{display:inline-block;padding:.8rem 2rem;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;-webkit-transition:all .3s;transition:all .3s}.ha-pricing-table-btn:hover{background-color:#562dd4;color:#fff}.ha-card>.elementor-widget-container,.ha-icon-box>.elementor-widget-container,.ha-image-compare>.elementor-widget-container,.ha-infobox>.elementor-widget-container,.ha-member>.elementor-widget-container,.ha-pricing-table>.elementor-widget-container,.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-step-flow>.elementor-widget-container{padding:30px;text-align:center}.ha-step-arrow,.ha-step-arrow:after{position:absolute;display:inline-block;border-top:1px solid #ddd}.ha-step-arrow{left:calc(100% + 20px);top:49%;width:100px}.ha-step-arrow:after{top:-2px;right:5px;width:12px;height:12px;border-right:1px solid #ddd;color:#ddd;content:"";-webkit-transform:rotate(45deg) translateY(-50%);-ms-transform:rotate(45deg) translateY(-50%);transform:rotate(45deg) translateY(-50%)}.ha-steps-icon{position:relative;display:inline-block;margin-bottom:2rem;padding:40px;border-radius:50%;background-color:#e9ecf0;box-shadow:0 2px 6px -2px #989898;color:#8056ee;text-align:center;font-size:46px}.ha-fun-factor__media--icon i,.ha-fun-factor__media--icon svg,.ha-steps-icon i,.ha-steps-icon svg{position:relative;display:block;width:1em;height:1em}.ha-fun-factor__media--icon i:before,.ha-steps-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-steps-icon .ha-steps-label{position:absolute;top:5px;right:0;overflow:hidden;padding:12px 8px;max-width:200%;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.ha-steps-title{margin-top:0;margin-bottom:30px;font-weight:700;font-size:16px}.ha-steps-title a{display:block;color:#562dd4}.ha-news-ticker-wrapper li.ha-news-ticker-item a,.ha-steps-title a:hover{color:#242424}.ha-step-description{margin:0;color:#616161;font-weight:400;font-size:16px;line-height:1.5}.ha-news-ticker-wrapper{position:relative;overflow:hidden;padding:20px 0;border:1px solid #d2d2d2;border-radius:5px}.ha-news-ticker-wrapper ul.ha-news-ticker-container{margin:0;padding:0;list-style:none}.ha-news-ticker-wrapper ul.ha-news-ticker-container:focus,.ha-news-ticker-wrapper ul.ha-news-ticker-container:hover{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}.ha-news-ticker-wrapper span.ha-news-ticker-sticky-title{position:absolute;top:50%;left:auto;z-index:1;padding:20px;background:#333;color:#fff;font-size:1rem;line-height:1;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-news-ticker-wrapper li.ha-news-ticker-item{margin-right:20px;white-space:nowrap}.ha-news-ticker-wrapper li.ha-news-ticker-item:last-child,.ha-post-list-meta-wrap span:last-child{margin-right:0}.ha-news-ticker-wrapper .ha-news-ticker-title{margin:0;font-size:1rem;line-height:1}.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover{color:#e04c8a}.ha-fun-factor__content .ha-fun-factor__content-number,.ha-fun-factor__content .ha-fun-factor__content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor__content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor__content{padding-right:20px}.ha-fun-factor__divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor__media{display:inline-block;margin-top:10px;margin-bottom:10px}.ha-ff-icon--top .ha-fun-factor__media--image{width:200px}:not(.ha-ff-icon--top) .ha-fun-factor__media--image{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;max-width:200px}.ha-fun-factor__media--image img{width:100%;height:100%;vertical-align:bottom}.ha-fun-factor__media--icon{font-size:3rem}.ha-fun-factor__wrap{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{width:100%!important}.ha-fun-factor__divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor__divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor__divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}.ha-social-icons-wrapper,.ha-social-icons-wrapper a{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-social-icons-wrapper a{padding:15px;border-radius:4px;color:#fff;font-size:30px;-webkit-transition:all .3s;transition:all .3s}a.ha-social-icon:hover{position:relative;z-index:1;background:#e2498a}.ha-social-icons-wrapper a.elementor-social-icon-label{color:#d30c5c}.ha-social-icon:not(:last-child){margin-right:2px}.ha-social-icon i{position:relative;display:initial;width:1em;height:1em}.ha-social-icon-label{margin:0 0 0 10px;width:100%;height:100%;font-size:18px;line-height:1}.elementor-social-icon-label .ha-social-icon-label{margin-left:0}.elementor-element-edit-mode .ha-social-icon-sticky{z-index:9999}.ha-social-icons:not(.elementor-element-edit-mode) .ha-social-icon-sticky{position:fixed}.ha-social-icon-separator{margin-right:10px}.ha-separator--stroke .ha-social-icon-separator{width:1px;height:1em;background:#d30c5c}.ha-separator--custom .ha-social-icon-separator{color:#d30c5c;font-size:24px}.ha-social-icon-separator:last-child{display:none}.ha-twitter-feed .ha-tweeter-feed-icon i{position:absolute;top:15px;right:15px;color:#1da1f2;font-size:22px}.ha-twitter-feed .ha-tweet-items{display:-ms-grid;display:grid;grid-gap:30px}.ha-twitter-feed .ha-tweet-item{position:relative;z-index:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-shadow:1px 1px 8px 1px rgba(0,0,0,.1)}.ha-twitter-feed .ha-tweet-content:before,.ha-twitter-feed .ha-tweet-item:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-twitter-feed .ha-tweet-inner-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:30px 10px}.ha-twitter-feed .ha-tweet-author,.ha-twitter-feed .ha-tweet-inner-wrapper,.ha-twitter-feed .ha-tweet-user{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-twitter-feed .ha-tweet-author{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-bottom:10px}.ha-twitter-feed .ha-tweet-avatar{width:45px;border-radius:50%}.ha-twitter-feed .ha-tweet-user{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-twitter-feed .ha-tweet-author-name,.ha-twitter-feed .ha-tweet-content p a:hover{color:#e2498a}.ha-twitter-feed .ha-tweet-author-name:hover,.ha-twitter-feed .ha-tweet-content p a{color:#562dd4}.ha-twitter-feed .ha-tweet-username{color:#a7a7a7}.ha-twitter-feed .ha-tweet-username:hover{color:#818181}.ha-twitter-feed .ha-tweet-content{position:relative;color:#222}.ha-twitter-feed .ha-tweet-content p{margin-bottom:5px}.ha-twitter-feed .ha-tweet-footer{position:absolute;bottom:15px;left:0;padding:0 15px;width:100%;text-align:right}.ha-twitter-feed .ha-tweet-date{color:#a7a7a7}.ha-twitter-feed .ha-tweet-meta{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around;padding:15px}.ha-twitter-feed .ha-tweet-favorite,.ha-twitter-feed .ha-tweet-retweet{display:inline-block;color:#a7a7a7}.ha-twitter-feed .ha-tweet-favorite{margin-right:12px}.ha-twitter-feed .ha-twitter-load-more-wrapper{margin-top:30px;text-align:center}.ha-twitter-feed .ha-twitter-load-more{display:inline-block;padding:10px 25px;outline:none;border:none;border-radius:50px;background-color:#302a8c;color:#fff;text-align:center;font-weight:400;font-size:16px;-webkit-transition:all .3s;transition:all .3s}.ha-twitter-feed .ha-twitter-load-more:hover{background-color:#e2498a}.ha-twitter-feed .ha-tweet-error-message{padding:20px;border-left:4px solid #ff7726;background-color:#fff9f5}.ha-post-list-item a img,.ha-twitter-feed.ha-twitter-left .ha-tweet-avatar{margin-right:15px}.ha-twitter-feed.ha-twitter-left .ha-tweet-content{text-align:left}.ha-twitter-feed.ha-twitter-center .ha-tweet-author{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-twitter-feed.ha-twitter-center .ha-tweet-content{text-align:center}.ha-twitter-feed.ha-twitter-right .ha-tweeter-feed-icon i{right:auto;left:5px;-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-twitter-feed.ha-twitter-right .ha-tweet-author{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-twitter-feed.ha-twitter-right .ha-tweet-content{text-align:right}.ha-twitter-feed.ha-twitter-user-bottom .ha-tweet-inner-wrapper{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-twitter-feed.ha-twitter-user-bottom .ha-tweet-author{margin-top:10px;margin-bottom:0}.ha-twitter-feed.ha-tweet-glassy-yes .ha-tweet-content:before{background-color:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ha-post-list{margin:0;padding:0;list-style:none}.ha-post-list .ha-post-list-item,.ha-post-list.ha-post-list-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-post-list.ha-post-list-inline{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-post-list .ha-post-list-item{margin:0 0 10px;padding:0}.ha-post-list.ha-post-list-inline .ha-post-list-item{margin-right:21px}.ha-post-list .ha-post-list-item:last-child,.ha-post-list.ha-post-list-inline .ha-post-list-item:last-child{margin-right:0;margin-bottom:0}.ha-post-list .ha-post-list-item a{width:100%}.ha-post-list-title{display:block;margin-top:0;margin-bottom:0;color:#242424;font-size:1rem;-webkit-transition:all .4s;transition:all .4s}.ha-post-list .ha-post-list-item a:hover .ha-post-list-title,.ha-taxonomy-list .ha-taxonomy-list-item a:hover .ha-taxonomy-list-title{color:#e04d8b}span.ha-post-list-icon{margin-right:8px;color:#242424;font-size:14px}.ha-post-list .ha-post-list-item a,.ha-post-list-meta-wrap,.ha-post-tab span.ha-post-tab-loading{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-post-list-meta-wrap{margin-top:3px}.ha-post-list-meta-wrap span{margin-right:10px;color:#8c8c8c;font-size:13px}.ha-post-list-meta-wrap span i{margin-right:3px}.ha-post-tab .ha-post-tab-filter{padding:0;border-bottom:1px solid #ddd;list-style:none}.ha-post-tab .ha-post-tab-filter li{display:inline-block;margin:0 5px 0 0;padding:15px 25px;background:#fff;color:#333;text-decoration:none;-webkit-transition:all .3s;transition:all .3s}.ha-post-tab .ha-post-tab-filter li.active,.ha-post-tab .ha-post-tab-filter li:hover,.ha-post-tab.ha-post-tab-left .ha-post-tab-filter li.active,.ha-post-tab.ha-post-tab-left .ha-post-tab-filter li:hover{background:#6d39ef;color:#fff}.ha-post-tab .ha-post-tab-item-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;visibility:hidden;overflow:hidden;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;height:0;opacity:0}.ha-post-tab span.ha-post-tab-loading{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:100%;height:100%;text-align:center;font-size:60px;opacity:.5}.ha-post-tab .ha-post-tab-item-wrapper.active{visibility:visible;height:auto;opacity:1}.ha-post-tab .ha-post-tab-item{margin-bottom:30px;padding-right:15px;padding-left:15px}.ha-post-tab .ha-post-tab-item-inner{box-sizing:border-box;padding:20px;height:100%;border-radius:5px;background:#fff;box-shadow:0 1px 20px rgba(0,0,0,.09)}.ha-post-tab .ha-post-tab-item-inner .ha-post-tab-thumb{position:relative;display:block;overflow:hidden;margin-bottom:15px;padding-right:0;padding-left:0}.ha-post-tab .ha-post-tab-item-inner .ha-post-tab-thumb img{max-width:100%;height:auto}.ha-post-tab .ha-post-tab-item-inner .ha-post-tab-title{margin-top:0;margin-bottom:10px;font-size:16px}.ha-post-tab .ha-post-tab-item-inner .ha-post-tab-title a,.ha-post-tab .ha-post-tab-meta span a{color:#333;text-decoration:none;-webkit-transition:all .4s;transition:all .4s}.ha-post-tab .ha-post-tab-meta span a:hover,.ha-post-tab .ha-post-tab-title a:hover{color:#6d39ef}.ha-post-tab .ha-post-tab-meta{font-size:14px}.ha-post-tab .ha-post-tab-meta span{display:inline-block;margin-top:10px;margin-right:15px;color:#9b9b9b;-webkit-transition:all .4s;transition:all .4s}.ha-post-tab .ha-post-tab-meta span i{padding-right:5px}.ha-post-tab .ha-post-tab-meta span a{color:#9b9b9b}.ha-post-tab .ha-post-tab-excerpt p{margin:0}.ha-post-tab.ha-post-tab-left,.ha-post-tab.ha-post-tab-right{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-post-tab.ha-post-tab-left .ha-post-tab-filter{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;min-width:200px;border-right:1px solid #f1f1f1;border-bottom:none}.ha-post-tab.ha-post-tab-left .ha-post-tab-filter li,.ha-post-tab.ha-post-tab-right .ha-post-tab-filter li{text-align:left;display:block;margin:0;text-decoration:none;-webkit-transition:all .3s;transition:all .3s}.ha-post-tab.ha-post-tab-right .ha-post-tab-filter li{text-align:right}.ha-post-tab.ha-post-tab-left .ha-post-tab-content{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 200px);-ms-flex:0 0 calc(100% - 200px);flex:0 0 calc(100% - 200px);min-width:calc(100% - 200px);min-height:100%}.ha-post-tab.ha-post-tab-right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-post-tab.ha-post-tab-right .ha-post-tab-filter{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;min-width:200px;border-bottom:none;border-left:1px solid #f1f1f1}.ha-post-tab.ha-post-tab-right .ha-post-tab-content{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 200px);-ms-flex:0 0 calc(100% - 200px);flex:0 0 calc(100% - 200px);min-width:calc(100% - 200px);min-height:100%}@media (max-width:767px){.ha-post-tab.ha-post-tab-right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-post-tab.ha-post-tab-left .ha-post-tab-filter,.ha-post-tab.ha-post-tab-right .ha-post-tab-filter{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;min-width:100%;border-right:0;border-bottom:1px solid #f1f1f1;border-left:0}.ha-post-tab.ha-post-tab-left .ha-post-tab-content,.ha-post-tab.ha-post-tab-right .ha-post-tab-content{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;min-width:100%;min-height:100%}.ha-post-tab.ha-post-tab-left .ha-post-tab-filter li,.ha-post-tab.ha-post-tab-right .ha-post-tab-filter li{display:inline-block}}.ha-taxonomy-list{margin:0;padding:0;list-style:none}.ha-taxonomy-list.ha-taxonomy-list-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-taxonomy-list .ha-taxonomy-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 0 10px;padding:0}.ha-taxonomy-list.ha-taxonomy-list-inline .ha-taxonomy-list-item{margin-right:21px}.ha-taxonomy-list .ha-taxonomy-list-item:last-child,.ha-taxonomy-list.ha-taxonomy-list-inline .ha-taxonomy-list-item:last-child{margin-right:0;margin-bottom:0}.ha-taxonomy-list .ha-taxonomy-list-item a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;width:100%}.ha-taxonomy-list-title{display:block;margin-top:0;margin-bottom:0;color:#242424;font-size:1rem;-webkit-transition:all .4s;transition:all .4s}.ha-taxonomy-list span.ha-taxonomy-list-icon{margin-right:8px;color:#242424;font-size:14px}.ha-taxonomy-list span.ha-taxonomy-list-icon svg{display:block;width:auto;height:1em}.ha-taxonomy-list span.ha-taxonomy-list-image{margin-right:15px;line-height:1}.ha-taxonomy-list span.ha-taxonomy-list-image img{width:50px}.ha-threesixty-rotation-inner{overflow:hidden;background:#0c5460}.ha-threesixty-rotation-inner img{cursor:move}.ha-img-magnifier-glass{position:absolute;width:200px;height:200px;border:3px solid #000;border-radius:50%;cursor:none}span.ha-threesixty-rotation-magnify{position:absolute;top:15px;right:15px;display:inline-block;font-size:22px;line-height:1}.ha-threesixty-rotation-autoplay{display:none}.ha-threesixty-rotation-autoplay-button button{display:inline-block;padding:.4rem 2rem;outline:none;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:24px;-webkit-transition:all .3s;transition:all .3s}.ha-threesixty-rotation-autoplay-button button:focus{outline:none}.ha-threesixty-rotation-autoplay-button button:hover{outline:none;background-color:#562dd4;color:#fff}.ha-threesixty-rotation-360img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;margin:auto;width:100px;height:100px;border-radius:50%;background-color:rgba(38,39,39,.5);background-position:50% 50%;background-size:contain;background-repeat:no-repeat;box-shadow:rgba(255,255,255,.5) 0 0 4px;color:#505050;text-align:center;line-height:100px;-webkit-transition:all .5s ease 0s;transition:all .5s ease 0s}
|
assets/css/widgets/btn.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-btn{display:inline-block;max-width:100%;vertical-align:middle;text-align:center;text-decoration:none;font-size:14px;line-height:1;-webkit-transition:all .3s;transition:all .3s}.ha-btn:not(.ha-btn--link){padding:15px 25px;border-radius:.25rem;background-color:#562dd4;color:#fff}.ha-btn:not(.ha-btn--link):focus,.ha-btn:not(.ha-btn--link):hover{background-color:#e2498a}.ha-btn.ha-btn--link{color:#562dd4}.ha-btn.ha-btn--link:focus,.ha-btn.ha-btn--link:hover{color:#e2498a}.ha-btn-icon+.ha-btn-text,.ha-btn-text+.ha-btn-icon{margin-left:5px}
|
1 |
+
.ha-btn{display:inline-block;max-width:100%;vertical-align:middle;text-align:center;text-decoration:none;font-size:14px;line-height:1;-webkit-transition:all .3s;transition:all .3s}.ha-btn:not(.ha-btn--link){padding:15px 25px;border-radius:.25rem;background-color:#562dd4;color:#fff}.ha-btn:not(.ha-btn--link):focus,.ha-btn:not(.ha-btn--link):hover{background-color:#e2498a}.ha-btn.ha-btn--link{color:#562dd4}.ha-btn.ha-btn--link:focus,.ha-btn.ha-btn--link:hover{color:#e2498a}.ha-btn-icon+.ha-btn-text,.ha-btn-text+.ha-btn-icon{margin-left:5px}.ha-btn-icon--svg{display:inline-block}.ha-btn-icon--svg svg{width:auto;height:1em}
|
assets/css/widgets/flip-box.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{
|
1 |
+
.ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon svg{display:block;width:1em;height:1em}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-box-heading{margin:0;font-weight:700;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner p{margin-bottom:0;font-size:16px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-box-heading-back{margin:0;color:#fff;font-size:18px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon svg{display:block;width:1em;height:1em}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative;color:#fff}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-back{-webkit-transform:rotateY(0);transform:rotateY(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-back{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-front{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-back{-webkit-transform:rotateX(0);transform:rotateX(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-back{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-front{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-back,.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-front{-webkit-transition:-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275),-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275)}
|
assets/css/widgets/fun-factor.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-fun-
|
1 |
+
.ha-fun-factor__content .ha-fun-factor__content-number,.ha-fun-factor__content .ha-fun-factor__content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor__content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor__content{padding-right:20px}.ha-fun-factor__divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor__media{display:inline-block;margin-top:10px;margin-bottom:10px}.ha-ff-icon--top .ha-fun-factor__media--image{width:200px}:not(.ha-ff-icon--top) .ha-fun-factor__media--image{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;max-width:200px}.ha-fun-factor__media--image img{width:100%;height:100%;vertical-align:bottom}.ha-fun-factor__media--icon{font-size:3rem}.ha-fun-factor__media--icon i,.ha-fun-factor__media--icon svg{position:relative;display:block;width:1em;height:1em}.ha-fun-factor__media--icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-fun-factor__wrap{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{width:100%!important}.ha-fun-factor__divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor__divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor__divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}
|
assets/css/widgets/icon-box.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-icon-box>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);position:relative;padding:1.25rem}.ha-icon-box-title{margin-top:0;margin-bottom:0;color:#151515;font-size:24px;-webkit-transition:color .3s;transition:color .3s}.ha-icon-box-icon{display:inline-block;margin-bottom:1rem;color:#151515;text-align:center;font-size:3rem;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon
|
1 |
+
.ha-icon-box>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);position:relative;padding:1.25rem}.ha-icon-box-title{margin-top:0;margin-bottom:0;color:#151515;font-size:24px;-webkit-transition:color .3s;transition:color .3s}.ha-icon-box-icon{display:inline-block;margin-bottom:1rem;color:#151515;text-align:center;font-size:3rem;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon i,.ha-icon-box-icon svg{position:relative;display:block;width:1em;height:1em}.ha-icon-box-icon i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}
|
assets/css/widgets/infobox.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-infobox>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem}.ha-infobox-figure
|
1 |
+
.ha-infobox>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem;line-height:1}.ha-infobox-figure i,.ha-infobox-figure svg{position:relative;display:block;width:1em;height:1em}.ha-infobox-figure i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-infobox-figure img{width:100%;height:100%;vertical-align:bottom}.ha-infobox-text p{margin-top:0;margin-bottom:0}.ha-infobox-text+.ha-btn--link{margin-top:1rem}
|
assets/css/widgets/member.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-member>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);padding:1.25rem}.ha-member-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-member-figure img{width:100%;height:100%;vertical-align:bottom}.ha-member-name{margin-top:0;margin-bottom:.5rem;color:#151515;font-size:18px}.ha-member-position{margin-bottom:1.5rem;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:1.5rem;font-size:14px;line-height:1.6}.ha-member-links>a{display:inline-block;color:#9895ad;text-align:center;line-height:1;-webkit-transition:all .2s;transition:all .2s}.ha-member-links>a:focus,.ha-member-links>a:hover{color:#222}.ha-member-links>a>i{width:1em;height:1em}.ha-member-links>a:not(:last-child){margin-right:.3rem}
|
1 |
+
.ha-member>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);padding:1.25rem}.ha-member-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-member-figure img{width:100%;height:100%;vertical-align:bottom}.ha-member-name{margin-top:0;margin-bottom:.5rem;color:#151515;font-size:18px}.ha-member-position{margin-bottom:1.5rem;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:1.5rem;font-size:14px;line-height:1.6}.ha-member-links>a{display:inline-block;color:#9895ad;text-align:center;line-height:1;-webkit-transition:all .2s;transition:all .2s}.ha-member-links>a:focus,.ha-member-links>a:hover{color:#222}.ha-member-links>a>i{width:1em;height:1em}.ha-member-links>a:not(:last-child){margin-right:.3rem}.ha-member .ha-btn{margin-bottom:10px}.ha-member-links+.ha-btn{margin-top:10px;margin-bottom:0}
|
assets/css/widgets/post-list.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-post-list{margin:0;padding:0;list-style:none}.ha-post-list .ha-post-list-item,.ha-post-list.ha-post-list-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-post-list.ha-post-list-inline{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-post-list .ha-post-list-item{margin:0 0 10px;padding:0}.ha-post-list.ha-post-list-inline .ha-post-list-item{margin-right:21px}.ha-post-list .ha-post-list-item:last-child,.ha-post-list.ha-post-list-inline .ha-post-list-item:last-child{margin-right:0;margin-bottom:0}.ha-post-list .ha-post-list-item a,.ha-post-list-meta-wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-post-list .ha-post-list-item a{width:100%}.ha-post-list-title{display:block;margin-top:0;margin-bottom:0;color:#242424;font-size:1rem;-webkit-transition:all .4s;transition:all .4s}.ha-post-list .ha-post-list-item a:hover .ha-post-list-title{color:#e04d8b}.ha-post-list-item a img{margin-right:15px}span.ha-post-list-icon{margin-right:8px;color:#242424;font-size:14px}.ha-post-list-meta-wrap{margin-top:3px}.ha-post-list-meta-wrap span{margin-right:10px;color:#8c8c8c;font-size:13px}.ha-post-list-meta-wrap span:last-child{margin-right:0}.ha-post-list-meta-wrap span i{margin-right:3px}
|
1 |
+
.ha-post-list{margin:0;padding:0;list-style:none}.ha-post-list .ha-post-list-item,.ha-post-list.ha-post-list-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-post-list.ha-post-list-inline{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-post-list .ha-post-list-item{margin:0 0 10px;padding:0}.ha-post-list.ha-post-list-inline .ha-post-list-item{margin-right:21px}.ha-post-list .ha-post-list-item:last-child,.ha-post-list.ha-post-list-inline .ha-post-list-item:last-child{margin-right:0;margin-bottom:0}.ha-post-list .ha-post-list-item a,.ha-post-list-meta-wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-post-list .ha-post-list-item a{width:100%}.ha-post-list-title{display:block;margin-top:0;margin-bottom:0;color:#242424;font-size:1rem;-webkit-transition:all .4s;transition:all .4s}.ha-post-list .ha-post-list-item a:hover .ha-post-list-title{color:#e04d8b}.ha-post-list-item a img{margin-right:15px}span.ha-post-list-icon{margin-right:8px;color:#242424;font-size:14px}span.ha-post-list-icon svg{width:auto;height:1em}.ha-post-list-meta-wrap{margin-top:3px}.ha-post-list-meta-wrap span{margin-right:10px;color:#8c8c8c;font-size:13px}.ha-post-list-meta-wrap span:last-child{margin-right:0}.ha-post-list-meta-wrap span i{margin-right:3px}
|
assets/css/widgets/pricing-table.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-pricing-table>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);position:relative;overflow:hidden;padding:3em 4em}.ha-pricing-table-badge{position:absolute;top:-1px;padding:.8rem 1rem;background-color:#e2498a;color:#fff;line-height:1}.ha-pricing-table-badge--left{left:0;-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ha-pricing-table-badge--right{right:0;-webkit-transform:rotate(-90deg) translateY(-100%);-ms-transform:rotate(-90deg) translateY(-100%);transform:rotate(-90deg) translateY(-100%);-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.ha-pricing-table-title{margin-top:0;margin-bottom:.5rem;color:#242424;font-weight:400;font-size:24px}.ha-pricing-table-price{margin-bottom:3rem}.ha-pricing-table-price-tag{margin-bottom:.5rem;color:#242424;font-weight:700;font-size:60px;line-height:normal}.ha-pricing-table-currency{font-size:24px}.ha-pricing-table-period{color:#8c8c8c;font-size:16px}.ha-pricing-table-body{margin-bottom:3rem}.ha-pricing-table-features-title{margin-top:0;margin-bottom:1rem;font-weight:700;font-size:16px}.ha-pricing-table-features-list{margin:0;padding:0;list-style:none}.ha-pricing-table-features-list li{margin-bottom:1rem;font-size:16px}.ha-pricing-table-features-list i{margin-right:.5rem;min-width:15px;font-size:.8em}.ha-pricing-table-feature-text{display:inline-block}.ha-pricing-table-btn{display:inline-block;padding:.8rem 2rem;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;-webkit-transition:all .3s;transition:all .3s}.ha-pricing-table-btn:hover{background-color:#562dd4;color:#fff}
|
1 |
+
.ha-pricing-table>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);position:relative;overflow:hidden;padding:3em 4em}.ha-pricing-table-badge{position:absolute;top:-1px;padding:.8rem 1rem;background-color:#e2498a;color:#fff;line-height:1}.ha-pricing-table-badge--left{left:0;-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ha-pricing-table-badge--right{right:0;-webkit-transform:rotate(-90deg) translateY(-100%);-ms-transform:rotate(-90deg) translateY(-100%);transform:rotate(-90deg) translateY(-100%);-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.ha-pricing-table-title{margin-top:0;margin-bottom:.5rem;color:#242424;font-weight:400;font-size:24px}.ha-pricing-table-price{margin-bottom:3rem}.ha-pricing-table-price-tag{margin-bottom:.5rem;color:#242424;font-weight:700;font-size:60px;line-height:normal}.ha-pricing-table-currency{font-size:24px}.ha-pricing-table-period{color:#8c8c8c;font-size:16px}.ha-pricing-table-body{margin-bottom:3rem}.ha-pricing-table-features-title{margin-top:0;margin-bottom:1rem;font-weight:700;font-size:16px}.ha-pricing-table-features-list{margin:0;padding:0;list-style:none}.ha-pricing-table-features-list li{margin-bottom:1rem;font-size:16px}.ha-pricing-table-features-list i,.ha-pricing-table-features-list svg{margin-right:.5rem;min-width:15px;font-size:.8em}.ha-pricing-table-features-list svg{width:auto;height:1em}.ha-pricing-table-feature-text{display:inline-block}.ha-pricing-table-btn{display:inline-block;padding:.8rem 2rem;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;-webkit-transition:all .3s;transition:all .3s}.ha-pricing-table-btn:hover{background-color:#562dd4;color:#fff}
|
assets/css/widgets/slider-carousel.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-carousel .slick-vertical .slick-slide,.ha-slider .slick-vertical .slick-slide{border:0}.ha-carousel .slick-next,.ha-carousel .slick-prev,.ha-slider .slick-next,.ha-slider .slick-prev{z-index:999;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background-color:rgba(255,255,255,.8);color:#8c8c8c;text-align:center;font-size:12px;opacity:1}.ha-carousel .slick-next:focus,.ha-carousel .slick-next:hover,.ha-carousel .slick-prev:focus,.ha-carousel .slick-prev:hover,.ha-slider .slick-next:focus,.ha-slider .slick-next:hover,.ha-slider .slick-prev:focus,.ha-slider .slick-prev:hover{background-color:#fff}.ha-carousel .slick-next:before,.ha-carousel .slick-prev:before,.ha-slider .slick-next:before,.ha-slider .slick-prev:before{content:""}.ha-carousel .slick-disabled,.ha-slider .slick-disabled{opacity:.7}.ha-carousel .slick-prev,.ha-slider .slick-prev{left:25px}.ha-carousel .slick-next,.ha-slider .slick-next{right:25px}.ha-carousel .slick-dots,.ha-slider .slick-dots{bottom:-40px}.ha-carousel .slick-dots li,.ha-slider .slick-dots li{margin-right:2px;margin-left:2px}.ha-carousel .slick-dots li button:focus,.ha-carousel .slick-dots li button:hover,.ha-slider .slick-dots li button:focus,.ha-slider .slick-dots li button:hover{background-color:transparent}.ha-carousel .slick-dots li button:before,.ha-slider .slick-dots li button:before{color:#1b1b1b;opacity:1}.ha-carousel .slick-dots .slick-active button:before,.ha-carousel .slick-dots li button:hover:before,.ha-slider .slick-dots .slick-active button:before,.ha-slider .slick-dots li button:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.ha-carousel .slick-next,.ha-carousel .slick-prev{width:40px;height:40px;line-height:40px}.ha-slider .slick-next,.ha-slider .slick-prev{width:50px;height:50px;line-height:50px}.ha-carousel .slick-slider:not(.slick-vertical) .slick-slide{padding-right:5px;padding-left:5px}.ha-carousel .slick-slider.slick-vertical .slick-slide{padding-top:5px;padding-bottom:5px}.ha-slick-item{position:relative;overflow:hidden;vertical-align:bottom}.ha-slick-content{position:absolute;bottom:0;padding:1.5rem;width:100%;background:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3))}.ha-slick-title{margin-top:0;margin-bottom:.2rem;color:#fff;font-size:20px}.ha-slick-subtitle{margin:0;color:#fff}
|
1 |
+
.ha-carousel .slick-vertical .slick-slide,.ha-slider .slick-vertical .slick-slide{border:0}.ha-carousel .slick-next,.ha-carousel .slick-prev,.ha-slider .slick-next,.ha-slider .slick-prev{z-index:999;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background-color:rgba(255,255,255,.8);color:#8c8c8c;text-align:center;font-size:12px;opacity:1}.ha-carousel .slick-next:focus,.ha-carousel .slick-next:hover,.ha-carousel .slick-prev:focus,.ha-carousel .slick-prev:hover,.ha-slider .slick-next:focus,.ha-slider .slick-next:hover,.ha-slider .slick-prev:focus,.ha-slider .slick-prev:hover{background-color:#fff;color:#8c8c8c}.ha-carousel .slick-next:before,.ha-carousel .slick-prev:before,.ha-slider .slick-next:before,.ha-slider .slick-prev:before{content:""}.ha-carousel .slick-disabled,.ha-slider .slick-disabled{opacity:.7}.ha-carousel .slick-prev,.ha-slider .slick-prev{left:25px}.ha-carousel .slick-next,.ha-slider .slick-next{right:25px}.ha-carousel .slick-dots,.ha-slider .slick-dots{bottom:-40px}.ha-carousel .slick-dots li,.ha-slider .slick-dots li{margin-right:2px;margin-left:2px}.ha-carousel .slick-dots li button:focus,.ha-carousel .slick-dots li button:hover,.ha-slider .slick-dots li button:focus,.ha-slider .slick-dots li button:hover{background-color:transparent}.ha-carousel .slick-dots li button:before,.ha-slider .slick-dots li button:before{color:#1b1b1b;opacity:1}.ha-carousel .slick-dots .slick-active button:before,.ha-carousel .slick-dots li button:hover:before,.ha-slider .slick-dots .slick-active button:before,.ha-slider .slick-dots li button:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.ha-carousel .slick-next,.ha-carousel .slick-prev{width:40px;height:40px;line-height:40px}.ha-slider .slick-next,.ha-slider .slick-prev{width:50px;height:50px;line-height:50px}.ha-carousel .slick-slider:not(.slick-vertical) .slick-slide{padding-right:5px;padding-left:5px}.ha-carousel .slick-slider.slick-vertical .slick-slide{padding-top:5px;padding-bottom:5px}.ha-slick-item{position:relative;display:inline-block;overflow:hidden;vertical-align:bottom}.ha-slick-content{position:absolute;bottom:0;padding:1.5rem;width:100%;background:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3))}.ha-slick-title{margin-top:0;margin-bottom:.2rem;color:#fff;font-size:20px}.ha-slick-subtitle{margin:0;color:#fff}
|
assets/css/widgets/social-icons.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-social-icons-wrapper,.ha-social-icons-wrapper a{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-social-icons-wrapper a{padding:15px;border-radius:4px;color:#fff;font-size:30px;-webkit-transition:all .3s;transition:all .3s}a.ha-social-icon:hover{position:relative;z-index:1;background:#e2498a}a.ha-social-icon:after,a.ha-social-icon:before{border-radius:inherit}.ha-social-icons-wrapper a.elementor-social-icon-label{color:#d30c5c}.ha-social-icon:not(:last-child){margin-right:2px}.ha-social-icon i
|
1 |
+
.ha-social-icons-wrapper,.ha-social-icons-wrapper a{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-social-icons-wrapper a{padding:15px;border-radius:4px;color:#fff;font-size:30px;-webkit-transition:all .3s;transition:all .3s}a.ha-social-icon:hover{position:relative;z-index:1;background:#e2498a}a.ha-social-icon:after,a.ha-social-icon:before{border-radius:inherit}.ha-social-icons-wrapper a.elementor-social-icon-label{color:#d30c5c}.ha-social-icon:not(:last-child){margin-right:2px}.ha-social-icon i{position:relative;display:initial;width:1em;height:1em}.ha-social-icon-label{margin:0 0 0 10px;width:100%;height:100%;font-size:18px;line-height:1}.elementor-social-icon-label .ha-social-icon-label{margin-left:0}.elementor-element-edit-mode .ha-social-icon-sticky{z-index:9999}.ha-social-icons:not(.elementor-element-edit-mode) .ha-social-icon-sticky{position:fixed}.ha-social-icon-separator{margin-right:10px}.ha-separator--stroke .ha-social-icon-separator{width:1px;height:1em;background:#d30c5c}.ha-separator--custom .ha-social-icon-separator{color:#d30c5c;font-size:24px}.ha-social-icon-separator:last-child{display:none}
|
assets/css/widgets/steps-flow.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-step-flow>.elementor-widget-container{padding:30px;text-align:center}.ha-step-arrow,.ha-step-arrow:after{position:absolute;display:inline-block;border-top:1px solid #ddd}.ha-step-arrow{left:calc(100% + 20px);top:49%;width:100px}.ha-step-arrow:after{top:-2px;right:5px;width:12px;height:12px;border-right:1px solid #ddd;color:#ddd;content:"";-webkit-transform:rotate(45deg) translateY(-50%);-ms-transform:rotate(45deg) translateY(-50%);transform:rotate(45deg) translateY(-50%)}.ha-steps-icon{position:relative;display:inline-block;margin-bottom:2rem;padding:40px;border-radius:50%;background-color:#e9ecf0;box-shadow:0 2px 6px -2px #989898;color:#8056ee;text-align:center;font-size:46px}.ha-steps-icon i{position:relative;display:block;width:1em;height:1em}.ha-steps-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-steps-icon .ha-steps-label{position:absolute;top:5px;right:0;overflow:hidden;padding:12px 8px;max-width:200%;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.ha-steps-title{margin-top:0;margin-bottom:30px;font-weight:700;font-size:16px}.ha-steps-title a{display:block;color:#562dd4}.ha-steps-title a:hover{color:#242424}.ha-step-description{margin:0;color:#616161;font-weight:400;font-size:16px;line-height:1.5}
|
1 |
+
.ha-step-flow>.elementor-widget-container{padding:30px;text-align:center}.ha-step-arrow,.ha-step-arrow:after{position:absolute;display:inline-block;border-top:1px solid #ddd}.ha-step-arrow{left:calc(100% + 20px);top:49%;width:100px}.ha-step-arrow:after{top:-2px;right:5px;width:12px;height:12px;border-right:1px solid #ddd;color:#ddd;content:"";-webkit-transform:rotate(45deg) translateY(-50%);-ms-transform:rotate(45deg) translateY(-50%);transform:rotate(45deg) translateY(-50%)}.ha-steps-icon{position:relative;display:inline-block;margin-bottom:2rem;padding:40px;border-radius:50%;background-color:#e9ecf0;box-shadow:0 2px 6px -2px #989898;color:#8056ee;text-align:center;font-size:46px}.ha-steps-icon i,.ha-steps-icon svg{position:relative;display:block;width:1em;height:1em}.ha-steps-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-steps-icon .ha-steps-label{position:absolute;top:5px;right:0;overflow:hidden;padding:12px 8px;max-width:200%;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.ha-steps-title{margin-top:0;margin-bottom:30px;font-weight:700;font-size:16px}.ha-steps-title a{display:block;color:#562dd4}.ha-steps-title a:hover{color:#242424}.ha-step-description{margin:0;color:#616161;font-weight:400;font-size:16px;line-height:1.5}
|
assets/css/widgets/taxonomy-list.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-taxonomy-list{margin:0;padding:0;list-style:none}.ha-taxonomy-list.ha-taxonomy-list-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-taxonomy-list .ha-taxonomy-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 0 10px;padding:0}.ha-taxonomy-list.ha-taxonomy-list-inline .ha-taxonomy-list-item{margin-right:21px}.ha-taxonomy-list .ha-taxonomy-list-item:last-child,.ha-taxonomy-list.ha-taxonomy-list-inline .ha-taxonomy-list-item:last-child{margin-right:0;margin-bottom:0}.ha-taxonomy-list .ha-taxonomy-list-item a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;width:100%}.ha-taxonomy-list-title{display:block;margin-top:0;margin-bottom:0;color:#242424;font-size:1rem;-webkit-transition:all .4s;transition:all .4s}.ha-taxonomy-list .ha-taxonomy-list-item a:hover .ha-taxonomy-list-title{color:#e04d8b}.ha-taxonomy-list span.ha-taxonomy-list-icon{margin-right:8px;color:#242424;font-size:14px}.ha-taxonomy-list span.ha-taxonomy-list-image{margin-right:15px;line-height:1}.ha-taxonomy-list span.ha-taxonomy-list-image img{width:50px}
|
1 |
+
.ha-taxonomy-list{margin:0;padding:0;list-style:none}.ha-taxonomy-list.ha-taxonomy-list-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ha-taxonomy-list .ha-taxonomy-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 0 10px;padding:0}.ha-taxonomy-list.ha-taxonomy-list-inline .ha-taxonomy-list-item{margin-right:21px}.ha-taxonomy-list .ha-taxonomy-list-item:last-child,.ha-taxonomy-list.ha-taxonomy-list-inline .ha-taxonomy-list-item:last-child{margin-right:0;margin-bottom:0}.ha-taxonomy-list .ha-taxonomy-list-item a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;width:100%}.ha-taxonomy-list-title{display:block;margin-top:0;margin-bottom:0;color:#242424;font-size:1rem;-webkit-transition:all .4s;transition:all .4s}.ha-taxonomy-list .ha-taxonomy-list-item a:hover .ha-taxonomy-list-title{color:#e04d8b}.ha-taxonomy-list span.ha-taxonomy-list-icon{margin-right:8px;color:#242424;font-size:14px}.ha-taxonomy-list span.ha-taxonomy-list-icon svg{display:block;width:auto;height:1em}.ha-taxonomy-list span.ha-taxonomy-list-image{margin-right:15px;line-height:1}.ha-taxonomy-list span.ha-taxonomy-list-image img{width:50px}
|
assets/imgs/bf-img.png
DELETED
Binary file
|
assets/imgs/placeholder.jpg
DELETED
Binary file
|
base.php
CHANGED
@@ -46,14 +46,13 @@ class Base {
|
|
46 |
// Register finder category
|
47 |
add_action( 'elementor/finder/categories/init', [ $this, 'register_finder' ] );
|
48 |
|
49 |
-
add_action( 'wpml_loaded', [ $this, 'add_wpml_support' ] );
|
50 |
-
|
51 |
Widgets_Manager::init();
|
52 |
Assets_Manager::init();
|
53 |
Cache_Manager::init();
|
54 |
Icons_Manager::init();
|
55 |
Extensions_Manager::init();
|
56 |
Select2_Handler::init();
|
|
|
57 |
|
58 |
$this->init_appsero_tracking();
|
59 |
|
@@ -67,7 +66,7 @@ class Base {
|
|
67 |
Attention_Seeker::init();
|
68 |
}
|
69 |
|
70 |
-
|
71 |
}
|
72 |
|
73 |
/**
|
@@ -107,6 +106,7 @@ class Base {
|
|
107 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/assets-cache.php' );
|
108 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/extensions-manager.php' );
|
109 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/select2-handler.php' );
|
|
|
110 |
|
111 |
if ( is_admin() ) {
|
112 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/updater.php' );
|
@@ -162,14 +162,4 @@ class Base {
|
|
162 |
$categories_manager->add_category( Finder::SLUG, new Finder() );
|
163 |
$categories_manager->add_category( Finder_Edit::SLUG, new Finder_Edit() );
|
164 |
}
|
165 |
-
|
166 |
-
/**
|
167 |
-
* Add wpml support
|
168 |
-
*
|
169 |
-
* @return void
|
170 |
-
*/
|
171 |
-
public function add_wpml_support() {
|
172 |
-
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/wpml-manager.php' );
|
173 |
-
WPML_Manager::init();
|
174 |
-
}
|
175 |
}
|
46 |
// Register finder category
|
47 |
add_action( 'elementor/finder/categories/init', [ $this, 'register_finder' ] );
|
48 |
|
|
|
|
|
49 |
Widgets_Manager::init();
|
50 |
Assets_Manager::init();
|
51 |
Cache_Manager::init();
|
52 |
Icons_Manager::init();
|
53 |
Extensions_Manager::init();
|
54 |
Select2_Handler::init();
|
55 |
+
WPML_Manager::init();
|
56 |
|
57 |
$this->init_appsero_tracking();
|
58 |
|
66 |
Attention_Seeker::init();
|
67 |
}
|
68 |
|
69 |
+
do_action( 'happyaddons_loaded' );
|
70 |
}
|
71 |
|
72 |
/**
|
106 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/assets-cache.php' );
|
107 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/extensions-manager.php' );
|
108 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/select2-handler.php' );
|
109 |
+
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/wpml-manager.php' );
|
110 |
|
111 |
if ( is_admin() ) {
|
112 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/updater.php' );
|
162 |
$categories_manager->add_category( Finder::SLUG, new Finder() );
|
163 |
$categories_manager->add_category( Finder_Edit::SLUG, new Finder_Edit() );
|
164 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
}
|
changelog.txt
CHANGED
@@ -1,3 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= 2.10.0 - 18 May 2020 =
|
2 |
|
3 |
- New: 360° Rotation widget
|
1 |
+
= 2.11.0 - 1 June 2020 =
|
2 |
+
|
3 |
+
- Tweak: Slide item link support for Carousel widget
|
4 |
+
- Tweak: Slide item link support for Slider widget
|
5 |
+
- Tweak: More html tags support for textarea/description type input
|
6 |
+
- Tweak: Advanced button support for Team Member widget
|
7 |
+
- Tweak: Restored default placeholder image
|
8 |
+
- Fix: Adminbar happy icon markup issue
|
9 |
+
- Fix: Carousel and Slider css issue
|
10 |
+
- Fix: SVG icon sizing issues in all widgets
|
11 |
+
- Fix: WPML support issue
|
12 |
+
- Fix: 360° widget default style
|
13 |
+
|
14 |
= 2.10.0 - 18 May 2020 =
|
15 |
|
16 |
- New: 360° Rotation widget
|
classes/admin-bar.php
CHANGED
@@ -72,7 +72,7 @@ class Admin_Bar {
|
|
72 |
|
73 |
$admin_bar->add_menu( array(
|
74 |
'id' => 'happy-addons',
|
75 |
-
'title' => '<img src="'
|
76 |
'href' => ha_get_dashboard_link(),
|
77 |
'meta' => [
|
78 |
'title' => __( 'Happy Elementor Addons', 'happy-elementor-addons' ),
|
72 |
|
73 |
$admin_bar->add_menu( array(
|
74 |
'id' => 'happy-addons',
|
75 |
+
'title' => sprintf( '<img src="%s">', ha_get_b64_icon() ),
|
76 |
'href' => ha_get_dashboard_link(),
|
77 |
'meta' => [
|
78 |
'title' => __( 'Happy Elementor Addons', 'happy-elementor-addons' ),
|
classes/assets-manager.php
CHANGED
@@ -22,9 +22,6 @@ class Assets_Manager {
|
|
22 |
// Enqueue editor scripts
|
23 |
add_action( 'elementor/editor/after_enqueue_scripts', [ __CLASS__, 'enqueue_editor_scripts' ] );
|
24 |
|
25 |
-
// Placeholder image replacement
|
26 |
-
add_filter( 'elementor/utils/get_placeholder_image_src', [ __CLASS__, 'set_placeholder_image' ] );
|
27 |
-
|
28 |
// Paragraph toolbar registration
|
29 |
add_filter( 'elementor/editor/localize_settings', [ __CLASS__, 'add_inline_editing_intermediate_toolbar' ] );
|
30 |
}
|
@@ -60,10 +57,6 @@ class Assets_Manager {
|
|
60 |
return $config;
|
61 |
}
|
62 |
|
63 |
-
public static function set_placeholder_image() {
|
64 |
-
return HAPPY_ADDONS_ASSETS . 'imgs/placeholder.jpg';
|
65 |
-
}
|
66 |
-
|
67 |
public static function frontend_register() {
|
68 |
$suffix = ha_is_script_debug_enabled() ? '.' : '.min.';
|
69 |
|
22 |
// Enqueue editor scripts
|
23 |
add_action( 'elementor/editor/after_enqueue_scripts', [ __CLASS__, 'enqueue_editor_scripts' ] );
|
24 |
|
|
|
|
|
|
|
25 |
// Paragraph toolbar registration
|
26 |
add_filter( 'elementor/editor/localize_settings', [ __CLASS__, 'add_inline_editing_intermediate_toolbar' ] );
|
27 |
}
|
57 |
return $config;
|
58 |
}
|
59 |
|
|
|
|
|
|
|
|
|
60 |
public static function frontend_register() {
|
61 |
$suffix = ha_is_script_debug_enabled() ? '.' : '.min.';
|
62 |
|
classes/widgets-manager.php
CHANGED
@@ -566,7 +566,8 @@ class Widgets_Manager {
|
|
566 |
* @access public
|
567 |
*/
|
568 |
public static function register() {
|
569 |
-
|
|
|
570 |
|
571 |
$inactive_widgets = self::get_inactive_widgets();
|
572 |
|
566 |
* @access public
|
567 |
*/
|
568 |
public static function register() {
|
569 |
+
include_once( HAPPY_ADDONS_DIR_PATH . 'base/widget-base.php' );
|
570 |
+
include_once( HAPPY_ADDONS_DIR_PATH . 'traits/button-renderer.php' );
|
571 |
|
572 |
$inactive_widgets = self::get_inactive_widgets();
|
573 |
|
classes/wpml-manager.php
CHANGED
@@ -10,7 +10,9 @@ class WPML_Manager {
|
|
10 |
|
11 |
public static function init() {
|
12 |
add_filter( 'wpml_elementor_widgets_to_translate', [ __CLASS__, 'add_widgets_to_translate' ] );
|
|
|
13 |
|
|
|
14 |
include_once( HAPPY_ADDONS_DIR_PATH . 'wpml/bar-chart.php' );
|
15 |
include_once( HAPPY_ADDONS_DIR_PATH . 'wpml/carousel.php' );
|
16 |
include_once( HAPPY_ADDONS_DIR_PATH . 'wpml/image-grid.php' );
|
@@ -23,6 +25,8 @@ class WPML_Manager {
|
|
23 |
}
|
24 |
|
25 |
public static function add_widgets_to_translate( $widgets ) {
|
|
|
|
|
26 |
$widgets_map = [
|
27 |
/**
|
28 |
* Bar Chart
|
10 |
|
11 |
public static function init() {
|
12 |
add_filter( 'wpml_elementor_widgets_to_translate', [ __CLASS__, 'add_widgets_to_translate' ] );
|
13 |
+
}
|
14 |
|
15 |
+
public static function load_integration_files() {
|
16 |
include_once( HAPPY_ADDONS_DIR_PATH . 'wpml/bar-chart.php' );
|
17 |
include_once( HAPPY_ADDONS_DIR_PATH . 'wpml/carousel.php' );
|
18 |
include_once( HAPPY_ADDONS_DIR_PATH . 'wpml/image-grid.php' );
|
25 |
}
|
26 |
|
27 |
public static function add_widgets_to_translate( $widgets ) {
|
28 |
+
self::load_integration_files();
|
29 |
+
|
30 |
$widgets_map = [
|
31 |
/**
|
32 |
* Bar Chart
|
extensions/wrapper-link.php
CHANGED
@@ -39,7 +39,7 @@ class Wrapper_Link {
|
|
39 |
'dynamic' => [
|
40 |
'active' => true,
|
41 |
],
|
42 |
-
'placeholder' =>
|
43 |
]
|
44 |
);
|
45 |
|
39 |
'dynamic' => [
|
40 |
'active' => true,
|
41 |
],
|
42 |
+
'placeholder' => 'https://example.com',
|
43 |
]
|
44 |
);
|
45 |
|
inc/functions.php
CHANGED
@@ -228,12 +228,47 @@ function ha_get_allowed_html_tags( $level = 'basic' ) {
|
|
228 |
];
|
229 |
|
230 |
if ( $level === 'intermediate' ) {
|
231 |
-
$
|
232 |
-
'
|
233 |
-
|
234 |
-
|
235 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
];
|
|
|
|
|
237 |
}
|
238 |
|
239 |
return $allowed_html;
|
@@ -602,3 +637,42 @@ if ( ! function_exists( 'ha_get_section_icon' ) ) {
|
|
602 |
return '<i style="float: right" class="hm hm-happyaddons"></i>';
|
603 |
}
|
604 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
];
|
229 |
|
230 |
if ( $level === 'intermediate' ) {
|
231 |
+
$tags = [
|
232 |
+
'a' => [
|
233 |
+
'href' => [],
|
234 |
+
'title' => [],
|
235 |
+
'class' => [],
|
236 |
+
'id' => [],
|
237 |
+
],
|
238 |
+
'q' => [
|
239 |
+
'cite' => [],
|
240 |
+
],
|
241 |
+
'img' => [
|
242 |
+
'src' => [],
|
243 |
+
'alt' => [],
|
244 |
+
'height' => [],
|
245 |
+
'width' => [],
|
246 |
+
],
|
247 |
+
'dfn' => [
|
248 |
+
'title' => [],
|
249 |
+
],
|
250 |
+
'time' => [
|
251 |
+
'datetime' => [],
|
252 |
+
],
|
253 |
+
'cite' => [
|
254 |
+
'title' => [],
|
255 |
+
],
|
256 |
+
'acronym' => [
|
257 |
+
'title' => [],
|
258 |
+
],
|
259 |
+
'strike' => [],
|
260 |
+
'small' => [],
|
261 |
+
'code' => [],
|
262 |
+
'mark' => [],
|
263 |
+
'del' => [],
|
264 |
+
'ins' => [],
|
265 |
+
'sub' => [],
|
266 |
+
'sup' => [],
|
267 |
+
'hr' => [],
|
268 |
+
's' => [],
|
269 |
];
|
270 |
+
|
271 |
+
$allowed_html = array_merge( $allowed_html, $tags );
|
272 |
}
|
273 |
|
274 |
return $allowed_html;
|
637 |
return '<i style="float: right" class="hm hm-happyaddons"></i>';
|
638 |
}
|
639 |
}
|
640 |
+
|
641 |
+
/**
|
642 |
+
* Render icon html with backward compatibility
|
643 |
+
*
|
644 |
+
* @param array $settings
|
645 |
+
* @param string $old_icon_id
|
646 |
+
* @param string $new_icon_id
|
647 |
+
* @param array $attributes
|
648 |
+
*/
|
649 |
+
function ha_render_button_icon( $settings = [], $old_icon_id = 'icon', $new_icon_id = 'selected_icon', $attributes = [] ) {
|
650 |
+
// Check if its already migrated
|
651 |
+
$migrated = isset( $settings['__fa4_migrated'][ $new_icon_id ] );
|
652 |
+
// Check if its a new widget without previously selected icon using the old Icon control
|
653 |
+
$is_new = empty( $settings[ $old_icon_id ] );
|
654 |
+
|
655 |
+
$attributes['aria-hidden'] = 'true';
|
656 |
+
$is_svg = ( isset( $settings[ $new_icon_id ], $settings[ $new_icon_id ]['library'] ) && $settings[ $new_icon_id ]['library'] === 'svg' );
|
657 |
+
|
658 |
+
if ( ha_is_elementor_version( '>=', '2.6.0' ) && ( $is_new || $migrated ) ) {
|
659 |
+
if ( $is_svg ) {
|
660 |
+
echo '<span class="ha-btn-icon ha-btn-icon--svg">';
|
661 |
+
}
|
662 |
+
\Elementor\Icons_Manager::render_icon( $settings[ $new_icon_id ], $attributes );
|
663 |
+
if ( $is_svg ) {
|
664 |
+
echo '</span>';
|
665 |
+
}
|
666 |
+
} else {
|
667 |
+
if ( empty( $attributes['class'] ) ) {
|
668 |
+
$attributes['class'] = $settings[ $old_icon_id ];
|
669 |
+
} else {
|
670 |
+
if ( is_array( $attributes['class'] ) ) {
|
671 |
+
$attributes['class'][] = $settings[ $old_icon_id ];
|
672 |
+
} else {
|
673 |
+
$attributes['class'] .= ' ' . $settings[ $old_icon_id ];
|
674 |
+
}
|
675 |
+
}
|
676 |
+
printf( '<i %s></i>', \Elementor\Utils::render_html_attributes( $attributes ) );
|
677 |
+
}
|
678 |
+
}
|
plugin.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Happy Elementor Addons
|
4 |
* Plugin URI: https://happyaddons.com/
|
5 |
* Description: <a href="https://happyaddons.com/">HappyAddons</a> is a collection of slick, powerful widgets that works seamlessly with Elementor page builder. It’s trendy look with detail customization features allows to create extraordinary designs instantly. <a href="https://happyaddons.com/">HappyAddons</a> is free, rapidly growing and comes with great support.
|
6 |
-
* Version: 2.
|
7 |
* Author: weDevs
|
8 |
* Author URI: https://happyaddons.com/
|
9 |
* License: GPLv2
|
@@ -34,7 +34,7 @@ Copyright 2019 HappyMonster <http://happymonster.me>
|
|
34 |
|
35 |
defined( 'ABSPATH' ) || die();
|
36 |
|
37 |
-
define( 'HAPPY_ADDONS_VERSION', '2.
|
38 |
define( 'HAPPY_ADDONS__FILE__', __FILE__ );
|
39 |
define( 'HAPPY_ADDONS_DIR_PATH', plugin_dir_path( HAPPY_ADDONS__FILE__ ) );
|
40 |
define( 'HAPPY_ADDONS_DIR_URL', plugin_dir_url( HAPPY_ADDONS__FILE__ ) );
|
3 |
* Plugin Name: Happy Elementor Addons
|
4 |
* Plugin URI: https://happyaddons.com/
|
5 |
* Description: <a href="https://happyaddons.com/">HappyAddons</a> is a collection of slick, powerful widgets that works seamlessly with Elementor page builder. It’s trendy look with detail customization features allows to create extraordinary designs instantly. <a href="https://happyaddons.com/">HappyAddons</a> is free, rapidly growing and comes with great support.
|
6 |
+
* Version: 2.11.0
|
7 |
* Author: weDevs
|
8 |
* Author URI: https://happyaddons.com/
|
9 |
* License: GPLv2
|
34 |
|
35 |
defined( 'ABSPATH' ) || die();
|
36 |
|
37 |
+
define( 'HAPPY_ADDONS_VERSION', '2.11.0' );
|
38 |
define( 'HAPPY_ADDONS__FILE__', __FILE__ );
|
39 |
define( 'HAPPY_ADDONS_DIR_PATH', plugin_dir_path( HAPPY_ADDONS__FILE__ ) );
|
40 |
define( 'HAPPY_ADDONS_DIR_URL', plugin_dir_url( HAPPY_ADDONS__FILE__ ) );
|
readme.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
=== Happy Addons for Elementor ===
|
2 |
Plugin Name: Happy Addons for Elementor
|
3 |
-
Version: 2.
|
4 |
Author: weDevs
|
5 |
Author URI: https://happyaddons.com/
|
6 |
Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, sourav926, wedevs, iqbalrony, mrokon, obiplabon
|
@@ -253,6 +253,19 @@ For a more detailed explanation check out the following documentation
|
|
253 |
|
254 |
== Changelog ==
|
255 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
256 |
= 2.10.0 - 18 May 2020 =
|
257 |
|
258 |
- New: 360° Rotation widget
|
@@ -420,3 +433,9 @@ For a more detailed explanation check out the following documentation
|
|
420 |
- Fix: Missing style issue while copy-pasting widget style
|
421 |
- Fix: Happy Icons cache issue
|
422 |
- Fix: Admin bar menu spacing issue
|
|
|
|
|
|
|
|
|
|
|
|
1 |
=== Happy Addons for Elementor ===
|
2 |
Plugin Name: Happy Addons for Elementor
|
3 |
+
Version: 2.11.0
|
4 |
Author: weDevs
|
5 |
Author URI: https://happyaddons.com/
|
6 |
Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, sourav926, wedevs, iqbalrony, mrokon, obiplabon
|
253 |
|
254 |
== Changelog ==
|
255 |
|
256 |
+
= 2.11.0 - 1 June 2020 =
|
257 |
+
|
258 |
+
- Tweak: Slide item link support for Carousel widget
|
259 |
+
- Tweak: Slide item link support for Slider widget
|
260 |
+
- Tweak: More html tags support for textarea/description type input
|
261 |
+
- Tweak: Advanced button support for Team Member widget
|
262 |
+
- Tweak: Restored default placeholder image
|
263 |
+
- Fix: Adminbar happy icon markup issue
|
264 |
+
- Fix: Carousel and Slider css issue
|
265 |
+
- Fix: SVG icon sizing issues in all widgets
|
266 |
+
- Fix: WPML support issue
|
267 |
+
- Fix: 360° widget default style
|
268 |
+
|
269 |
= 2.10.0 - 18 May 2020 =
|
270 |
|
271 |
- New: 360° Rotation widget
|
433 |
- Fix: Missing style issue while copy-pasting widget style
|
434 |
- Fix: Happy Icons cache issue
|
435 |
- Fix: Admin bar menu spacing issue
|
436 |
+
|
437 |
+
|
438 |
+
== Upgrade Notice ==
|
439 |
+
|
440 |
+
= 2.11.0 =
|
441 |
+
Added link support to Carousel and Slider widget. Fixed SVG issues and WMPL compatibility issue and more.
|
traits/button-renderer.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Button renderer trait
|
4 |
+
*/
|
5 |
+
namespace Happy_Addons\Elementor\Traits;
|
6 |
+
|
7 |
+
defined( 'ABSPATH' ) || exit;
|
8 |
+
|
9 |
+
trait Button_Renderer {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Render button with icon
|
13 |
+
*
|
14 |
+
* @param array $args { old_icon, icon_pos, new_icon, text, link, class, text_class }
|
15 |
+
* @return void
|
16 |
+
*/
|
17 |
+
public function render_icon_button( $args = [] ) {
|
18 |
+
$args = wp_parse_args( $args, [
|
19 |
+
'old_icon' => 'button_icon',
|
20 |
+
'icon_pos' => 'button_icon_position',
|
21 |
+
'new_icon' => 'button_selected_icon',
|
22 |
+
'text' => 'button_text',
|
23 |
+
'link' => 'button_link',
|
24 |
+
'class' => 'ha-btn ha-btn--link',
|
25 |
+
'text_class' => 'ha-btn-text',
|
26 |
+
] );
|
27 |
+
|
28 |
+
$settings = $this->get_settings_for_display();
|
29 |
+
$this->add_inline_editing_attributes( $args['text'], 'none' );
|
30 |
+
$this->add_render_attribute( $args['text'], 'class', $args['text_class'] );
|
31 |
+
|
32 |
+
$this->add_render_attribute( 'button', 'class', $args['class'] );
|
33 |
+
$this->add_link_attributes( 'button', $settings[ $args['link'] ] );
|
34 |
+
|
35 |
+
if ( $settings[ $args['text'] ] && ( empty( $settings[ $args['new_icon'] ] ) && empty( $settings[ $args['old_icon'] ] ) ) ) :
|
36 |
+
printf( '<a %1$s>%2$s</a>',
|
37 |
+
$this->get_render_attribute_string( 'button' ),
|
38 |
+
sprintf( '<span %1$s>%2$s</span>', $this->get_render_attribute_string( $args['text'] ), esc_html( $settings[ $args['text'] ] ) )
|
39 |
+
);
|
40 |
+
elseif ( empty( $settings[ $args['text'] ] ) && ( ! empty( $settings[ $args['old_icon'] ] ) || ! empty( $settings[ $args['new_icon'] ] ) ) ) : ?>
|
41 |
+
<a <?php $this->print_render_attribute_string( 'button' ); ?>><?php ha_render_button_icon( $settings, $args['old_icon'], $args['new_icon'] ); ?></a>
|
42 |
+
<?php elseif ( $settings[ $args['text'] ] && ( ! empty( $settings[ $args['old_icon'] ] ) || ! empty( $settings[ $args['new_icon'] ] ) ) ) :
|
43 |
+
if ( $settings[ $args['icon_pos'] ] === 'before' ) :
|
44 |
+
$this->add_render_attribute( 'button', 'class', 'ha-btn--icon-before' );
|
45 |
+
$button_text = sprintf( '<span %1$s>%2$s</span>', $this->get_render_attribute_string( $args['text'] ), esc_html( $settings[ $args['text'] ] ) );
|
46 |
+
?>
|
47 |
+
<a <?php $this->print_render_attribute_string( 'button' ); ?>><?php ha_render_button_icon( $settings, $args['old_icon'], $args['new_icon'], ['class' => 'ha-btn-icon'] ); ?> <?php echo $button_text; ?></a>
|
48 |
+
<?php
|
49 |
+
else :
|
50 |
+
$this->add_render_attribute( 'button', 'class', 'ha-btn--icon-after' );
|
51 |
+
$button_text = sprintf( '<span %1$s>%2$s</span>', $this->get_render_attribute_string( $args['text'] ), esc_html( $settings[ $args['text'] ] ) );
|
52 |
+
?>
|
53 |
+
<a <?php $this->print_render_attribute_string( 'button' ); ?>><?php echo $button_text; ?> <?php ha_render_button_icon( $settings, $args['old_icon'], $args['new_icon'], ['class' => 'ha-btn-icon'] ); ?></a>
|
54 |
+
<?php
|
55 |
+
endif;
|
56 |
+
endif;
|
57 |
+
}
|
58 |
+
}
|
widgets/card/widget.php
CHANGED
@@ -15,42 +15,45 @@ use Elementor\Group_Control_Border;
|
|
15 |
use Elementor\Group_Control_Box_Shadow;
|
16 |
use Elementor\Group_Control_Image_Size;
|
17 |
use Elementor\Group_Control_Typography;
|
|
|
18 |
|
19 |
defined( 'ABSPATH' ) || die();
|
20 |
|
21 |
class Card extends Base {
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
54 |
|
55 |
protected function register_content_controls() {
|
56 |
$this->start_controls_section(
|
@@ -61,1135 +64,1065 @@ class Card extends Base {
|
|
61 |
]
|
62 |
);
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
|
1027 |
protected function render() {
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
);
|
1126 |
-
|
1127 |
-
view.addInlineEditingAttributes( 'title', 'basic' );
|
1128 |
-
view.addRenderAttribute( 'title', 'class', 'ha-card-title' );
|
1129 |
-
|
1130 |
-
view.addInlineEditingAttributes( 'description', 'intermediate' );
|
1131 |
-
view.addRenderAttribute( 'description', 'class', 'ha-card-text' );
|
1132 |
-
|
1133 |
-
view.addInlineEditingAttributes( 'button_text', 'none' );
|
1134 |
-
view.addRenderAttribute( 'button_text', 'class', 'ha-btn-text' );
|
1135 |
-
|
1136 |
-
view.addRenderAttribute( 'button', 'class', 'ha-btn' );
|
1137 |
-
view.addRenderAttribute( 'button', 'href', settings.button_link.url );
|
1138 |
-
|
1139 |
-
if ( settings.image.url || settings.image.id ) {
|
1140 |
-
var image = {
|
1141 |
-
id: settings.image.id,
|
1142 |
-
url: settings.image.url,
|
1143 |
-
size: settings.thumbnail_size,
|
1144 |
-
dimension: settings.thumbnail_custom_dimension,
|
1145 |
-
model: view.getEditModel()
|
1146 |
-
};
|
1147 |
-
|
1148 |
-
var image_url = elementor.imagesManager.getImageUrl( image ); #>
|
1149 |
-
<figure class="ha-card-figure">
|
1150 |
-
<img class="elementor-animation-{{settings.hover_animation}}" src="{{ image_url }}">
|
1151 |
-
<# if (settings.badge_text) { #>
|
1152 |
-
<div {{{ view.getRenderAttributeString( 'badge_text' ) }}}>{{ settings.badge_text }}</div>
|
1153 |
-
<# } #>
|
1154 |
-
</figure>
|
1155 |
-
<# } #>
|
1156 |
-
|
1157 |
-
<div class="ha-card-body">
|
1158 |
-
<# if (settings.title) { #>
|
1159 |
-
<{{ settings.title_tag }} {{{ view.getRenderAttributeString( 'title' ) }}}>{{{ settings.title }}}</{{ settings.title_tag }}>
|
1160 |
-
<# } #>
|
1161 |
-
|
1162 |
-
<# if (settings.description) { #>
|
1163 |
-
<div {{{ view.getRenderAttributeString( 'description' ) }}}>
|
1164 |
-
<p>{{{ settings.description }}}</p>
|
1165 |
-
</div>
|
1166 |
-
<# } #>
|
1167 |
-
|
1168 |
-
<# if ( ( settings.button_selected_icon && settings.button_selected_icon.value ) || settings.button_icon ) {
|
1169 |
-
if ( ha_has_icon_library() && btnIconHTML && btnIconHTML.rendered && ( ! settings.button_icon || btnMigrated ) ) {
|
1170 |
-
btnIcon = btnIconHTML.value;
|
1171 |
-
} else if ( settings.button_icon ) {
|
1172 |
-
btnIcon = '<i class="ha-btn-icon ' + settings.button_icon + '" aria-hidden="true"></i>';
|
1173 |
-
}
|
1174 |
-
} #>
|
1175 |
-
|
1176 |
-
<# if ( settings.button_text && ( ! ( settings.button_selected_icon && settings.button_selected_icon.value ) && ! settings.button_icon ) ) { #>
|
1177 |
-
<a {{{ view.getRenderAttributeString( 'button' ) }}}><span {{{ view.getRenderAttributeString( 'button_text' ) }}}>{{ settings.button_text }}</span></a>
|
1178 |
-
<# } else if ( ! settings.button_text && ( ( settings.button_selected_icon && settings.button_selected_icon.value ) || settings.button_icon ) ) { #>
|
1179 |
-
<a {{{ view.getRenderAttributeString( 'button' ) }}}>{{{ btnIcon }}}</a>
|
1180 |
-
<# } else if ( settings.button_text && ( ( settings.button_selected_icon && settings.button_selected_icon.value ) || settings.button_icon ) ) {
|
1181 |
-
if ( settings.button_icon_position === 'before' ) {
|
1182 |
-
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-before' );
|
1183 |
-
button_before = btnIcon;
|
1184 |
-
button_after = '<span ' + view.getRenderAttributeString( 'button_text' ) + '>' + settings.button_text + '</span>';
|
1185 |
-
} else {
|
1186 |
-
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-after' );
|
1187 |
-
button_after = btnIcon;
|
1188 |
-
button_before = '<span ' + view.getRenderAttributeString( 'button_text' ) + '>' + settings.button_text + '</span>';
|
1189 |
-
} #>
|
1190 |
-
<a {{{ view.getRenderAttributeString( 'button' ) }}}>{{{ button_before }}} {{{ button_after }}}</a>
|
1191 |
-
<# } #>
|
1192 |
-
</div>
|
1193 |
-
<?php
|
1194 |
-
}
|
1195 |
}
|
15 |
use Elementor\Group_Control_Box_Shadow;
|
16 |
use Elementor\Group_Control_Image_Size;
|
17 |
use Elementor\Group_Control_Typography;
|
18 |
+
use Happy_Addons\Elementor\Traits\Button_Renderer;
|
19 |
|
20 |
defined( 'ABSPATH' ) || die();
|
21 |
|
22 |
class Card extends Base {
|
23 |
|
24 |
+
use Button_Renderer;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Get widget title.
|
28 |
+
*
|
29 |
+
* @since 1.0.0
|
30 |
+
* @access public
|
31 |
+
*
|
32 |
+
* @return string Widget title.
|
33 |
+
*/
|
34 |
+
public function get_title() {
|
35 |
+
return __( 'Card', 'happy-elementor-addons' );
|
36 |
+
}
|
37 |
+
|
38 |
+
public function get_custom_help_url() {
|
39 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/card/';
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Get widget icon.
|
44 |
+
*
|
45 |
+
* @since 1.0.0
|
46 |
+
* @access public
|
47 |
+
*
|
48 |
+
* @return string Widget icon.
|
49 |
+
*/
|
50 |
+
public function get_icon() {
|
51 |
+
return 'hm hm-card';
|
52 |
+
}
|
53 |
+
|
54 |
+
public function get_keywords() {
|
55 |
+
return [ 'card', 'blurb', 'infobox', 'content', 'block', 'box' ];
|
56 |
+
}
|
57 |
|
58 |
protected function register_content_controls() {
|
59 |
$this->start_controls_section(
|
64 |
]
|
65 |
);
|
66 |
|
67 |
+
$this->add_control(
|
68 |
+
'image',
|
69 |
+
[
|
70 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
71 |
+
'type' => Controls_Manager::MEDIA,
|
72 |
+
'default' => [
|
73 |
+
'url' => Utils::get_placeholder_image_src(),
|
74 |
+
],
|
75 |
+
'dynamic' => [
|
76 |
+
'active' => true,
|
77 |
+
]
|
78 |
+
]
|
79 |
+
);
|
80 |
+
|
81 |
+
$this->add_group_control(
|
82 |
+
Group_Control_Image_Size::get_type(),
|
83 |
+
[
|
84 |
+
'name' => 'thumbnail',
|
85 |
+
'default' => 'large',
|
86 |
+
'separator' => 'none',
|
87 |
+
]
|
88 |
+
);
|
89 |
+
|
90 |
+
$this->add_control(
|
91 |
+
'image_position',
|
92 |
+
[
|
93 |
+
'label' => __( 'Image Position', 'happy-elementor-addons' ),
|
94 |
+
'type' => Controls_Manager::CHOOSE,
|
95 |
+
'label_block' => false,
|
96 |
+
'options' => [
|
97 |
+
'left' => [
|
98 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
99 |
+
'icon' => 'eicon-h-align-left',
|
100 |
+
],
|
101 |
+
'top' => [
|
102 |
+
'title' => __( 'Top', 'happy-elementor-addons' ),
|
103 |
+
'icon' => 'eicon-v-align-top',
|
104 |
+
],
|
105 |
+
'right' => [
|
106 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
107 |
+
'icon' => 'eicon-h-align-right',
|
108 |
+
],
|
109 |
+
],
|
110 |
+
'toggle' => false,
|
111 |
+
'default' => 'top',
|
112 |
+
'prefix_class' => 'ha-card--',
|
113 |
+
'style_transfer' => true,
|
114 |
+
]
|
115 |
+
);
|
116 |
+
|
117 |
+
$this->add_control(
|
118 |
+
'badge_text',
|
119 |
+
[
|
120 |
+
'label' => __( 'Badge Text', 'happy-elementor-addons' ),
|
121 |
+
'type' => Controls_Manager::TEXT,
|
122 |
+
'label_block' => true,
|
123 |
+
'default' => __( 'Badget Text', 'happy-elementor-addons' ),
|
124 |
+
'placeholder' => __( 'Type badge text', 'happy-elementor-addons' ),
|
125 |
+
'separator' => 'before',
|
126 |
+
'description' => __( 'Set badget position and control all the style settings from Style tab', 'happy-elementor-addons' ),
|
127 |
+
'dynamic' => [
|
128 |
+
'active' => true,
|
129 |
+
]
|
130 |
+
]
|
131 |
+
);
|
132 |
+
|
133 |
+
$this->end_controls_section();
|
134 |
+
|
135 |
+
$this->start_controls_section(
|
136 |
+
'_section_title',
|
137 |
+
[
|
138 |
+
'label' => __( 'Title & Description', 'happy-elementor-addons' ),
|
139 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
140 |
+
]
|
141 |
+
);
|
142 |
+
|
143 |
+
$this->add_control(
|
144 |
+
'title',
|
145 |
+
[
|
146 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
147 |
+
'label_block' => true,
|
148 |
+
'type' => Controls_Manager::TEXT,
|
149 |
+
'default' => __( 'Happy Card Title', 'happy-elementor-addons' ),
|
150 |
+
'placeholder' => __( 'Type Card Title', 'happy-elementor-addons' ),
|
151 |
+
'dynamic' => [
|
152 |
+
'active' => true,
|
153 |
+
]
|
154 |
+
]
|
155 |
+
);
|
156 |
+
|
157 |
+
$this->add_control(
|
158 |
+
'description',
|
159 |
+
[
|
160 |
+
'label' => __( 'Description', 'happy-elementor-addons' ),
|
161 |
+
'description' => ha_get_allowed_html_desc( 'intermediate' ),
|
162 |
+
'type' => Controls_Manager::TEXTAREA,
|
163 |
+
'default' => __( 'Happy card description goes here', 'happy-elementor-addons' ),
|
164 |
+
'placeholder' => __( 'Type card description', 'happy-elementor-addons' ),
|
165 |
+
'rows' => 5,
|
166 |
+
'dynamic' => [
|
167 |
+
'active' => true,
|
168 |
+
]
|
169 |
+
]
|
170 |
+
);
|
171 |
+
|
172 |
+
$this->add_control(
|
173 |
+
'title_tag',
|
174 |
+
[
|
175 |
+
'label' => __( 'Title HTML Tag', 'happy-elementor-addons' ),
|
176 |
+
'type' => Controls_Manager::CHOOSE,
|
177 |
+
'options' => [
|
178 |
+
'h1' => [
|
179 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
180 |
+
'icon' => 'eicon-editor-h1'
|
181 |
+
],
|
182 |
+
'h2' => [
|
183 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
184 |
+
'icon' => 'eicon-editor-h2'
|
185 |
+
],
|
186 |
+
'h3' => [
|
187 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
188 |
+
'icon' => 'eicon-editor-h3'
|
189 |
+
],
|
190 |
+
'h4' => [
|
191 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
192 |
+
'icon' => 'eicon-editor-h4'
|
193 |
+
],
|
194 |
+
'h5' => [
|
195 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
196 |
+
'icon' => 'eicon-editor-h5'
|
197 |
+
],
|
198 |
+
'h6' => [
|
199 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
200 |
+
'icon' => 'eicon-editor-h6'
|
201 |
+
]
|
202 |
+
],
|
203 |
+
'default' => 'h2',
|
204 |
+
'toggle' => false,
|
205 |
+
]
|
206 |
+
);
|
207 |
+
|
208 |
+
$this->add_responsive_control(
|
209 |
+
'align',
|
210 |
+
[
|
211 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
212 |
+
'type' => Controls_Manager::CHOOSE,
|
213 |
+
'options' => [
|
214 |
+
'left' => [
|
215 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
216 |
+
'icon' => 'fa fa-align-left',
|
217 |
+
],
|
218 |
+
'center' => [
|
219 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
220 |
+
'icon' => 'fa fa-align-center',
|
221 |
+
],
|
222 |
+
'right' => [
|
223 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
224 |
+
'icon' => 'fa fa-align-right',
|
225 |
+
],
|
226 |
+
],
|
227 |
+
'toggle' => true,
|
228 |
+
'selectors' => [
|
229 |
+
'{{WRAPPER}} .elementor-widget-container' => 'text-align: {{VALUE}};'
|
230 |
+
]
|
231 |
+
]
|
232 |
+
);
|
233 |
+
|
234 |
+
$this->end_controls_section();
|
235 |
+
|
236 |
+
$this->start_controls_section(
|
237 |
+
'_section_button',
|
238 |
+
[
|
239 |
+
'label' => __( 'Button', 'happy-elementor-addons' ),
|
240 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
241 |
+
]
|
242 |
+
);
|
243 |
+
|
244 |
+
$this->add_control(
|
245 |
+
'button_text',
|
246 |
+
[
|
247 |
+
'label' => __( 'Text', 'happy-elementor-addons' ),
|
248 |
+
'type' => Controls_Manager::TEXT,
|
249 |
+
'default' => 'Button Text',
|
250 |
+
'placeholder' => __( 'Type button text here', 'happy-elementor-addons' ),
|
251 |
+
'label_block' => true,
|
252 |
+
'dynamic' => [
|
253 |
+
'active' => true,
|
254 |
+
]
|
255 |
+
]
|
256 |
+
);
|
257 |
+
|
258 |
+
$this->add_control(
|
259 |
+
'button_link',
|
260 |
+
[
|
261 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
262 |
+
'type' => Controls_Manager::URL,
|
263 |
+
'placeholder' => 'https://example.com',
|
264 |
+
'dynamic' => [
|
265 |
+
'active' => true,
|
266 |
+
]
|
267 |
+
]
|
268 |
+
);
|
269 |
+
|
270 |
+
if ( ha_is_elementor_version( '<', '2.6.0' ) ) {
|
271 |
+
$this->add_control(
|
272 |
+
'button_icon',
|
273 |
+
[
|
274 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
275 |
+
'label_block' => true,
|
276 |
+
'type' => Controls_Manager::ICON,
|
277 |
+
'options' => ha_get_happy_icons(),
|
278 |
+
'default' => 'fa fa-angle-right',
|
279 |
+
]
|
280 |
+
);
|
281 |
+
|
282 |
+
$condition = ['button_icon!' => ''];
|
283 |
+
} else {
|
284 |
+
$this->add_control(
|
285 |
+
'button_selected_icon',
|
286 |
+
[
|
287 |
+
'type' => Controls_Manager::ICONS,
|
288 |
+
'fa4compatibility' => 'button_icon',
|
289 |
+
'label_block' => true,
|
290 |
+
]
|
291 |
+
);
|
292 |
+
$condition = ['button_selected_icon[value]!' => ''];
|
293 |
+
}
|
294 |
+
|
295 |
+
$this->add_control(
|
296 |
+
'button_icon_position',
|
297 |
+
[
|
298 |
+
'label' => __( 'Icon Position', 'happy-elementor-addons' ),
|
299 |
+
'type' => Controls_Manager::CHOOSE,
|
300 |
+
'label_block' => false,
|
301 |
+
'options' => [
|
302 |
+
'before' => [
|
303 |
+
'title' => __( 'Before', 'happy-elementor-addons' ),
|
304 |
+
'icon' => 'eicon-h-align-left',
|
305 |
+
],
|
306 |
+
'after' => [
|
307 |
+
'title' => __( 'After', 'happy-elementor-addons' ),
|
308 |
+
'icon' => 'eicon-h-align-right',
|
309 |
+
],
|
310 |
+
],
|
311 |
+
'default' => 'before',
|
312 |
+
'toggle' => false,
|
313 |
+
'condition' => $condition,
|
314 |
+
'style_transfer' => true,
|
315 |
+
]
|
316 |
+
);
|
317 |
+
|
318 |
+
$this->add_control(
|
319 |
+
'button_icon_spacing',
|
320 |
+
[
|
321 |
+
'label' => __( 'Icon Spacing', 'happy-elementor-addons' ),
|
322 |
+
'type' => Controls_Manager::SLIDER,
|
323 |
+
'condition' => $condition,
|
324 |
+
'selectors' => [
|
325 |
+
'{{WRAPPER}} .ha-btn--icon-before .ha-btn-icon' => 'margin-right: {{SIZE}}{{UNIT}};',
|
326 |
+
'{{WRAPPER}} .ha-btn--icon-after .ha-btn-icon' => 'margin-left: {{SIZE}}{{UNIT}};',
|
327 |
+
],
|
328 |
+
]
|
329 |
+
);
|
330 |
+
|
331 |
+
$this->end_controls_section();
|
332 |
+
}
|
333 |
+
|
334 |
+
protected function register_style_controls() {
|
335 |
+
$this->start_controls_section(
|
336 |
+
'_section_style_image',
|
337 |
+
[
|
338 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
339 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
340 |
+
]
|
341 |
+
);
|
342 |
+
|
343 |
+
$this->add_responsive_control(
|
344 |
+
'image_width',
|
345 |
+
[
|
346 |
+
'label' => __( 'Width', 'happy-elementor-addons' ),
|
347 |
+
'type' => Controls_Manager::SLIDER,
|
348 |
+
'size_units' => [ '%', 'px' ],
|
349 |
+
'desktop_default' => [
|
350 |
+
'unit' => '%',
|
351 |
+
],
|
352 |
+
'tablet_default' => [
|
353 |
+
'unit' => '%',
|
354 |
+
],
|
355 |
+
'mobile_default' => [
|
356 |
+
'unit' => '%',
|
357 |
+
],
|
358 |
+
'range' => [
|
359 |
+
'%' => [
|
360 |
+
'min' => 1,
|
361 |
+
'max' => 100,
|
362 |
+
],
|
363 |
+
'px' => [
|
364 |
+
'min' => 50,
|
365 |
+
'max' => 1000,
|
366 |
+
],
|
367 |
+
],
|
368 |
+
'selectors' => [
|
369 |
+
'{{WRAPPER}} .ha-card-figure' => 'flex: 0 0 {{SIZE}}{{UNIT}}; max-width: {{SIZE}}{{UNIT}};',
|
370 |
+
'{{WRAPPER}}.ha-card--right .ha-card-body, {{WRAPPER}}.ha-card--left .ha-card-body' => 'flex: 0 0 calc(100% - {{SIZE || 50}}{{UNIT}}); max-width: calc(100% - {{SIZE || 50}}{{UNIT}});',
|
371 |
+
],
|
372 |
+
]
|
373 |
+
);
|
374 |
+
|
375 |
+
$this->add_responsive_control(
|
376 |
+
'image_height',
|
377 |
+
[
|
378 |
+
'label' => __( 'Height', 'happy-elementor-addons' ),
|
379 |
+
'type' => Controls_Manager::SLIDER,
|
380 |
+
'size_units' => [ 'px' ],
|
381 |
+
'range' => [
|
382 |
+
'px' => [
|
383 |
+
'min' => 50,
|
384 |
+
'max' => 1000,
|
385 |
+
],
|
386 |
+
],
|
387 |
+
'selectors' => [
|
388 |
+
'{{WRAPPER}} .ha-card-figure' => 'height: {{SIZE}}{{UNIT}};',
|
389 |
+
],
|
390 |
+
]
|
391 |
+
);
|
392 |
+
|
393 |
+
$this->add_control(
|
394 |
+
'offset_toggle',
|
395 |
+
[
|
396 |
+
'label' => __( 'Offset', 'happy-elementor-addons' ),
|
397 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
398 |
+
'label_off' => __( 'None', 'happy-elementor-addons' ),
|
399 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
400 |
+
'return_value' => 'yes',
|
401 |
+
]
|
402 |
+
);
|
403 |
+
|
404 |
+
$this->start_popover();
|
405 |
+
|
406 |
+
$this->add_responsive_control(
|
407 |
+
'image_offset_x',
|
408 |
+
[
|
409 |
+
'label' => __( 'Offset Left', 'happy-elementor-addons' ),
|
410 |
+
'type' => Controls_Manager::SLIDER,
|
411 |
+
'size_units' => ['px'],
|
412 |
+
'condition' => [
|
413 |
+
'offset_toggle' => 'yes'
|
414 |
+
],
|
415 |
+
'range' => [
|
416 |
+
'px' => [
|
417 |
+
'min' => -1000,
|
418 |
+
'max' => 1000,
|
419 |
+
],
|
420 |
+
],
|
421 |
+
'render_type' => 'ui'
|
422 |
+
]
|
423 |
+
);
|
424 |
+
|
425 |
+
$this->add_responsive_control(
|
426 |
+
'image_offset_y',
|
427 |
+
[
|
428 |
+
'label' => __( 'Offset Top', 'happy-elementor-addons' ),
|
429 |
+
'type' => Controls_Manager::SLIDER,
|
430 |
+
'size_units' => ['px'],
|
431 |
+
'condition' => [
|
432 |
+
'offset_toggle' => 'yes'
|
433 |
+
],
|
434 |
+
'range' => [
|
435 |
+
'px' => [
|
436 |
+
'min' => -1000,
|
437 |
+
'max' => 1000,
|
438 |
+
],
|
439 |
+
],
|
440 |
+
'selectors' => [
|
441 |
+
// Left image position styles
|
442 |
+
'(desktop){{WRAPPER}}.ha-card--left .ha-card-body' => 'margin-left: {{image_offset_x.SIZE || 0}}{{UNIT}}; flex: 0 0 calc((100% - {{image_width.SIZE || 50}}{{image_width.UNIT}}) + (-1 * {{image_offset_x.SIZE || 0}}{{UNIT}})); max-width: calc((100% - {{image_width.SIZE || 50}}{{image_width.UNIT}}) + (-1 * {{image_offset_x.SIZE || 0}}{{UNIT}}));',
|
443 |
+
'(tablet){{WRAPPER}}.ha-card--left .ha-card-body' => 'margin-left: {{image_offset_x_tablet.SIZE || 0}}{{UNIT}}; flex: 0 0 calc((100% - {{image_width_tablet.SIZE || 50}}{{image_width_tablet.UNIT}}) + (-1 * {{image_offset_x_tablet.SIZE || 0}}{{UNIT}})); max-width: calc((100% - {{image_width_tablet.SIZE || 50}}{{image_width_tablet.UNIT}}) + (-1 * {{image_offset_x_tablet.SIZE || 0}}{{UNIT}}));',
|
444 |
+
'(mobile){{WRAPPER}}.ha-card--left .ha-card-body' => 'margin-left: {{image_offset_x_mobile.SIZE || 0}}{{UNIT}}; flex: 0 0 calc((100% - {{image_width_mobile.SIZE || 50}}{{image_width_mobile.UNIT}}) + (-1 * {{image_offset_x_mobile.SIZE || 0}}{{UNIT}})); max-width: calc((100% - {{image_width_mobile.SIZE || 50}}{{image_width_mobile.UNIT}}) + (-1 * {{image_offset_x_mobile.SIZE || 0}}{{UNIT}}));',
|
445 |
+
// Image right position styles
|
446 |
+
'(desktop){{WRAPPER}}.ha-card--right .ha-card-body' => 'margin-right: calc(-1 * {{image_offset_x.SIZE || 0}}{{UNIT}}); flex: 0 0 calc((100% - {{image_width.SIZE || 50}}{{image_width.UNIT}}) + {{image_offset_x.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width.SIZE || 50}}{{image_width.UNIT}}) + {{image_offset_x.SIZE || 0}}{{UNIT}});',
|
447 |
+
'(tablet){{WRAPPER}}.ha-card--right .ha-card-body' => 'margin-right: calc(-1 * {{image_offset_x_tablet.SIZE || 0}}{{UNIT}}); flex: 0 0 calc((100% - {{image_width_tablet.SIZE || 50}}{{image_width_tablet.UNIT}}) + {{image_offset_x_tablet.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width_tablet.SIZE || 50}}{{image_width_tablet.UNIT}}) + {{image_offset_x_tablet.SIZE || 0}}{{UNIT}});',
|
448 |
+
'(mobile){{WRAPPER}}.ha-card--right .ha-card-body' => 'margin-right: calc(-1 * {{image_offset_x_mobile.SIZE || 0}}{{UNIT}}); flex: 0 0 calc((100% - {{image_width_mobile.SIZE || 50}}{{image_width_mobile.UNIT}}) + {{image_offset_x_mobile.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width_mobile.SIZE || 50}}{{image_width_mobile.UNIT}}) + {{image_offset_x_mobile.SIZE || 0}}{{UNIT}});',
|
449 |
+
// Image translate styles
|
450 |
+
'(desktop){{WRAPPER}} .ha-card-figure' => '-ms-transform: translate({{image_offset_x.SIZE || 0}}{{UNIT}}, {{image_offset_y.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{image_offset_x.SIZE || 0}}{{UNIT}}, {{image_offset_y.SIZE || 0}}{{UNIT}}); transform: translate({{image_offset_x.SIZE || 0}}{{UNIT}}, {{image_offset_y.SIZE || 0}}{{UNIT}});',
|
451 |
+
'(tablet){{WRAPPER}} .ha-card-figure' => '-ms-transform: translate({{image_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{image_offset_y_tablet.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{image_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{image_offset_y_tablet.SIZE || 0}}{{UNIT}}); transform: translate({{image_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{image_offset_y_tablet.SIZE || 0}}{{UNIT}});',
|
452 |
+
'(mobile){{WRAPPER}} .ha-card-figure' => '-ms-transform: translate({{image_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{image_offset_y_mobile.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{image_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{image_offset_y_mobile.SIZE || 0}}{{UNIT}}); transform: translate({{image_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{image_offset_y_mobile.SIZE || 0}}{{UNIT}});',
|
453 |
+
// Card body styles
|
454 |
+
'{{WRAPPER}}.ha-card--top .ha-card-body' => 'margin-top: {{SIZE}}{{UNIT}};',
|
455 |
+
],
|
456 |
+
]
|
457 |
+
);
|
458 |
+
$this->end_popover();
|
459 |
+
|
460 |
+
$this->add_responsive_control(
|
461 |
+
'image_padding',
|
462 |
+
[
|
463 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
464 |
+
'type' => Controls_Manager::DIMENSIONS,
|
465 |
+
'size_units' => [ 'px', 'em', '%' ],
|
466 |
+
'selectors' => [
|
467 |
+
'{{WRAPPER}} .ha-card-figure img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
468 |
+
],
|
469 |
+
]
|
470 |
+
);
|
471 |
+
|
472 |
+
$this->add_group_control(
|
473 |
+
Group_Control_Border::get_type(),
|
474 |
+
[
|
475 |
+
'name' => 'image_border',
|
476 |
+
'selector' => '{{WRAPPER}} .ha-card-figure img',
|
477 |
+
]
|
478 |
+
);
|
479 |
+
|
480 |
+
$this->add_responsive_control(
|
481 |
+
'image_border_radius',
|
482 |
+
[
|
483 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
484 |
+
'type' => Controls_Manager::DIMENSIONS,
|
485 |
+
'size_units' => [ 'px', '%' ],
|
486 |
+
'selectors' => [
|
487 |
+
'{{WRAPPER}} .ha-card-figure img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
488 |
+
],
|
489 |
+
]
|
490 |
+
);
|
491 |
+
|
492 |
+
$this->add_group_control(
|
493 |
+
Group_Control_Box_Shadow::get_type(),
|
494 |
+
[
|
495 |
+
'name' => 'image_box_shadow',
|
496 |
+
'exclude' => [
|
497 |
+
'box_shadow_position',
|
498 |
+
],
|
499 |
+
'selector' => '{{WRAPPER}} .ha-card-figure img',
|
500 |
+
'separator' => 'after'
|
501 |
+
]
|
502 |
+
);
|
503 |
+
|
504 |
+
$this->start_controls_tabs(
|
505 |
+
'_tabs_image_effects',
|
506 |
+
[
|
507 |
+
'separator' => 'before'
|
508 |
+
]
|
509 |
+
);
|
510 |
+
|
511 |
+
$this->start_controls_tab(
|
512 |
+
'_tab_image_effects_normal',
|
513 |
+
[
|
514 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
515 |
+
]
|
516 |
+
);
|
517 |
+
|
518 |
+
$this->add_control(
|
519 |
+
'image_opacity',
|
520 |
+
[
|
521 |
+
'label' => __( 'Opacity', 'happy-elementor-addons' ),
|
522 |
+
'type' => Controls_Manager::SLIDER,
|
523 |
+
'range' => [
|
524 |
+
'px' => [
|
525 |
+
'max' => 1,
|
526 |
+
'min' => 0.10,
|
527 |
+
'step' => 0.01,
|
528 |
+
],
|
529 |
+
],
|
530 |
+
'selectors' => [
|
531 |
+
'{{WRAPPER}} .ha-card-figure img' => 'opacity: {{SIZE}};',
|
532 |
+
],
|
533 |
+
]
|
534 |
+
);
|
535 |
+
|
536 |
+
$this->add_group_control(
|
537 |
+
Group_Control_Css_Filter::get_type(),
|
538 |
+
[
|
539 |
+
'name' => 'image_css_filters',
|
540 |
+
'selector' => '{{WRAPPER}} .ha-card-figure img',
|
541 |
+
]
|
542 |
+
);
|
543 |
+
|
544 |
+
$this->end_controls_tab();
|
545 |
+
|
546 |
+
$this->start_controls_tab( 'hover',
|
547 |
+
[
|
548 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
549 |
+
]
|
550 |
+
);
|
551 |
+
|
552 |
+
$this->add_control(
|
553 |
+
'image_opacity_hover',
|
554 |
+
[
|
555 |
+
'label' => __( 'Opacity', 'happy-elementor-addons' ),
|
556 |
+
'type' => Controls_Manager::SLIDER,
|
557 |
+
'range' => [
|
558 |
+
'px' => [
|
559 |
+
'max' => 1,
|
560 |
+
'min' => 0.10,
|
561 |
+
'step' => 0.01,
|
562 |
+
],
|
563 |
+
],
|
564 |
+
'selectors' => [
|
565 |
+
'{{WRAPPER}} .ha-card-figure:hover img' => 'opacity: {{SIZE}};',
|
566 |
+
],
|
567 |
+
]
|
568 |
+
);
|
569 |
+
|
570 |
+
$this->add_group_control(
|
571 |
+
Group_Control_Css_Filter::get_type(),
|
572 |
+
[
|
573 |
+
'name' => 'image_css_filters_hover',
|
574 |
+
'selector' => '{{WRAPPER}} .ha-card-figure:hover img',
|
575 |
+
]
|
576 |
+
);
|
577 |
+
|
578 |
+
$this->add_control(
|
579 |
+
'image_background_hover_transition',
|
580 |
+
[
|
581 |
+
'label' => __( 'Transition Duration', 'happy-elementor-addons' ),
|
582 |
+
'type' => Controls_Manager::SLIDER,
|
583 |
+
'range' => [
|
584 |
+
'px' => [
|
585 |
+
'max' => 3,
|
586 |
+
'step' => 0.1,
|
587 |
+
],
|
588 |
+
],
|
589 |
+
'selectors' => [
|
590 |
+
'{{WRAPPER}} .ha-card-figure img' => 'transition-duration: {{SIZE}}s;',
|
591 |
+
],
|
592 |
+
]
|
593 |
+
);
|
594 |
+
|
595 |
+
$this->add_control(
|
596 |
+
'hover_animation',
|
597 |
+
[
|
598 |
+
'label' => __( 'Hover Animation', 'happy-elementor-addons' ),
|
599 |
+
'type' => Controls_Manager::HOVER_ANIMATION,
|
600 |
+
'label_block' => true,
|
601 |
+
]
|
602 |
+
);
|
603 |
+
|
604 |
+
$this->end_controls_tab();
|
605 |
+
$this->end_controls_tabs();
|
606 |
+
|
607 |
+
$this->end_controls_section();
|
608 |
+
|
609 |
+
$this->start_controls_section(
|
610 |
+
'_section_style_badge',
|
611 |
+
[
|
612 |
+
'label' => __( 'Badge', 'happy-elementor-addons' ),
|
613 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
614 |
+
]
|
615 |
+
);
|
616 |
+
|
617 |
+
$this->add_control(
|
618 |
+
'badge_position',
|
619 |
+
[
|
620 |
+
'label' => __( 'Position', 'happy-elementor-addons' ),
|
621 |
+
'type' => Controls_Manager::SELECT,
|
622 |
+
'options' => [
|
623 |
+
'top-left' => __( 'Top Left', 'happy-elementor-addons' ),
|
624 |
+
'top-center' => __( 'Top Center', 'happy-elementor-addons' ),
|
625 |
+
'top-right' => __( 'Top Right', 'happy-elementor-addons' ),
|
626 |
+
'middle-left' => __( 'Middle Left', 'happy-elementor-addons' ),
|
627 |
+
'middle-center' => __( 'Middle Center', 'happy-elementor-addons' ),
|
628 |
+
'middle-right' => __( 'Middle Right', 'happy-elementor-addons' ),
|
629 |
+
'bottom-left' => __( 'Bottom Left', 'happy-elementor-addons' ),
|
630 |
+
'bottom-center' => __( 'Bottom Center', 'happy-elementor-addons' ),
|
631 |
+
'bottom-right' => __( 'Bottom Right', 'happy-elementor-addons' ),
|
632 |
+
],
|
633 |
+
'default' => 'top-right',
|
634 |
+
]
|
635 |
+
);
|
636 |
+
|
637 |
+
$this->add_control(
|
638 |
+
'badge_offset_toggle',
|
639 |
+
[
|
640 |
+
'label' => __( 'Offset', 'happy-elementor-addons' ),
|
641 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
642 |
+
'label_off' => __( 'None', 'happy-elementor-addons' ),
|
643 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
644 |
+
'return_value' => 'yes',
|
645 |
+
]
|
646 |
+
);
|
647 |
+
|
648 |
+
$this->start_popover();
|
649 |
+
|
650 |
+
$this->add_responsive_control(
|
651 |
+
'badge_offset_x',
|
652 |
+
[
|
653 |
+
'label' => __( 'Offset Left', 'happy-elementor-addons' ),
|
654 |
+
'type' => Controls_Manager::SLIDER,
|
655 |
+
'size_units' => ['px'],
|
656 |
+
'condition' => [
|
657 |
+
'badge_offset_toggle' => 'yes'
|
658 |
+
],
|
659 |
+
'range' => [
|
660 |
+
'px' => [
|
661 |
+
'min' => -1000,
|
662 |
+
'max' => 1000,
|
663 |
+
],
|
664 |
+
],
|
665 |
+
'render_type' => 'ui'
|
666 |
+
]
|
667 |
+
);
|
668 |
+
|
669 |
+
$this->add_responsive_control(
|
670 |
+
'badge_offset_y',
|
671 |
+
[
|
672 |
+
'label' => __( 'Offset Top', 'happy-elementor-addons' ),
|
673 |
+
'type' => Controls_Manager::SLIDER,
|
674 |
+
'size_units' => ['px'],
|
675 |
+
'condition' => [
|
676 |
+
'badge_offset_toggle' => 'yes'
|
677 |
+
],
|
678 |
+
'range' => [
|
679 |
+
'px' => [
|
680 |
+
'min' => -1000,
|
681 |
+
'max' => 1000,
|
682 |
+
],
|
683 |
+
],
|
684 |
+
'selectors' => [
|
685 |
+
'(desktop){{WRAPPER}} .ha-badge' => '-ms-transform: translate({{badge_offset_x.SIZE || 0}}{{UNIT}}, {{badge_offset_y.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{badge_offset_x.SIZE || 0}}{{UNIT}}, {{badge_offset_y.SIZE || 0}}{{UNIT}}); transform: translate({{badge_offset_x.SIZE || 0}}{{UNIT}}, {{badge_offset_y.SIZE || 0}}{{UNIT}});',
|
686 |
+
'(tablet){{WRAPPER}} .ha-badge' => '-ms-transform: translate({{badge_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{badge_offset_y_tablet.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{badge_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{badge_offset_y_tablet.SIZE || 0}}{{UNIT}}); transform: translate({{badge_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{badge_offset_y_tablet.SIZE || 0}}{{UNIT}});',
|
687 |
+
'(mobile){{WRAPPER}} .ha-badge' => '-ms-transform: translate({{badge_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{badge_offset_y_mobile.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{badge_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{badge_offset_y_mobile.SIZE || 0}}{{UNIT}}); transform: translate({{badge_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{badge_offset_y_mobile.SIZE || 0}}{{UNIT}});',
|
688 |
+
],
|
689 |
+
]
|
690 |
+
);
|
691 |
+
$this->end_popover();
|
692 |
+
|
693 |
+
$this->add_responsive_control(
|
694 |
+
'badge_padding',
|
695 |
+
[
|
696 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
697 |
+
'type' => Controls_Manager::DIMENSIONS,
|
698 |
+
'size_units' => [ 'px', 'em', '%' ],
|
699 |
+
'selectors' => [
|
700 |
+
'{{WRAPPER}} .ha-badge' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
701 |
+
],
|
702 |
+
]
|
703 |
+
);
|
704 |
+
|
705 |
+
$this->add_control(
|
706 |
+
'badge_color',
|
707 |
+
[
|
708 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
709 |
+
'type' => Controls_Manager::COLOR,
|
710 |
+
'selectors' => [
|
711 |
+
'{{WRAPPER}} .ha-badge' => 'color: {{VALUE}};',
|
712 |
+
],
|
713 |
+
]
|
714 |
+
);
|
715 |
+
|
716 |
+
$this->add_control(
|
717 |
+
'badge_bg_color',
|
718 |
+
[
|
719 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
720 |
+
'type' => Controls_Manager::COLOR,
|
721 |
+
'selectors' => [
|
722 |
+
'{{WRAPPER}} .ha-badge' => 'background-color: {{VALUE}};',
|
723 |
+
],
|
724 |
+
]
|
725 |
+
);
|
726 |
+
|
727 |
+
$this->add_group_control(
|
728 |
+
Group_Control_Border::get_type(),
|
729 |
+
[
|
730 |
+
'name' => 'badge_border',
|
731 |
+
'selector' => '{{WRAPPER}} .ha-badge',
|
732 |
+
]
|
733 |
+
);
|
734 |
+
|
735 |
+
$this->add_responsive_control(
|
736 |
+
'badge_border_radius',
|
737 |
+
[
|
738 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
739 |
+
'type' => Controls_Manager::DIMENSIONS,
|
740 |
+
'size_units' => [ 'px', '%' ],
|
741 |
+
'selectors' => [
|
742 |
+
'{{WRAPPER}} .ha-badge' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
743 |
+
],
|
744 |
+
]
|
745 |
+
);
|
746 |
+
|
747 |
+
$this->add_group_control(
|
748 |
+
Group_Control_Box_Shadow::get_type(),
|
749 |
+
[
|
750 |
+
'name' => 'badge_box_shadow',
|
751 |
+
'exclude' => [
|
752 |
+
'box_shadow_position',
|
753 |
+
],
|
754 |
+
'selector' => '{{WRAPPER}} .ha-badge',
|
755 |
+
]
|
756 |
+
);
|
757 |
+
|
758 |
+
$this->add_group_control(
|
759 |
+
Group_Control_Typography::get_type(),
|
760 |
+
[
|
761 |
+
'name' => 'badge_typography',
|
762 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
763 |
+
'exclude' => [
|
764 |
+
'line_height'
|
765 |
+
],
|
766 |
+
'default' => [
|
767 |
+
'font_size' => ['']
|
768 |
+
],
|
769 |
+
'selector' => '{{WRAPPER}} .ha-badge',
|
770 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
771 |
+
]
|
772 |
+
);
|
773 |
+
|
774 |
+
$this->end_controls_section();
|
775 |
+
|
776 |
+
$this->start_controls_section(
|
777 |
+
'_section_style_content',
|
778 |
+
[
|
779 |
+
'label' => __( 'Title & Description', 'happy-elementor-addons' ),
|
780 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
781 |
+
]
|
782 |
+
);
|
783 |
+
|
784 |
+
$this->add_responsive_control(
|
785 |
+
'content_padding',
|
786 |
+
[
|
787 |
+
'label' => __( 'Content Padding', 'happy-elementor-addons' ),
|
788 |
+
'type' => Controls_Manager::DIMENSIONS,
|
789 |
+
'size_units' => [ 'px', 'em', '%' ],
|
790 |
+
'selectors' => [
|
791 |
+
'{{WRAPPER}} .ha-card-body' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
792 |
+
],
|
793 |
+
]
|
794 |
+
);
|
795 |
+
|
796 |
+
$this->add_control(
|
797 |
+
'_heading_title',
|
798 |
+
[
|
799 |
+
'type' => Controls_Manager::HEADING,
|
800 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
801 |
+
'separator' => 'before'
|
802 |
+
]
|
803 |
+
);
|
804 |
+
|
805 |
+
$this->add_responsive_control(
|
806 |
+
'title_spacing',
|
807 |
+
[
|
808 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
809 |
+
'type' => Controls_Manager::SLIDER,
|
810 |
+
'size_units' => ['px'],
|
811 |
+
'selectors' => [
|
812 |
+
'{{WRAPPER}} .ha-card-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
813 |
+
],
|
814 |
+
]
|
815 |
+
);
|
816 |
+
|
817 |
+
$this->add_control(
|
818 |
+
'title_color',
|
819 |
+
[
|
820 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
821 |
+
'type' => Controls_Manager::COLOR,
|
822 |
+
'selectors' => [
|
823 |
+
'{{WRAPPER}} .ha-card-title' => 'color: {{VALUE}}',
|
824 |
+
],
|
825 |
+
]
|
826 |
+
);
|
827 |
+
|
828 |
+
$this->add_group_control(
|
829 |
+
Group_Control_Typography::get_type(),
|
830 |
+
[
|
831 |
+
'name' => 'title_typography',
|
832 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
833 |
+
'selector' => '{{WRAPPER}} .ha-card-title',
|
834 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_2,
|
835 |
+
]
|
836 |
+
);
|
837 |
+
|
838 |
+
$this->add_control(
|
839 |
+
'_heading_description',
|
840 |
+
[
|
841 |
+
'type' => Controls_Manager::HEADING,
|
842 |
+
'label' => __( 'Description', 'happy-elementor-addons' ),
|
843 |
+
'separator' => 'before'
|
844 |
+
]
|
845 |
+
);
|
846 |
+
|
847 |
+
$this->add_responsive_control(
|
848 |
+
'description_spacing',
|
849 |
+
[
|
850 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
851 |
+
'type' => Controls_Manager::SLIDER,
|
852 |
+
'size_units' => ['px'],
|
853 |
+
'selectors' => [
|
854 |
+
'{{WRAPPER}} .ha-card-text' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
855 |
+
],
|
856 |
+
]
|
857 |
+
);
|
858 |
+
|
859 |
+
$this->add_control(
|
860 |
+
'description_color',
|
861 |
+
[
|
862 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
863 |
+
'type' => Controls_Manager::COLOR,
|
864 |
+
'selectors' => [
|
865 |
+
'{{WRAPPER}} .ha-card-text' => 'color: {{VALUE}};',
|
866 |
+
],
|
867 |
+
]
|
868 |
+
);
|
869 |
+
|
870 |
+
$this->add_group_control(
|
871 |
+
Group_Control_Typography::get_type(),
|
872 |
+
[
|
873 |
+
'name' => 'description_typography',
|
874 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
875 |
+
'selector' => '{{WRAPPER}} .ha-card-text',
|
876 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
877 |
+
]
|
878 |
+
);
|
879 |
+
|
880 |
+
$this->end_controls_section();
|
881 |
+
|
882 |
+
$this->start_controls_section(
|
883 |
+
'_section_style_button',
|
884 |
+
[
|
885 |
+
'label' => __( 'Button', 'happy-elementor-addons' ),
|
886 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
887 |
+
]
|
888 |
+
);
|
889 |
+
|
890 |
+
$this->add_responsive_control(
|
891 |
+
'button_padding',
|
892 |
+
[
|
893 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
894 |
+
'type' => Controls_Manager::DIMENSIONS,
|
895 |
+
'size_units' => [ 'px', 'em', '%' ],
|
896 |
+
'selectors' => [
|
897 |
+
'{{WRAPPER}} .ha-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
898 |
+
],
|
899 |
+
]
|
900 |
+
);
|
901 |
+
|
902 |
+
$this->add_group_control(
|
903 |
+
Group_Control_Typography::get_type(),
|
904 |
+
[
|
905 |
+
'name' => 'button_typography',
|
906 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
907 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
908 |
+
]
|
909 |
+
);
|
910 |
+
|
911 |
+
$this->add_group_control(
|
912 |
+
Group_Control_Border::get_type(),
|
913 |
+
[
|
914 |
+
'name' => 'button_border',
|
915 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
916 |
+
]
|
917 |
+
);
|
918 |
+
|
919 |
+
$this->add_control(
|
920 |
+
'button_border_radius',
|
921 |
+
[
|
922 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
923 |
+
'type' => Controls_Manager::DIMENSIONS,
|
924 |
+
'size_units' => [ 'px', '%' ],
|
925 |
+
'selectors' => [
|
926 |
+
'{{WRAPPER}} .ha-btn' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
927 |
+
],
|
928 |
+
]
|
929 |
+
);
|
930 |
+
|
931 |
+
$this->add_group_control(
|
932 |
+
Group_Control_Box_Shadow::get_type(),
|
933 |
+
[
|
934 |
+
'name' => 'button_box_shadow',
|
935 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
936 |
+
]
|
937 |
+
);
|
938 |
+
|
939 |
+
$this->add_control(
|
940 |
+
'hr',
|
941 |
+
[
|
942 |
+
'type' => Controls_Manager::DIVIDER,
|
943 |
+
'style' => 'thick',
|
944 |
+
]
|
945 |
+
);
|
946 |
+
|
947 |
+
$this->start_controls_tabs( '_tabs_button' );
|
948 |
+
|
949 |
+
$this->start_controls_tab(
|
950 |
+
'_tab_button_normal',
|
951 |
+
[
|
952 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
953 |
+
]
|
954 |
+
);
|
955 |
+
|
956 |
+
$this->add_control(
|
957 |
+
'button_color',
|
958 |
+
[
|
959 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
960 |
+
'type' => Controls_Manager::COLOR,
|
961 |
+
'default' => '',
|
962 |
+
'selectors' => [
|
963 |
+
'{{WRAPPER}} .ha-btn' => 'color: {{VALUE}};',
|
964 |
+
],
|
965 |
+
]
|
966 |
+
);
|
967 |
+
|
968 |
+
$this->add_control(
|
969 |
+
'button_bg_color',
|
970 |
+
[
|
971 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
972 |
+
'type' => Controls_Manager::COLOR,
|
973 |
+
'selectors' => [
|
974 |
+
'{{WRAPPER}} .ha-btn' => 'background-color: {{VALUE}};',
|
975 |
+
],
|
976 |
+
]
|
977 |
+
);
|
978 |
+
|
979 |
+
$this->end_controls_tab();
|
980 |
+
|
981 |
+
$this->start_controls_tab(
|
982 |
+
'_tab_button_hover',
|
983 |
+
[
|
984 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
985 |
+
]
|
986 |
+
);
|
987 |
+
|
988 |
+
$this->add_control(
|
989 |
+
'button_hover_color',
|
990 |
+
[
|
991 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
992 |
+
'type' => Controls_Manager::COLOR,
|
993 |
+
'selectors' => [
|
994 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'color: {{VALUE}};',
|
995 |
+
],
|
996 |
+
]
|
997 |
+
);
|
998 |
+
|
999 |
+
$this->add_control(
|
1000 |
+
'button_hover_bg_color',
|
1001 |
+
[
|
1002 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
1003 |
+
'type' => Controls_Manager::COLOR,
|
1004 |
+
'selectors' => [
|
1005 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'background-color: {{VALUE}};',
|
1006 |
+
],
|
1007 |
+
]
|
1008 |
+
);
|
1009 |
+
|
1010 |
+
$this->add_control(
|
1011 |
+
'button_hover_border_color',
|
1012 |
+
[
|
1013 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
1014 |
+
'type' => Controls_Manager::COLOR,
|
1015 |
+
'condition' => [
|
1016 |
+
'button_border_border!' => '',
|
1017 |
+
],
|
1018 |
+
'selectors' => [
|
1019 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'border-color: {{VALUE}};',
|
1020 |
+
],
|
1021 |
+
]
|
1022 |
+
);
|
1023 |
+
|
1024 |
+
$this->end_controls_tab();
|
1025 |
+
$this->end_controls_tabs();
|
1026 |
+
|
1027 |
+
$this->end_controls_section();
|
1028 |
+
}
|
1029 |
|
1030 |
protected function render() {
|
1031 |
+
$settings = $this->get_settings_for_display();
|
1032 |
+
|
1033 |
+
$this->add_inline_editing_attributes( 'badge_text', 'none' );
|
1034 |
+
$this->add_render_attribute(
|
1035 |
+
'badge_text',
|
1036 |
+
'class',
|
1037 |
+
['ha-badge', sprintf( 'ha-badge--%s', esc_attr( $settings['badge_position'] ) )]
|
1038 |
+
);
|
1039 |
+
|
1040 |
+
$this->add_inline_editing_attributes( 'title', 'basic' );
|
1041 |
+
$this->add_render_attribute( 'title', 'class', 'ha-card-title' );
|
1042 |
+
|
1043 |
+
$this->add_inline_editing_attributes( 'description', 'intermediate' );
|
1044 |
+
$this->add_render_attribute( 'description', 'class', 'ha-card-text' );
|
1045 |
+
?>
|
1046 |
+
|
1047 |
+
<?php if ( $settings['image']['url'] || $settings['image']['id'] ) : ?>
|
1048 |
+
<figure class="ha-card-figure">
|
1049 |
+
<?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'thumbnail', 'image' ); ?>
|
1050 |
+
<?php if ( $settings['badge_text'] ) : ?>
|
1051 |
+
<div <?php echo $this->get_render_attribute_string( 'badge_text' ); ?>><?php echo esc_html( $settings['badge_text'] ); ?></div>
|
1052 |
+
<?php endif; ?>
|
1053 |
+
</figure>
|
1054 |
+
<?php endif; ?>
|
1055 |
+
|
1056 |
+
<div class="ha-card-body">
|
1057 |
+
|
1058 |
+
<?php
|
1059 |
+
if ( $settings['title' ] ) :
|
1060 |
+
printf( '<%1$s %2$s>%3$s</%1$s>',
|
1061 |
+
tag_escape( $settings['title_tag'] ),
|
1062 |
+
$this->get_render_attribute_string( 'title' ),
|
1063 |
+
ha_kses_basic( $settings['title' ] )
|
1064 |
+
);
|
1065 |
+
endif;
|
1066 |
+
?>
|
1067 |
+
|
1068 |
+
<?php if ( $settings['description'] ) : ?>
|
1069 |
+
<div <?php echo $this->get_render_attribute_string( 'description' ); ?>>
|
1070 |
+
<p><?php echo ha_kses_intermediate( $settings['description'] ); ?></p>
|
1071 |
+
</div>
|
1072 |
+
<?php endif; ?>
|
1073 |
+
|
1074 |
+
<?php $this->render_icon_button( [ 'class' => 'ha-btn' ] ); ?>
|
1075 |
+
</div>
|
1076 |
+
<?php
|
1077 |
+
}
|
1078 |
+
|
1079 |
+
public function _content_template() {
|
1080 |
+
?>
|
1081 |
+
<#
|
1082 |
+
view.addInlineEditingAttributes( 'badge_text', 'none' );
|
1083 |
+
view.addRenderAttribute(
|
1084 |
+
'badge_text',
|
1085 |
+
'class',
|
1086 |
+
['ha-badge', 'ha-badge--' + settings.badge_position]
|
1087 |
+
);
|
1088 |
+
|
1089 |
+
view.addInlineEditingAttributes( 'title', 'basic' );
|
1090 |
+
view.addRenderAttribute( 'title', 'class', 'ha-card-title' );
|
1091 |
+
|
1092 |
+
view.addInlineEditingAttributes( 'description', 'intermediate' );
|
1093 |
+
view.addRenderAttribute( 'description', 'class', 'ha-card-text' );
|
1094 |
+
|
1095 |
+
if ( settings.image.url || settings.image.id ) {
|
1096 |
+
var image = {
|
1097 |
+
id: settings.image.id,
|
1098 |
+
url: settings.image.url,
|
1099 |
+
size: settings.thumbnail_size,
|
1100 |
+
dimension: settings.thumbnail_custom_dimension,
|
1101 |
+
model: view.getEditModel()
|
1102 |
+
};
|
1103 |
+
|
1104 |
+
var image_url = elementor.imagesManager.getImageUrl( image ); #>
|
1105 |
+
<figure class="ha-card-figure">
|
1106 |
+
<img class="elementor-animation-{{settings.hover_animation}}" src="{{ image_url }}">
|
1107 |
+
<# if (settings.badge_text) { #>
|
1108 |
+
<div {{{ view.getRenderAttributeString( 'badge_text' ) }}}>{{ settings.badge_text }}</div>
|
1109 |
+
<# } #>
|
1110 |
+
</figure>
|
1111 |
+
<# } #>
|
1112 |
+
|
1113 |
+
<div class="ha-card-body">
|
1114 |
+
<# if (settings.title) { #>
|
1115 |
+
<{{ settings.title_tag }} {{{ view.getRenderAttributeString( 'title' ) }}}>{{{ settings.title }}}</{{ settings.title_tag }}>
|
1116 |
+
<# } #>
|
1117 |
+
|
1118 |
+
<# if (settings.description) { #>
|
1119 |
+
<div {{{ view.getRenderAttributeString( 'description' ) }}}>
|
1120 |
+
<p>{{{ settings.description }}}</p>
|
1121 |
+
</div>
|
1122 |
+
<# } #>
|
1123 |
+
|
1124 |
+
<# print( ha.getButtonWithIcon( view, { class: 'ha-btn' } ) ) #>
|
1125 |
+
</div>
|
1126 |
+
<?php
|
1127 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1128 |
}
|
widgets/carousel/widget.php
CHANGED
@@ -8,10 +8,8 @@ namespace Happy_Addons\Elementor\Widget;
|
|
8 |
|
9 |
use Elementor\Group_Control_Background;
|
10 |
use Elementor\Repeater;
|
11 |
-
use Elementor\Control_Media;
|
12 |
use Elementor\Controls_Manager;
|
13 |
use Elementor\Group_Control_Border;
|
14 |
-
use Elementor\Group_Control_Box_Shadow;
|
15 |
use Elementor\Group_Control_Image_Size;
|
16 |
use Elementor\Group_Control_Typography;
|
17 |
use Elementor\Scheme_Typography;
|
@@ -21,774 +19,798 @@ defined( 'ABSPATH' ) || die();
|
|
21 |
|
22 |
class Carousel extends Base {
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
|
56 |
protected function register_content_controls() {
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
751 |
|
752 |
protected function render() {
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
794 |
}
|
8 |
|
9 |
use Elementor\Group_Control_Background;
|
10 |
use Elementor\Repeater;
|
|
|
11 |
use Elementor\Controls_Manager;
|
12 |
use Elementor\Group_Control_Border;
|
|
|
13 |
use Elementor\Group_Control_Image_Size;
|
14 |
use Elementor\Group_Control_Typography;
|
15 |
use Elementor\Scheme_Typography;
|
19 |
|
20 |
class Carousel extends Base {
|
21 |
|
22 |
+
/**
|
23 |
+
* Get widget title.
|
24 |
+
*
|
25 |
+
* @since 1.0.0
|
26 |
+
* @access public
|
27 |
+
*
|
28 |
+
* @return string Widget title.
|
29 |
+
*/
|
30 |
+
public function get_title() {
|
31 |
+
return __( 'Carousel', 'happy-elementor-addons' );
|
32 |
+
}
|
33 |
+
|
34 |
+
public function get_custom_help_url() {
|
35 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/carousel/';
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Get widget icon.
|
40 |
+
*
|
41 |
+
* @since 1.0.0
|
42 |
+
* @access public
|
43 |
+
*
|
44 |
+
* @return string Widget icon.
|
45 |
+
*/
|
46 |
+
public function get_icon() {
|
47 |
+
return 'hm hm-carousal';
|
48 |
+
}
|
49 |
+
|
50 |
+
public function get_keywords() {
|
51 |
+
return [ 'slider', 'image', 'gallery', 'carousel' ];
|
52 |
+
}
|
53 |
|
54 |
protected function register_content_controls() {
|
55 |
+
$this->start_controls_section(
|
56 |
+
'_section_slides',
|
57 |
+
[
|
58 |
+
'label' => __( 'Slides', 'happy-elementor-addons' ),
|
59 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
60 |
+
]
|
61 |
+
);
|
62 |
+
|
63 |
+
$repeater = new Repeater();
|
64 |
+
|
65 |
+
$repeater->add_control(
|
66 |
+
'image',
|
67 |
+
[
|
68 |
+
'type' => Controls_Manager::MEDIA,
|
69 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
70 |
+
'default' => [
|
71 |
+
'url' => Utils::get_placeholder_image_src(),
|
72 |
+
],
|
73 |
+
'dynamic' => [
|
74 |
+
'active' => true,
|
75 |
+
]
|
76 |
+
]
|
77 |
+
);
|
78 |
+
|
79 |
+
$repeater->add_control(
|
80 |
+
'title',
|
81 |
+
[
|
82 |
+
'type' => Controls_Manager::TEXT,
|
83 |
+
'label_block' => true,
|
84 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
85 |
+
'placeholder' => __( 'Type title here', 'happy-elementor-addons' ),
|
86 |
+
'dynamic' => [
|
87 |
+
'active' => true,
|
88 |
+
]
|
89 |
+
]
|
90 |
+
);
|
91 |
+
|
92 |
+
$repeater->add_control(
|
93 |
+
'subtitle',
|
94 |
+
[
|
95 |
+
'label' => __( 'Subtitle', 'happy-elementor-addons' ),
|
96 |
+
'type' => Controls_Manager::TEXTAREA,
|
97 |
+
'label_block' => true,
|
98 |
+
'placeholder' => __( 'Type subtitle here', 'happy-elementor-addons' ),
|
99 |
+
'dynamic' => [
|
100 |
+
'active' => true,
|
101 |
+
]
|
102 |
+
]
|
103 |
+
);
|
104 |
+
|
105 |
+
$repeater->add_control(
|
106 |
+
'link',
|
107 |
+
[
|
108 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
109 |
+
'type' => Controls_Manager::URL,
|
110 |
+
'label_block' => true,
|
111 |
+
'placeholder' => 'https://example.com',
|
112 |
+
'dynamic' => [
|
113 |
+
'active' => true,
|
114 |
+
]
|
115 |
+
]
|
116 |
+
);
|
117 |
+
|
118 |
+
$this->add_control(
|
119 |
+
'slides',
|
120 |
+
[
|
121 |
+
'show_label' => false,
|
122 |
+
'type' => Controls_Manager::REPEATER,
|
123 |
+
'fields' => $repeater->get_controls(),
|
124 |
+
'title_field' => '<# print(title || "Carousel Item"); #>',
|
125 |
+
'default' => [
|
126 |
+
[
|
127 |
+
'image' => [
|
128 |
+
'url' => Utils::get_placeholder_image_src(),
|
129 |
+
],
|
130 |
+
],
|
131 |
+
[
|
132 |
+
'image' => [
|
133 |
+
'url' => Utils::get_placeholder_image_src(),
|
134 |
+
],
|
135 |
+
],
|
136 |
+
[
|
137 |
+
'image' => [
|
138 |
+
'url' => Utils::get_placeholder_image_src(),
|
139 |
+
],
|
140 |
+
],
|
141 |
+
[
|
142 |
+
'image' => [
|
143 |
+
'url' => Utils::get_placeholder_image_src(),
|
144 |
+
],
|
145 |
+
],
|
146 |
+
[
|
147 |
+
'image' => [
|
148 |
+
'url' => Utils::get_placeholder_image_src(),
|
149 |
+
],
|
150 |
+
],
|
151 |
+
[
|
152 |
+
'image' => [
|
153 |
+
'url' => Utils::get_placeholder_image_src(),
|
154 |
+
],
|
155 |
+
],
|
156 |
+
[
|
157 |
+
'image' => [
|
158 |
+
'url' => Utils::get_placeholder_image_src(),
|
159 |
+
],
|
160 |
+
]
|
161 |
+
]
|
162 |
+
]
|
163 |
+
);
|
164 |
+
|
165 |
+
$this->add_group_control(
|
166 |
+
Group_Control_Image_Size::get_type(),
|
167 |
+
[
|
168 |
+
'name' => 'thumbnail',
|
169 |
+
'default' => 'medium_large',
|
170 |
+
'separator' => 'before',
|
171 |
+
'exclude' => [
|
172 |
+
'custom'
|
173 |
+
]
|
174 |
+
]
|
175 |
+
);
|
176 |
+
|
177 |
+
$this->end_controls_section();
|
178 |
+
|
179 |
+
$this->start_controls_section(
|
180 |
+
'_section_settings',
|
181 |
+
[
|
182 |
+
'label' => __( 'Settings', 'happy-elementor-addons' ),
|
183 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
184 |
+
]
|
185 |
+
);
|
186 |
+
|
187 |
+
$this->add_control(
|
188 |
+
'animation_speed',
|
189 |
+
[
|
190 |
+
'label' => __( 'Animation Speed', 'happy-elementor-addons' ),
|
191 |
+
'type' => Controls_Manager::NUMBER,
|
192 |
+
'min' => 100,
|
193 |
+
'step' => 10,
|
194 |
+
'max' => 10000,
|
195 |
+
'default' => 300,
|
196 |
+
'description' => __( 'Slide speed in milliseconds', 'happy-elementor-addons' ),
|
197 |
+
'frontend_available' => true,
|
198 |
+
]
|
199 |
+
);
|
200 |
+
|
201 |
+
$this->add_control(
|
202 |
+
'autoplay',
|
203 |
+
[
|
204 |
+
'label' => __( 'Autoplay?', 'happy-elementor-addons' ),
|
205 |
+
'type' => Controls_Manager::SWITCHER,
|
206 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
207 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
208 |
+
'return_value' => 'yes',
|
209 |
+
'default' => 'yes',
|
210 |
+
'frontend_available' => true,
|
211 |
+
]
|
212 |
+
);
|
213 |
+
|
214 |
+
$this->add_control(
|
215 |
+
'autoplay_speed',
|
216 |
+
[
|
217 |
+
'label' => __( 'Autoplay Speed', 'happy-elementor-addons' ),
|
218 |
+
'type' => Controls_Manager::NUMBER,
|
219 |
+
'min' => 100,
|
220 |
+
'step' => 100,
|
221 |
+
'max' => 10000,
|
222 |
+
'default' => 3000,
|
223 |
+
'description' => __( 'Autoplay speed in milliseconds', 'happy-elementor-addons' ),
|
224 |
+
'condition' => [
|
225 |
+
'autoplay' => 'yes'
|
226 |
+
],
|
227 |
+
'frontend_available' => true,
|
228 |
+
]
|
229 |
+
);
|
230 |
+
|
231 |
+
$this->add_control(
|
232 |
+
'loop',
|
233 |
+
[
|
234 |
+
'label' => __( 'Infinite Loop?', 'happy-elementor-addons' ),
|
235 |
+
'type' => Controls_Manager::SWITCHER,
|
236 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
237 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
238 |
+
'return_value' => 'yes',
|
239 |
+
'default' => 'yes',
|
240 |
+
'frontend_available' => true,
|
241 |
+
]
|
242 |
+
);
|
243 |
+
|
244 |
+
$this->add_control(
|
245 |
+
'center',
|
246 |
+
[
|
247 |
+
'label' => __( 'Center Mode?', 'happy-elementor-addons' ),
|
248 |
+
'type' => Controls_Manager::SWITCHER,
|
249 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
250 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
251 |
+
'return_value' => 'yes',
|
252 |
+
'description' => __( 'Best works with odd number of slides (Slides To Show) and loop (Infinite Loop)', 'happy-elementor-addons' ),
|
253 |
+
'frontend_available' => true,
|
254 |
+
'style_transfer' => true,
|
255 |
+
]
|
256 |
+
);
|
257 |
+
|
258 |
+
$this->add_control(
|
259 |
+
'vertical',
|
260 |
+
[
|
261 |
+
'label' => __( 'Vertical Mode?', 'happy-elementor-addons' ),
|
262 |
+
'type' => Controls_Manager::SWITCHER,
|
263 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
264 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
265 |
+
'return_value' => 'yes',
|
266 |
+
'frontend_available' => true,
|
267 |
+
'style_transfer' => true,
|
268 |
+
]
|
269 |
+
);
|
270 |
+
|
271 |
+
$this->add_control(
|
272 |
+
'navigation',
|
273 |
+
[
|
274 |
+
'label' => __( 'Navigation', 'happy-elementor-addons' ),
|
275 |
+
'type' => Controls_Manager::SELECT,
|
276 |
+
'options' => [
|
277 |
+
'none' => __( 'None', 'happy-elementor-addons' ),
|
278 |
+
'arrow' => __( 'Arrow', 'happy-elementor-addons' ),
|
279 |
+
'dots' => __( 'Dots', 'happy-elementor-addons' ),
|
280 |
+
'both' => __( 'Arrow & Dots', 'happy-elementor-addons' ),
|
281 |
+
],
|
282 |
+
'default' => 'arrow',
|
283 |
+
'frontend_available' => true,
|
284 |
+
'style_transfer' => true,
|
285 |
+
]
|
286 |
+
);
|
287 |
+
|
288 |
+
$this->add_responsive_control(
|
289 |
+
'slides_to_show',
|
290 |
+
[
|
291 |
+
'label' => __( 'Slides To Show', 'happy-elementor-addons' ),
|
292 |
+
'type' => Controls_Manager::SELECT,
|
293 |
+
'options' => [
|
294 |
+
1 => __( '1 Slide', 'happy-elementor-addons' ),
|
295 |
+
2 => __( '2 Slides', 'happy-elementor-addons' ),
|
296 |
+
3 => __( '3 Slides', 'happy-elementor-addons' ),
|
297 |
+
4 => __( '4 Slides', 'happy-elementor-addons' ),
|
298 |
+
5 => __( '5 Slides', 'happy-elementor-addons' ),
|
299 |
+
6 => __( '6 Slides', 'happy-elementor-addons' ),
|
300 |
+
],
|
301 |
+
'desktop_default' => 4,
|
302 |
+
'tablet_default' => 3,
|
303 |
+
'mobile_default' => 2,
|
304 |
+
'frontend_available' => true,
|
305 |
+
'style_transfer' => true,
|
306 |
+
]
|
307 |
+
);
|
308 |
+
|
309 |
+
$this->end_controls_section();
|
310 |
+
}
|
311 |
+
|
312 |
+
protected function register_style_controls() {
|
313 |
+
$this->start_controls_section(
|
314 |
+
'_section_style_item',
|
315 |
+
[
|
316 |
+
'label' => __( 'Carousel Item', 'happy-elementor-addons' ),
|
317 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
318 |
+
]
|
319 |
+
);
|
320 |
+
|
321 |
+
$this->add_responsive_control(
|
322 |
+
'item_spacing',
|
323 |
+
[
|
324 |
+
'label' => __( 'Slide Spacing (px)', 'happy-elementor-addons' ),
|
325 |
+
'type' => Controls_Manager::SLIDER,
|
326 |
+
'size_units' => ['px'],
|
327 |
+
'selectors' => [
|
328 |
+
'{{WRAPPER}} .slick-slider:not(.slick-vertical) .slick-slide' => 'padding-right: {{SIZE}}{{UNIT}}; padding-left: {{SIZE}}{{UNIT}};',
|
329 |
+
'{{WRAPPER}} .slick-slider.slick-vertical .slick-slide' => 'padding-top: {{SIZE}}{{UNIT}}; padding-bottom: {{SIZE}}{{UNIT}};',
|
330 |
+
],
|
331 |
+
]
|
332 |
+
);
|
333 |
+
|
334 |
+
$this->add_responsive_control(
|
335 |
+
'item_border_radius',
|
336 |
+
[
|
337 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
338 |
+
'type' => Controls_Manager::DIMENSIONS,
|
339 |
+
'size_units' => [ 'px', '%' ],
|
340 |
+
'selectors' => [
|
341 |
+
'{{WRAPPER}} .ha-slick-item' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}; overflow: hidden;',
|
342 |
+
],
|
343 |
+
]
|
344 |
+
);
|
345 |
+
|
346 |
+
$this->end_controls_section();
|
347 |
+
|
348 |
+
$this->start_controls_section(
|
349 |
+
'_section_style_content',
|
350 |
+
[
|
351 |
+
'label' => __( 'Slide Content', 'happy-elementor-addons' ),
|
352 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
353 |
+
]
|
354 |
+
);
|
355 |
+
|
356 |
+
$this->add_responsive_control(
|
357 |
+
'content_padding',
|
358 |
+
[
|
359 |
+
'label' => __( 'Content Padding', 'happy-elementor-addons' ),
|
360 |
+
'type' => Controls_Manager::DIMENSIONS,
|
361 |
+
'size_units' => [ 'px', 'em', '%' ],
|
362 |
+
'selectors' => [
|
363 |
+
'{{WRAPPER}} .ha-slick-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
364 |
+
],
|
365 |
+
]
|
366 |
+
);
|
367 |
+
|
368 |
+
$this->add_group_control(
|
369 |
+
Group_Control_Background::get_type(),
|
370 |
+
[
|
371 |
+
'name' => 'content_background',
|
372 |
+
'selector' => '{{WRAPPER}} .ha-slick-content',
|
373 |
+
'exclude' => [
|
374 |
+
'image'
|
375 |
+
]
|
376 |
+
]
|
377 |
+
);
|
378 |
+
|
379 |
+
$this->add_control(
|
380 |
+
'_heading_title',
|
381 |
+
[
|
382 |
+
'type' => Controls_Manager::HEADING,
|
383 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
384 |
+
'separator' => 'before'
|
385 |
+
]
|
386 |
+
);
|
387 |
+
|
388 |
+
$this->add_responsive_control(
|
389 |
+
'title_spacing',
|
390 |
+
[
|
391 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
392 |
+
'type' => Controls_Manager::SLIDER,
|
393 |
+
'size_units' => ['px'],
|
394 |
+
'selectors' => [
|
395 |
+
'{{WRAPPER}} .ha-slick-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
396 |
+
],
|
397 |
+
]
|
398 |
+
);
|
399 |
+
|
400 |
+
$this->add_control(
|
401 |
+
'title_color',
|
402 |
+
[
|
403 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
404 |
+
'type' => Controls_Manager::COLOR,
|
405 |
+
'selectors' => [
|
406 |
+
'{{WRAPPER}} .ha-slick-title' => 'color: {{VALUE}}',
|
407 |
+
],
|
408 |
+
]
|
409 |
+
);
|
410 |
+
|
411 |
+
$this->add_group_control(
|
412 |
+
Group_Control_Typography::get_type(),
|
413 |
+
[
|
414 |
+
'name' => 'title',
|
415 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
416 |
+
'selector' => '{{WRAPPER}} .ha-slick-title',
|
417 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_2,
|
418 |
+
]
|
419 |
+
);
|
420 |
+
|
421 |
+
$this->add_control(
|
422 |
+
'_heading_subtitle',
|
423 |
+
[
|
424 |
+
'type' => Controls_Manager::HEADING,
|
425 |
+
'label' => __( 'Subtitle', 'happy-elementor-addons' ),
|
426 |
+
'separator' => 'before'
|
427 |
+
]
|
428 |
+
);
|
429 |
+
|
430 |
+
$this->add_responsive_control(
|
431 |
+
'subtitle_spacing',
|
432 |
+
[
|
433 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
434 |
+
'type' => Controls_Manager::SLIDER,
|
435 |
+
'size_units' => ['px'],
|
436 |
+
'selectors' => [
|
437 |
+
'{{WRAPPER}} .ha-slick-subtitle' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
438 |
+
],
|
439 |
+
]
|
440 |
+
);
|
441 |
+
|
442 |
+
$this->add_control(
|
443 |
+
'subtitle_color',
|
444 |
+
[
|
445 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
446 |
+
'type' => Controls_Manager::COLOR,
|
447 |
+
'selectors' => [
|
448 |
+
'{{WRAPPER}} .ha-slick-subtitle' => 'color: {{VALUE}}',
|
449 |
+
],
|
450 |
+
]
|
451 |
+
);
|
452 |
+
|
453 |
+
$this->add_group_control(
|
454 |
+
Group_Control_Typography::get_type(),
|
455 |
+
[
|
456 |
+
'name' => 'subtitle',
|
457 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
458 |
+
'selector' => '{{WRAPPER}} .ha-slick-subtitle',
|
459 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
460 |
+
]
|
461 |
+
);
|
462 |
+
|
463 |
+
$this->end_controls_section();
|
464 |
+
|
465 |
+
$this->start_controls_section(
|
466 |
+
'_section_style_arrow',
|
467 |
+
[
|
468 |
+
'label' => __( 'Navigation - Arrow', 'happy-elementor-addons' ),
|
469 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
470 |
+
]
|
471 |
+
);
|
472 |
+
|
473 |
+
$this->add_control(
|
474 |
+
'arrow_position_toggle',
|
475 |
+
[
|
476 |
+
'label' => __( 'Position', 'happy-elementor-addons' ),
|
477 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
478 |
+
'label_off' => __( 'None', 'happy-elementor-addons' ),
|
479 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
480 |
+
'return_value' => 'yes',
|
481 |
+
]
|
482 |
+
);
|
483 |
+
|
484 |
+
$this->start_popover();
|
485 |
+
|
486 |
+
$this->add_responsive_control(
|
487 |
+
'arrow_position_y',
|
488 |
+
[
|
489 |
+
'label' => __( 'Vertical', 'happy-elementor-addons' ),
|
490 |
+
'type' => Controls_Manager::SLIDER,
|
491 |
+
'size_units' => ['px'],
|
492 |
+
'condition' => [
|
493 |
+
'arrow_position_toggle' => 'yes'
|
494 |
+
],
|
495 |
+
'range' => [
|
496 |
+
'px' => [
|
497 |
+
'min' => 0,
|
498 |
+
'max' => 500,
|
499 |
+
],
|
500 |
+
],
|
501 |
+
'selectors' => [
|
502 |
+
'{{WRAPPER}} .slick-prev, {{WRAPPER}} .slick-next' => 'top: {{SIZE}}{{UNIT}};',
|
503 |
+
],
|
504 |
+
]
|
505 |
+
);
|
506 |
+
|
507 |
+
$this->add_responsive_control(
|
508 |
+
'arrow_position_x',
|
509 |
+
[
|
510 |
+
'label' => __( 'Horizontal', 'happy-elementor-addons' ),
|
511 |
+
'type' => Controls_Manager::SLIDER,
|
512 |
+
'size_units' => ['px'],
|
513 |
+
'condition' => [
|
514 |
+
'arrow_position_toggle' => 'yes'
|
515 |
+
],
|
516 |
+
'range' => [
|
517 |
+
'px' => [
|
518 |
+
'min' => -100,
|
519 |
+
'max' => 250,
|
520 |
+
],
|
521 |
+
],
|
522 |
+
'selectors' => [
|
523 |
+
'{{WRAPPER}} .slick-prev' => 'left: {{SIZE}}{{UNIT}};',
|
524 |
+
'{{WRAPPER}} .slick-next' => 'right: {{SIZE}}{{UNIT}};',
|
525 |
+
],
|
526 |
+
]
|
527 |
+
);
|
528 |
+
|
529 |
+
$this->end_popover();
|
530 |
+
|
531 |
+
$this->add_group_control(
|
532 |
+
Group_Control_Border::get_type(),
|
533 |
+
[
|
534 |
+
'name' => 'arrow_border',
|
535 |
+
'selector' => '{{WRAPPER}} .slick-prev, {{WRAPPER}} .slick-next',
|
536 |
+
]
|
537 |
+
);
|
538 |
+
|
539 |
+
$this->add_responsive_control(
|
540 |
+
'arrow_border_radius',
|
541 |
+
[
|
542 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
543 |
+
'type' => Controls_Manager::DIMENSIONS,
|
544 |
+
'size_units' => [ 'px', '%' ],
|
545 |
+
'selectors' => [
|
546 |
+
'{{WRAPPER}} .slick-prev, {{WRAPPER}} .slick-next' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}; overflow: hidden;',
|
547 |
+
],
|
548 |
+
]
|
549 |
+
);
|
550 |
+
|
551 |
+
$this->start_controls_tabs( '_tabs_arrow' );
|
552 |
+
|
553 |
+
$this->start_controls_tab(
|
554 |
+
'_tab_arrow_normal',
|
555 |
+
[
|
556 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
557 |
+
]
|
558 |
+
);
|
559 |
+
|
560 |
+
$this->add_control(
|
561 |
+
'arrow_color',
|
562 |
+
[
|
563 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
564 |
+
'type' => Controls_Manager::COLOR,
|
565 |
+
'default' => '',
|
566 |
+
'selectors' => [
|
567 |
+
'{{WRAPPER}} .slick-prev, {{WRAPPER}} .slick-next' => 'color: {{VALUE}};',
|
568 |
+
],
|
569 |
+
]
|
570 |
+
);
|
571 |
+
|
572 |
+
$this->add_control(
|
573 |
+
'arrow_bg_color',
|
574 |
+
[
|
575 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
576 |
+
'type' => Controls_Manager::COLOR,
|
577 |
+
'selectors' => [
|
578 |
+
'{{WRAPPER}} .slick-prev, {{WRAPPER}} .slick-next' => 'background-color: {{VALUE}};',
|
579 |
+
],
|
580 |
+
]
|
581 |
+
);
|
582 |
+
|
583 |
+
$this->end_controls_tab();
|
584 |
+
|
585 |
+
$this->start_controls_tab(
|
586 |
+
'_tab_arrow_hover',
|
587 |
+
[
|
588 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
589 |
+
]
|
590 |
+
);
|
591 |
+
|
592 |
+
$this->add_control(
|
593 |
+
'arrow_hover_color',
|
594 |
+
[
|
595 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
596 |
+
'type' => Controls_Manager::COLOR,
|
597 |
+
'selectors' => [
|
598 |
+
'{{WRAPPER}} .slick-prev:hover, {{WRAPPER}} .slick-next:hover' => 'color: {{VALUE}};',
|
599 |
+
],
|
600 |
+
]
|
601 |
+
);
|
602 |
+
|
603 |
+
$this->add_control(
|
604 |
+
'arrow_hover_bg_color',
|
605 |
+
[
|
606 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
607 |
+
'type' => Controls_Manager::COLOR,
|
608 |
+
'selectors' => [
|
609 |
+
'{{WRAPPER}} .slick-prev:hover, {{WRAPPER}} .slick-next:hover' => 'background-color: {{VALUE}};',
|
610 |
+
],
|
611 |
+
]
|
612 |
+
);
|
613 |
+
|
614 |
+
$this->add_control(
|
615 |
+
'arrow_hover_border_color',
|
616 |
+
[
|
617 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
618 |
+
'type' => Controls_Manager::COLOR,
|
619 |
+
'condition' => [
|
620 |
+
'arrow_border_border!' => '',
|
621 |
+
],
|
622 |
+
'selectors' => [
|
623 |
+
'{{WRAPPER}} .slick-prev:hover, {{WRAPPER}} .slick-next:hover' => 'border-color: {{VALUE}};',
|
624 |
+
],
|
625 |
+
]
|
626 |
+
);
|
627 |
+
|
628 |
+
$this->end_controls_tab();
|
629 |
+
$this->end_controls_tabs();
|
630 |
+
|
631 |
+
$this->end_controls_section();
|
632 |
+
|
633 |
+
$this->start_controls_section(
|
634 |
+
'_section_style_dots',
|
635 |
+
[
|
636 |
+
'label' => __( 'Navigation - Dots', 'happy-elementor-addons' ),
|
637 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
638 |
+
]
|
639 |
+
);
|
640 |
+
|
641 |
+
$this->add_responsive_control(
|
642 |
+
'dots_nav_position_y',
|
643 |
+
[
|
644 |
+
'label' => __( 'Vertical Position', 'happy-elementor-addons' ),
|
645 |
+
'type' => Controls_Manager::SLIDER,
|
646 |
+
'size_units' => ['px'],
|
647 |
+
'range' => [
|
648 |
+
'px' => [
|
649 |
+
'min' => -100,
|
650 |
+
'max' => 500,
|
651 |
+
],
|
652 |
+
],
|
653 |
+
'selectors' => [
|
654 |
+
'{{WRAPPER}} .slick-dots' => 'bottom: {{SIZE}}{{UNIT}};',
|
655 |
+
],
|
656 |
+
]
|
657 |
+
);
|
658 |
+
|
659 |
+
$this->add_responsive_control(
|
660 |
+
'dots_nav_spacing',
|
661 |
+
[
|
662 |
+
'label' => __( 'Spacing', 'happy-elementor-addons' ),
|
663 |
+
'type' => Controls_Manager::SLIDER,
|
664 |
+
'size_units' => ['px'],
|
665 |
+
'selectors' => [
|
666 |
+
'{{WRAPPER}} .slick-dots li' => 'margin-right: calc({{SIZE}}{{UNIT}} / 2); margin-left: calc({{SIZE}}{{UNIT}} / 2);',
|
667 |
+
],
|
668 |
+
]
|
669 |
+
);
|
670 |
+
|
671 |
+
$this->add_responsive_control(
|
672 |
+
'dots_nav_align',
|
673 |
+
[
|
674 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
675 |
+
'type' => Controls_Manager::CHOOSE,
|
676 |
+
'label_block' => false,
|
677 |
+
'options' => [
|
678 |
+
'left' => [
|
679 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
680 |
+
'icon' => 'eicon-h-align-left',
|
681 |
+
],
|
682 |
+
'center' => [
|
683 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
684 |
+
'icon' => 'eicon-h-align-center',
|
685 |
+
],
|
686 |
+
'right' => [
|
687 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
688 |
+
'icon' => 'eicon-h-align-right',
|
689 |
+
],
|
690 |
+
],
|
691 |
+
'toggle' => true,
|
692 |
+
'selectors' => [
|
693 |
+
'{{WRAPPER}} .slick-dots' => 'text-align: {{VALUE}}'
|
694 |
+
]
|
695 |
+
]
|
696 |
+
);
|
697 |
+
|
698 |
+
$this->start_controls_tabs( '_tabs_dots' );
|
699 |
+
$this->start_controls_tab(
|
700 |
+
'_tab_dots_normal',
|
701 |
+
[
|
702 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
703 |
+
]
|
704 |
+
);
|
705 |
+
|
706 |
+
$this->add_control(
|
707 |
+
'dots_nav_color',
|
708 |
+
[
|
709 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
710 |
+
'type' => Controls_Manager::COLOR,
|
711 |
+
'selectors' => [
|
712 |
+
'{{WRAPPER}} .slick-dots li button:before' => 'color: {{VALUE}};',
|
713 |
+
],
|
714 |
+
]
|
715 |
+
);
|
716 |
+
|
717 |
+
$this->end_controls_tab();
|
718 |
+
|
719 |
+
$this->start_controls_tab(
|
720 |
+
'_tab_dots_hover',
|
721 |
+
[
|
722 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
723 |
+
]
|
724 |
+
);
|
725 |
+
|
726 |
+
$this->add_control(
|
727 |
+
'dots_nav_hover_color',
|
728 |
+
[
|
729 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
730 |
+
'type' => Controls_Manager::COLOR,
|
731 |
+
'selectors' => [
|
732 |
+
'{{WRAPPER}} .slick-dots li button:hover:before' => 'color: {{VALUE}};',
|
733 |
+
],
|
734 |
+
]
|
735 |
+
);
|
736 |
+
|
737 |
+
$this->end_controls_tab();
|
738 |
+
|
739 |
+
$this->start_controls_tab(
|
740 |
+
'_tab_dots_active',
|
741 |
+
[
|
742 |
+
'label' => __( 'Active', 'happy-elementor-addons' ),
|
743 |
+
]
|
744 |
+
);
|
745 |
+
|
746 |
+
$this->add_control(
|
747 |
+
'dots_nav_active_color',
|
748 |
+
[
|
749 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
750 |
+
'type' => Controls_Manager::COLOR,
|
751 |
+
'selectors' => [
|
752 |
+
'{{WRAPPER}} .slick-dots .slick-active button:before' => 'color: {{VALUE}};',
|
753 |
+
],
|
754 |
+
]
|
755 |
+
);
|
756 |
+
|
757 |
+
$this->end_controls_tab();
|
758 |
+
$this->end_controls_tabs();
|
759 |
+
|
760 |
+
$this->end_controls_section();
|
761 |
+
}
|
762 |
|
763 |
protected function render() {
|
764 |
+
$settings = $this->get_settings_for_display();
|
765 |
+
|
766 |
+
if ( empty( $settings['slides'] ) ) {
|
767 |
+
return;
|
768 |
+
}
|
769 |
+
?>
|
770 |
+
|
771 |
+
<div class="hajs-slick ha-slick ha-slick--carousel">
|
772 |
+
|
773 |
+
<?php foreach ( $settings['slides'] as $slide ) :
|
774 |
+
$image = wp_get_attachment_image_url( $slide['image']['id'], $settings['thumbnail_size'] );
|
775 |
+
|
776 |
+
if ( ! $image ) {
|
777 |
+
$image = $slide['image']['url'];
|
778 |
+
}
|
779 |
+
|
780 |
+
$item_tag = 'div';
|
781 |
+
$id = 'ha-slick-item-' . $slide['_id'];
|
782 |
+
|
783 |
+
$this->add_render_attribute( $id, 'class', 'ha-slick-item' );
|
784 |
+
|
785 |
+
if ( isset( $slide['link'] ) && ! empty( $slide['link']['url'] ) ) {
|
786 |
+
$item_tag = 'a';
|
787 |
+
$this->add_link_attributes( $id, $slide['link'] );
|
788 |
+
}
|
789 |
+
?>
|
790 |
+
|
791 |
+
<div class="ha-slick-slide">
|
792 |
+
<<?php echo $item_tag; ?> <?php $this->print_render_attribute_string( $id ); ?>>
|
793 |
+
<?php if ( $image ) : ?>
|
794 |
+
<img class="ha-slick-img" src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr( $slide['title'] ); ?>">
|
795 |
+
<?php endif; ?>
|
796 |
+
|
797 |
+
<?php if ( $slide['title'] || $slide['subtitle'] ) : ?>
|
798 |
+
<div class="ha-slick-content">
|
799 |
+
<?php if ( $slide['title'] ) : ?>
|
800 |
+
<h2 class="ha-slick-title"><?php echo ha_kses_basic( $slide['title'] ); ?></h2>
|
801 |
+
<?php endif; ?>
|
802 |
+
<?php if ( $slide['subtitle'] ) : ?>
|
803 |
+
<p class="ha-slick-subtitle"><?php echo ha_kses_basic( $slide['subtitle'] ); ?></p>
|
804 |
+
<?php endif; ?>
|
805 |
+
</div>
|
806 |
+
<?php endif; ?>
|
807 |
+
</<?php echo $item_tag; ?>>
|
808 |
+
</div>
|
809 |
+
|
810 |
+
<?php endforeach; ?>
|
811 |
+
|
812 |
+
</div>
|
813 |
+
|
814 |
+
<?php
|
815 |
+
}
|
816 |
}
|
widgets/dual-button/widget.php
CHANGED
@@ -84,7 +84,7 @@ class Dual_Button extends Base {
|
|
84 |
[
|
85 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
86 |
'type' => Controls_Manager::URL,
|
87 |
-
'placeholder' => 'https://
|
88 |
'dynamic' => [
|
89 |
'active' => true,
|
90 |
]
|
@@ -270,7 +270,7 @@ class Dual_Button extends Base {
|
|
270 |
[
|
271 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
272 |
'type' => Controls_Manager::URL,
|
273 |
-
'placeholder' => 'https://
|
274 |
'dynamic' => [
|
275 |
'active' => true,
|
276 |
]
|
84 |
[
|
85 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
86 |
'type' => Controls_Manager::URL,
|
87 |
+
'placeholder' => 'https://example.com',
|
88 |
'dynamic' => [
|
89 |
'active' => true,
|
90 |
]
|
270 |
[
|
271 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
272 |
'type' => Controls_Manager::URL,
|
273 |
+
'placeholder' => 'https://example.com',
|
274 |
'dynamic' => [
|
275 |
'active' => true,
|
276 |
]
|
widgets/flip-box/widget.php
CHANGED
@@ -587,12 +587,22 @@ class Flip_Box extends Base {
|
|
587 |
[
|
588 |
'label' => __( 'Icon Size', 'happy-elementor-addons' ),
|
589 |
'type' => Controls_Manager::SLIDER,
|
590 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
591 |
'condition' => [
|
592 |
'front_icon_type' => 'icon'
|
593 |
],
|
594 |
'selectors' => [
|
595 |
-
'{{WRAPPER}} .ha-flip-box-front-inner .ha-flip-icon
|
596 |
],
|
597 |
]
|
598 |
);
|
@@ -940,12 +950,22 @@ class Flip_Box extends Base {
|
|
940 |
[
|
941 |
'label' => __( 'Icon Size', 'happy-elementor-addons' ),
|
942 |
'type' => Controls_Manager::SLIDER,
|
943 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
944 |
'condition' => [
|
945 |
'back_icon_type' => 'icon'
|
946 |
],
|
947 |
'selectors' => [
|
948 |
-
'{{WRAPPER}} .ha-flip-box-back-inner .ha-flip-icon
|
949 |
],
|
950 |
]
|
951 |
);
|
587 |
[
|
588 |
'label' => __( 'Icon Size', 'happy-elementor-addons' ),
|
589 |
'type' => Controls_Manager::SLIDER,
|
590 |
+
'size_units' => ['px', 'em'],
|
591 |
+
'range' => [
|
592 |
+
'px' => [
|
593 |
+
'min' => 6,
|
594 |
+
'max' => 300
|
595 |
+
],
|
596 |
+
'em' => [
|
597 |
+
'min' => 6,
|
598 |
+
'max' => 300
|
599 |
+
]
|
600 |
+
],
|
601 |
'condition' => [
|
602 |
'front_icon_type' => 'icon'
|
603 |
],
|
604 |
'selectors' => [
|
605 |
+
'{{WRAPPER}} .ha-flip-box-front-inner .ha-flip-icon' => 'font-size: {{SIZE}}{{UNIT}};',
|
606 |
],
|
607 |
]
|
608 |
);
|
950 |
[
|
951 |
'label' => __( 'Icon Size', 'happy-elementor-addons' ),
|
952 |
'type' => Controls_Manager::SLIDER,
|
953 |
+
'size_units' => ['px', 'em'],
|
954 |
+
'range' => [
|
955 |
+
'px' => [
|
956 |
+
'min' => 6,
|
957 |
+
'max' => 300
|
958 |
+
],
|
959 |
+
'em' => [
|
960 |
+
'min' => 6,
|
961 |
+
'max' => 300
|
962 |
+
]
|
963 |
+
],
|
964 |
'condition' => [
|
965 |
'back_icon_type' => 'icon'
|
966 |
],
|
967 |
'selectors' => [
|
968 |
+
'{{WRAPPER}} .ha-flip-box-back-inner .ha-flip-icon' => 'font-size: {{SIZE}}{{UNIT}};',
|
969 |
],
|
970 |
]
|
971 |
);
|
widgets/fun-factor/widget.php
CHANGED
@@ -291,7 +291,7 @@ class Fun_Factor extends Base {
|
|
291 |
],
|
292 |
'toggle' => true,
|
293 |
'selectors' => [
|
294 |
-
'{{WRAPPER}} .ha-
|
295 |
],
|
296 |
'default' => 'center',
|
297 |
'render_type' => 'template',
|
@@ -331,7 +331,7 @@ class Fun_Factor extends Base {
|
|
331 |
'range' => [
|
332 |
'px' => [
|
333 |
'min' => 150,
|
334 |
-
'max' =>
|
335 |
],
|
336 |
'%' => [
|
337 |
'min' => 30,
|
@@ -342,8 +342,8 @@ class Fun_Factor extends Base {
|
|
342 |
'unit' => 'px',
|
343 |
],
|
344 |
'selectors' => [
|
345 |
-
'{{WRAPPER}} .ha-fun-
|
346 |
-
'{{WRAPPER}}
|
347 |
],
|
348 |
'condition' => [
|
349 |
'media_type' => 'image',
|
@@ -371,7 +371,7 @@ class Fun_Factor extends Base {
|
|
371 |
'unit' => 'px',
|
372 |
],
|
373 |
'selectors' => [
|
374 |
-
'{{WRAPPER}} .ha-fun-
|
375 |
],
|
376 |
'condition' => [
|
377 |
'media_type' => 'image',
|
@@ -382,31 +382,17 @@ class Fun_Factor extends Base {
|
|
382 |
$this->add_responsive_control(
|
383 |
'icon_size',
|
384 |
[
|
385 |
-
'label' => __('Size
|
386 |
'type' => Controls_Manager::SLIDER,
|
387 |
-
'size_units' => ['
|
388 |
'range' => [
|
389 |
-
'
|
390 |
-
'min' =>
|
391 |
-
'max' =>
|
392 |
-
'step' => 1,
|
393 |
],
|
394 |
],
|
395 |
-
'devices' => ['desktop', 'tablet', 'mobile'],
|
396 |
-
'desktop_default' => [
|
397 |
-
'unit' => 'em',
|
398 |
-
'size' => 3,
|
399 |
-
],
|
400 |
-
'tablet_default' => [
|
401 |
-
'unit' => 'em',
|
402 |
-
'size' => 2,
|
403 |
-
],
|
404 |
-
'mobile_default' => [
|
405 |
-
'unit' => 'em',
|
406 |
-
'size' => 2,
|
407 |
-
],
|
408 |
'selectors' => [
|
409 |
-
'{{WRAPPER}} .ha-fun-
|
410 |
],
|
411 |
'condition' => [
|
412 |
'media_type' => 'icon',
|
@@ -421,7 +407,7 @@ class Fun_Factor extends Base {
|
|
421 |
'label' => __('Icon Color', 'happy-elementor-addons'),
|
422 |
'type' => Controls_Manager::COLOR,
|
423 |
'selectors' => [
|
424 |
-
'{{WRAPPER}} .ha-fun-
|
425 |
],
|
426 |
'condition' => [
|
427 |
'media_type' => 'icon',
|
@@ -436,7 +422,7 @@ class Fun_Factor extends Base {
|
|
436 |
'type' => Controls_Manager::DIMENSIONS,
|
437 |
'size_units' => ['px'],
|
438 |
'selectors' => [
|
439 |
-
'{{WRAPPER}} .ha-fun-
|
440 |
],
|
441 |
]
|
442 |
);
|
@@ -445,7 +431,7 @@ class Fun_Factor extends Base {
|
|
445 |
Group_Control_Border::get_type(),
|
446 |
[
|
447 |
'name' => 'media_border',
|
448 |
-
'selector' => '{{WRAPPER}} .ha-fun-
|
449 |
'separator' => 'before'
|
450 |
]
|
451 |
);
|
@@ -457,7 +443,7 @@ class Fun_Factor extends Base {
|
|
457 |
'type' => Controls_Manager::DIMENSIONS,
|
458 |
'size_units' => ['px', '%'],
|
459 |
'selectors' => [
|
460 |
-
'{{WRAPPER}} .ha-fun-
|
461 |
],
|
462 |
]
|
463 |
);
|
@@ -466,7 +452,7 @@ class Fun_Factor extends Base {
|
|
466 |
Group_Control_Box_Shadow::get_type(),
|
467 |
[
|
468 |
'name' => 'media_box_shadow',
|
469 |
-
'selector' => '{{WRAPPER}} .ha-fun-
|
470 |
]
|
471 |
);
|
472 |
|
@@ -476,7 +462,7 @@ class Fun_Factor extends Base {
|
|
476 |
'label' => __('Bottom Spacing', 'happy-elementor-addons'),
|
477 |
'type' => Controls_Manager::SLIDER,
|
478 |
'selectors' => [
|
479 |
-
'{{WRAPPER}} .ha-fun-
|
480 |
],
|
481 |
]
|
482 |
);
|
@@ -487,7 +473,7 @@ class Fun_Factor extends Base {
|
|
487 |
'label' => __('Background Color', 'happy-elementor-addons'),
|
488 |
'type' => Controls_Manager::COLOR,
|
489 |
'selectors' => [
|
490 |
-
'{{WRAPPER}} .ha-fun-
|
491 |
],
|
492 |
'condition' => [
|
493 |
'media_type' => 'icon'
|
@@ -544,19 +530,19 @@ class Fun_Factor extends Base {
|
|
544 |
|
545 |
'selectors' => [
|
546 |
// Left image position styles
|
547 |
-
'(desktop){{WRAPPER}}.ha-ff-icon--left .ha-fun-
|
548 |
-
'(tablet){{WRAPPER}}.ha-ff-icon--left .ha-fun-
|
549 |
-
'(mobile){{WRAPPER}}.ha-ff-icon--left .ha-fun-
|
550 |
// Image right position styles
|
551 |
-
'(desktop){{WRAPPER}}.ha-ff-icon--right .ha-fun-
|
552 |
-
'(tablet){{WRAPPER}}.ha-ff-icon--right .ha-fun-
|
553 |
-
'(mobile){{WRAPPER}}.ha-ff-icon--right .ha-fun-
|
554 |
// Image translate styles
|
555 |
-
'(desktop){{WRAPPER}} .ha-fun-
|
556 |
-
'(tablet){{WRAPPER}} .ha-fun-
|
557 |
-
'(mobile){{WRAPPER}} .ha-fun-
|
558 |
// Fun Factor body styles
|
559 |
-
'{{WRAPPER}}.ha-ff-icon--top .ha-fun-
|
560 |
],
|
561 |
]
|
562 |
);
|
@@ -582,7 +568,7 @@ class Fun_Factor extends Base {
|
|
582 |
'label' => __('Padding', 'happy-elementor-addons'),
|
583 |
'type' => Controls_Manager::DIMENSIONS,
|
584 |
'selectors' => [
|
585 |
-
'{{WRAPPER}} .ha-fun-
|
586 |
]
|
587 |
]
|
588 |
);
|
@@ -602,7 +588,7 @@ class Fun_Factor extends Base {
|
|
602 |
'type' => Controls_Manager::SLIDER,
|
603 |
'size_units' => ['px', '%', 'em'],
|
604 |
'selectors' => [
|
605 |
-
'{{WRAPPER}} .ha-fun-
|
606 |
]
|
607 |
]
|
608 |
);
|
@@ -613,7 +599,7 @@ class Fun_Factor extends Base {
|
|
613 |
'label' => __('Color', 'happy-elementor-addons'),
|
614 |
'type' => Controls_Manager::COLOR,
|
615 |
'selectors' => [
|
616 |
-
'{{WRAPPER}} .ha-fun-
|
617 |
],
|
618 |
]
|
619 |
);
|
@@ -624,7 +610,7 @@ class Fun_Factor extends Base {
|
|
624 |
'name' => 'number_typography',
|
625 |
'label' => __('Typography', 'happy-elementor-addons'),
|
626 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
627 |
-
'selector' => '{{WRAPPER}} .ha-fun-
|
628 |
]
|
629 |
);
|
630 |
|
@@ -633,7 +619,7 @@ class Fun_Factor extends Base {
|
|
633 |
[
|
634 |
'name' => 'fun_factor_number_shadow',
|
635 |
'label' => __('Text Shadow', 'happy-elementor-addons'),
|
636 |
-
'selector' => '{{WRAPPER}} .ha-fun-
|
637 |
]
|
638 |
);
|
639 |
|
@@ -657,7 +643,7 @@ class Fun_Factor extends Base {
|
|
657 |
'type' => Controls_Manager::SLIDER,
|
658 |
'size_units' => ['px'],
|
659 |
'selectors' => [
|
660 |
-
'{{WRAPPER}} .ha-fun-
|
661 |
]
|
662 |
]
|
663 |
);
|
@@ -668,7 +654,7 @@ class Fun_Factor extends Base {
|
|
668 |
'label' => __('Color', 'happy-elementor-addons'),
|
669 |
'type' => Controls_Manager::COLOR,
|
670 |
'selectors' => [
|
671 |
-
'{{WRAPPER}} .ha-fun-
|
672 |
],
|
673 |
]
|
674 |
);
|
@@ -679,7 +665,7 @@ class Fun_Factor extends Base {
|
|
679 |
'name' => 'content_typography',
|
680 |
'label' => __('Typography', 'happy-elementor-addons'),
|
681 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
682 |
-
'selector' => '{{WRAPPER}} .ha-fun-
|
683 |
]
|
684 |
);
|
685 |
|
@@ -688,7 +674,7 @@ class Fun_Factor extends Base {
|
|
688 |
[
|
689 |
'name' => 'fun_factor_content_shadow',
|
690 |
'label' => __('Text Shadow', 'happy-elementor-addons'),
|
691 |
-
'selector' => '{{WRAPPER}} .ha-fun-
|
692 |
]
|
693 |
);
|
694 |
|
@@ -724,7 +710,7 @@ class Fun_Factor extends Base {
|
|
724 |
'unit' => '%'
|
725 |
],
|
726 |
'selectors' => [
|
727 |
-
'{{WRAPPER}} .ha-fun-
|
728 |
],
|
729 |
]
|
730 |
);
|
@@ -739,7 +725,7 @@ class Fun_Factor extends Base {
|
|
739 |
'px' => 1
|
740 |
],
|
741 |
'selectors' => [
|
742 |
-
'{{WRAPPER}} .ha-fun-
|
743 |
],
|
744 |
]
|
745 |
);
|
@@ -750,7 +736,7 @@ class Fun_Factor extends Base {
|
|
750 |
'label' => __('Border Radius', 'happy-elementor-addons'),
|
751 |
'type' => Controls_Manager::DIMENSIONS,
|
752 |
'selectors' => [
|
753 |
-
'{{WRAPPER}} .ha-fun-
|
754 |
],
|
755 |
]
|
756 |
);
|
@@ -761,7 +747,7 @@ class Fun_Factor extends Base {
|
|
761 |
'label' => __('Color', 'happy-elementor-addons'),
|
762 |
'type' => Controls_Manager::COLOR,
|
763 |
'selectors' => [
|
764 |
-
'{{WRAPPER}} .ha-fun-
|
765 |
],
|
766 |
]
|
767 |
);
|
@@ -773,7 +759,7 @@ class Fun_Factor extends Base {
|
|
773 |
'type' => Controls_Manager::SLIDER,
|
774 |
'size_units' => ['px'],
|
775 |
'selectors' => [
|
776 |
-
'{{WRAPPER}} .ha-fun-
|
777 |
],
|
778 |
]
|
779 |
);
|
@@ -784,7 +770,7 @@ class Fun_Factor extends Base {
|
|
784 |
protected function render() {
|
785 |
$settings = $this->get_settings_for_display();
|
786 |
|
787 |
-
$this->add_render_attribute('fun_factor_number', 'class', 'ha-fun-
|
788 |
$number = $settings['fun_factor_number'];
|
789 |
$fun_factor_title = $settings['fun_factor_title'];
|
790 |
|
@@ -798,25 +784,25 @@ class Fun_Factor extends Base {
|
|
798 |
}
|
799 |
?>
|
800 |
|
801 |
-
<div class="ha-
|
802 |
<?php if (!empty($settings['icons']['value'])) : ?>
|
803 |
-
<div class="ha-fun-
|
804 |
-
<?php Icons_Manager::render_icon( $settings['icons'], ['aria-hidden' => 'true'
|
805 |
</div>
|
806 |
<?php elseif ( $settings['image']['url'] || $settings['image']['id'] ) : ?>
|
807 |
-
<div class="ha-fun-
|
808 |
<?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'thumbnail', 'image' ); ?>
|
809 |
</div>
|
810 |
<?php endif; ?>
|
811 |
|
812 |
-
<div class="ha-fun-
|
813 |
<p <?php $this->print_render_attribute_string( 'fun_factor_number' ); ?> ><?php echo esc_html( $number ); ?></p>
|
814 |
<?php if ( 'yes' === $settings['divider_show_hide'] ) : ?>
|
815 |
-
<span class="ha-fun-
|
816 |
<?php endif; ?>
|
817 |
-
<?php printf( '<%1$s class="ha-fun-
|
818 |
tag_escape( $settings['title_tag'] ),
|
819 |
-
|
820 |
); ?>
|
821 |
</div>
|
822 |
</div>
|
291 |
],
|
292 |
'toggle' => true,
|
293 |
'selectors' => [
|
294 |
+
'{{WRAPPER}} .ha-fun-factor__wrap, {{WRAPPER}} .ha-fun-factor__media--image' => 'text-align: {{VALUE}};',
|
295 |
],
|
296 |
'default' => 'center',
|
297 |
'render_type' => 'template',
|
331 |
'range' => [
|
332 |
'px' => [
|
333 |
'min' => 150,
|
334 |
+
'max' => 500,
|
335 |
],
|
336 |
'%' => [
|
337 |
'min' => 30,
|
342 |
'unit' => 'px',
|
343 |
],
|
344 |
'selectors' => [
|
345 |
+
'{{WRAPPER}}.ha-ff-icon--top .ha-fun-factor__media--image' => 'width: {{SIZE}}{{UNIT}};',
|
346 |
+
'{{WRAPPER}}:not(.ha-ff-icon--top) .ha-fun-factor__media--image' => 'flex: 0 0 {{SIZE}}{{UNIT}}; max-width: {{SIZE}}{{UNIT}};',
|
347 |
],
|
348 |
'condition' => [
|
349 |
'media_type' => 'image',
|
371 |
'unit' => 'px',
|
372 |
],
|
373 |
'selectors' => [
|
374 |
+
'{{WRAPPER}} .ha-fun-factor__media--image' => 'height: {{SIZE}}{{UNIT}};',
|
375 |
],
|
376 |
'condition' => [
|
377 |
'media_type' => 'image',
|
382 |
$this->add_responsive_control(
|
383 |
'icon_size',
|
384 |
[
|
385 |
+
'label' => __('Size', 'happy-elementor-addons'),
|
386 |
'type' => Controls_Manager::SLIDER,
|
387 |
+
'size_units' => ['px'],
|
388 |
'range' => [
|
389 |
+
'px' => [
|
390 |
+
'min' => 6,
|
391 |
+
'max' => 300,
|
|
|
392 |
],
|
393 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
394 |
'selectors' => [
|
395 |
+
'{{WRAPPER}} .ha-fun-factor__media--icon' => 'font-size: {{SIZE}}{{UNIT}};',
|
396 |
],
|
397 |
'condition' => [
|
398 |
'media_type' => 'icon',
|
407 |
'label' => __('Icon Color', 'happy-elementor-addons'),
|
408 |
'type' => Controls_Manager::COLOR,
|
409 |
'selectors' => [
|
410 |
+
'{{WRAPPER}} .ha-fun-factor__media--icon' => 'color: {{VALUE}};',
|
411 |
],
|
412 |
'condition' => [
|
413 |
'media_type' => 'icon',
|
422 |
'type' => Controls_Manager::DIMENSIONS,
|
423 |
'size_units' => ['px'],
|
424 |
'selectors' => [
|
425 |
+
'{{WRAPPER}} .ha-fun-factor__media--image img, {{WRAPPER}} .ha-fun-factor__media--icon' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
426 |
],
|
427 |
]
|
428 |
);
|
431 |
Group_Control_Border::get_type(),
|
432 |
[
|
433 |
'name' => 'media_border',
|
434 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor__media--image img, {{WRAPPER}} .ha-fun-factor__media--icon',
|
435 |
'separator' => 'before'
|
436 |
]
|
437 |
);
|
443 |
'type' => Controls_Manager::DIMENSIONS,
|
444 |
'size_units' => ['px', '%'],
|
445 |
'selectors' => [
|
446 |
+
'{{WRAPPER}} .ha-fun-factor__media--image img, {{WRAPPER}} .ha-fun-factor__media--icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
447 |
],
|
448 |
]
|
449 |
);
|
452 |
Group_Control_Box_Shadow::get_type(),
|
453 |
[
|
454 |
'name' => 'media_box_shadow',
|
455 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor__media--image img, {{WRAPPER}} .ha-fun-factor__media--icon',
|
456 |
]
|
457 |
);
|
458 |
|
462 |
'label' => __('Bottom Spacing', 'happy-elementor-addons'),
|
463 |
'type' => Controls_Manager::SLIDER,
|
464 |
'selectors' => [
|
465 |
+
'{{WRAPPER}} .ha-fun-factor__media--icon, {{WRAPPER}} .ha-fun-factor__media--image' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
466 |
],
|
467 |
]
|
468 |
);
|
473 |
'label' => __('Background Color', 'happy-elementor-addons'),
|
474 |
'type' => Controls_Manager::COLOR,
|
475 |
'selectors' => [
|
476 |
+
'{{WRAPPER}} .ha-fun-factor__media--icon, {{WRAPPER}} .ha-fun-factor__media--image' => 'background-color: {{VALUE}};',
|
477 |
],
|
478 |
'condition' => [
|
479 |
'media_type' => 'icon'
|
530 |
|
531 |
'selectors' => [
|
532 |
// Left image position styles
|
533 |
+
'(desktop){{WRAPPER}}.ha-ff-icon--left .ha-fun-factor__content' => 'margin-left: {{media_offset_x.SIZE || 0}}{{UNIT}}; max-width: calc((100% - {{image_width.SIZE || 50}}{{image_width.UNIT}}) + (-1 * {{media_offset_x.SIZE || 0}}{{UNIT}}));',
|
534 |
+
'(tablet){{WRAPPER}}.ha-ff-icon--left .ha-fun-factor__content' => 'margin-left: {{media_offset_x_tablet.SIZE || 0}}{{UNIT}}; max-width: calc((100% - {{image_width_tablet.SIZE || 50}}{{image_width_tablet.UNIT}}) + (-1 * {{media_offset_x_tablet.SIZE || 0}}{{UNIT}}));',
|
535 |
+
'(mobile){{WRAPPER}}.ha-ff-icon--left .ha-fun-factor__content' => 'margin-left: {{media_offset_x_mobile.SIZE || 0}}{{UNIT}}; max-width: calc((100% - {{image_width_mobile.SIZE || 50}}{{image_width_mobile.UNIT}}) + (-1 * {{media_offset_x_mobile.SIZE || 0}}{{UNIT}}));',
|
536 |
// Image right position styles
|
537 |
+
'(desktop){{WRAPPER}}.ha-ff-icon--right .ha-fun-factor__content' => 'margin-right: calc(-1 * {{media_offset_x.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width.SIZE || 50}}{{image_width.UNIT}}) + {{media_offset_x.SIZE || 0}}{{UNIT}});',
|
538 |
+
'(tablet){{WRAPPER}}.ha-ff-icon--right .ha-fun-factor__content' => 'margin-right: calc(-1 * {{media_offset_x_tablet.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width_tablet.SIZE || 50}}{{image_width_tablet.UNIT}}) + {{media_offset_x_tablet.SIZE || 0}}{{UNIT}});',
|
539 |
+
'(mobile){{WRAPPER}}.ha-ff-icon--right .ha-fun-factor__content' => 'margin-right: calc(-1 * {{media_offset_x_mobile.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width_mobile.SIZE || 50}}{{image_width_mobile.UNIT}}) + {{media_offset_x_mobile.SIZE || 0}}{{UNIT}});',
|
540 |
// Image translate styles
|
541 |
+
'(desktop){{WRAPPER}} .ha-fun-factor__media--icon, {{WRAPPER}} .ha-fun-factor__media--image' => '-ms-transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}});',
|
542 |
+
'(tablet){{WRAPPER}} .ha-fun-factor__media--icon, {WRAPPER}} .ha-fun-factor__media--image' => '-ms-transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}});',
|
543 |
+
'(mobile){{WRAPPER}} .ha-fun-factor__media--icon, {{WRAPPER}} .ha-fun-factor__media--image' => '-ms-transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}});',
|
544 |
// Fun Factor body styles
|
545 |
+
'{{WRAPPER}}.ha-ff-icon--top .ha-fun-factor__content' => 'margin-top: {{SIZE}}{{UNIT}};',
|
546 |
],
|
547 |
]
|
548 |
);
|
568 |
'label' => __('Padding', 'happy-elementor-addons'),
|
569 |
'type' => Controls_Manager::DIMENSIONS,
|
570 |
'selectors' => [
|
571 |
+
'{{WRAPPER}} .ha-fun-factor__content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
572 |
]
|
573 |
]
|
574 |
);
|
588 |
'type' => Controls_Manager::SLIDER,
|
589 |
'size_units' => ['px', '%', 'em'],
|
590 |
'selectors' => [
|
591 |
+
'{{WRAPPER}} .ha-fun-factor__content-number' => 'margin-bottom: {{SIZE}}{{UNIT}};'
|
592 |
]
|
593 |
]
|
594 |
);
|
599 |
'label' => __('Color', 'happy-elementor-addons'),
|
600 |
'type' => Controls_Manager::COLOR,
|
601 |
'selectors' => [
|
602 |
+
'{{WRAPPER}} .ha-fun-factor__content-number' => 'color: {{VALUE}} !important;',
|
603 |
],
|
604 |
]
|
605 |
);
|
610 |
'name' => 'number_typography',
|
611 |
'label' => __('Typography', 'happy-elementor-addons'),
|
612 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
613 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor__content-number',
|
614 |
]
|
615 |
);
|
616 |
|
619 |
[
|
620 |
'name' => 'fun_factor_number_shadow',
|
621 |
'label' => __('Text Shadow', 'happy-elementor-addons'),
|
622 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor__content-number',
|
623 |
]
|
624 |
);
|
625 |
|
643 |
'type' => Controls_Manager::SLIDER,
|
644 |
'size_units' => ['px'],
|
645 |
'selectors' => [
|
646 |
+
'{{WRAPPER}} .ha-fun-factor__content-text' => 'margin-bottom: {{SIZE}}{{UNIT}};'
|
647 |
]
|
648 |
]
|
649 |
);
|
654 |
'label' => __('Color', 'happy-elementor-addons'),
|
655 |
'type' => Controls_Manager::COLOR,
|
656 |
'selectors' => [
|
657 |
+
'{{WRAPPER}} .ha-fun-factor__content-text' => 'color: {{VALUE}};',
|
658 |
],
|
659 |
]
|
660 |
);
|
665 |
'name' => 'content_typography',
|
666 |
'label' => __('Typography', 'happy-elementor-addons'),
|
667 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
668 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor__content-text',
|
669 |
]
|
670 |
);
|
671 |
|
674 |
[
|
675 |
'name' => 'fun_factor_content_shadow',
|
676 |
'label' => __('Text Shadow', 'happy-elementor-addons'),
|
677 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor__content-text',
|
678 |
]
|
679 |
);
|
680 |
|
710 |
'unit' => '%'
|
711 |
],
|
712 |
'selectors' => [
|
713 |
+
'{{WRAPPER}} .ha-fun-factor__divider' => 'width: {{SIZE}}{{UNIT}} !important;',
|
714 |
],
|
715 |
]
|
716 |
);
|
725 |
'px' => 1
|
726 |
],
|
727 |
'selectors' => [
|
728 |
+
'{{WRAPPER}} .ha-fun-factor__divider' => 'height: {{SIZE}}{{UNIT}} !important;',
|
729 |
],
|
730 |
]
|
731 |
);
|
736 |
'label' => __('Border Radius', 'happy-elementor-addons'),
|
737 |
'type' => Controls_Manager::DIMENSIONS,
|
738 |
'selectors' => [
|
739 |
+
'{{WRAPPER}} .ha-fun-factor__divider' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
740 |
],
|
741 |
]
|
742 |
);
|
747 |
'label' => __('Color', 'happy-elementor-addons'),
|
748 |
'type' => Controls_Manager::COLOR,
|
749 |
'selectors' => [
|
750 |
+
'{{WRAPPER}} .ha-fun-factor__divider' => 'background-color: {{VALUE}} !important;',
|
751 |
],
|
752 |
]
|
753 |
);
|
759 |
'type' => Controls_Manager::SLIDER,
|
760 |
'size_units' => ['px'],
|
761 |
'selectors' => [
|
762 |
+
'{{WRAPPER}} .ha-fun-factor__divider' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
763 |
],
|
764 |
]
|
765 |
);
|
770 |
protected function render() {
|
771 |
$settings = $this->get_settings_for_display();
|
772 |
|
773 |
+
$this->add_render_attribute('fun_factor_number', 'class', 'ha-fun-factor__content-number');
|
774 |
$number = $settings['fun_factor_number'];
|
775 |
$fun_factor_title = $settings['fun_factor_title'];
|
776 |
|
784 |
}
|
785 |
?>
|
786 |
|
787 |
+
<div class="ha-fun-factor__wrap">
|
788 |
<?php if (!empty($settings['icons']['value'])) : ?>
|
789 |
+
<div class="ha-fun-factor__media ha-fun-factor__media--icon">
|
790 |
+
<?php Icons_Manager::render_icon( $settings['icons'], ['aria-hidden' => 'true'] ); ?>
|
791 |
</div>
|
792 |
<?php elseif ( $settings['image']['url'] || $settings['image']['id'] ) : ?>
|
793 |
+
<div class="ha-fun-factor__media ha-fun-factor__media--image">
|
794 |
<?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'thumbnail', 'image' ); ?>
|
795 |
</div>
|
796 |
<?php endif; ?>
|
797 |
|
798 |
+
<div class="ha-fun-factor__content">
|
799 |
<p <?php $this->print_render_attribute_string( 'fun_factor_number' ); ?> ><?php echo esc_html( $number ); ?></p>
|
800 |
<?php if ( 'yes' === $settings['divider_show_hide'] ) : ?>
|
801 |
+
<span class="ha-fun-factor__divider ha-fun-factor__divider-align-<?php echo esc_attr( $settings['text_align'] ); ?>"></span>
|
802 |
<?php endif; ?>
|
803 |
+
<?php printf( '<%1$s class="ha-fun-factor__content-text">%2$s</%1$s>',
|
804 |
tag_escape( $settings['title_tag'] ),
|
805 |
+
ha_kses_basic( $fun_factor_title )
|
806 |
); ?>
|
807 |
</div>
|
808 |
</div>
|
widgets/gradient-heading/widget.php
CHANGED
@@ -76,7 +76,7 @@ class Gradient_Heading extends Base {
|
|
76 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
77 |
'type' => Controls_Manager::URL,
|
78 |
'separator' => 'before',
|
79 |
-
'placeholder' => 'https://
|
80 |
'dynamic' => [
|
81 |
'active' => true,
|
82 |
]
|
76 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
77 |
'type' => Controls_Manager::URL,
|
78 |
'separator' => 'before',
|
79 |
+
'placeholder' => 'https://example.com',
|
80 |
'dynamic' => [
|
81 |
'active' => true,
|
82 |
]
|
widgets/icon-box/widget.php
CHANGED
@@ -119,7 +119,7 @@ class Icon_Box extends Base {
|
|
119 |
'label' => __( 'Box Link', 'happy-elementor-addons' ),
|
120 |
'separator' => 'before',
|
121 |
'type' => Controls_Manager::URL,
|
122 |
-
'placeholder' => 'https://
|
123 |
'dynamic' => [
|
124 |
'active' => true,
|
125 |
]
|
@@ -210,7 +210,7 @@ class Icon_Box extends Base {
|
|
210 |
'size_units' => [ 'px' ],
|
211 |
'range' => [
|
212 |
'px' => [
|
213 |
-
'min' =>
|
214 |
'max' => 300,
|
215 |
],
|
216 |
],
|
@@ -750,7 +750,7 @@ class Icon_Box extends Base {
|
|
750 |
<#
|
751 |
var iconHTML = migrated = '';
|
752 |
|
753 |
-
if (
|
754 |
iconHTML = elementor.helpers.renderIcon( view, settings.selected_icon, { 'aria-hidden': true }, 'i' , 'object' ),
|
755 |
migrated = elementor.helpers.isIconMigrated( settings, 'selected_icon' );
|
756 |
}
|
@@ -773,7 +773,7 @@ class Icon_Box extends Base {
|
|
773 |
|
774 |
<# if ( settings.icon || settings.selected_icon.value ) { #>
|
775 |
<span class="ha-icon-box-icon">
|
776 |
-
<# if (
|
777 |
{{{ iconHTML.value }}}
|
778 |
<# } else { #>
|
779 |
<i class="{{ settings.icon }}" aria-hidden="true"></i>
|
119 |
'label' => __( 'Box Link', 'happy-elementor-addons' ),
|
120 |
'separator' => 'before',
|
121 |
'type' => Controls_Manager::URL,
|
122 |
+
'placeholder' => 'https://example.com',
|
123 |
'dynamic' => [
|
124 |
'active' => true,
|
125 |
]
|
210 |
'size_units' => [ 'px' ],
|
211 |
'range' => [
|
212 |
'px' => [
|
213 |
+
'min' => 6,
|
214 |
'max' => 300,
|
215 |
],
|
216 |
],
|
750 |
<#
|
751 |
var iconHTML = migrated = '';
|
752 |
|
753 |
+
if ( ha.hasIconLibrary() ) {
|
754 |
iconHTML = elementor.helpers.renderIcon( view, settings.selected_icon, { 'aria-hidden': true }, 'i' , 'object' ),
|
755 |
migrated = elementor.helpers.isIconMigrated( settings, 'selected_icon' );
|
756 |
}
|
773 |
|
774 |
<# if ( settings.icon || settings.selected_icon.value ) { #>
|
775 |
<span class="ha-icon-box-icon">
|
776 |
+
<# if ( ha.hasIconLibrary() && iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #>
|
777 |
{{{ iconHTML.value }}}
|
778 |
<# } else { #>
|
779 |
<i class="{{ settings.icon }}" aria-hidden="true"></i>
|
widgets/infobox/widget.php
CHANGED
@@ -14,46 +14,49 @@ use Elementor\Group_Control_Border;
|
|
14 |
use Elementor\Group_Control_Box_Shadow;
|
15 |
use Elementor\Group_Control_Image_Size;
|
16 |
use Elementor\Group_Control_Typography;
|
|
|
17 |
|
18 |
defined( 'ABSPATH' ) || die();
|
19 |
|
20 |
class InfoBox extends Base {
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
33 |
|
34 |
public function get_custom_help_url() {
|
35 |
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/info-box/';
|
36 |
}
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
protected function register_content_controls() {
|
58 |
$this->start_controls_section(
|
59 |
'_section_media',
|
@@ -63,1006 +66,942 @@ class InfoBox extends Base {
|
|
63 |
]
|
64 |
);
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
'default' => 'icon',
|
83 |
'toggle' => false,
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
|
904 |
protected function render() {
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
if ( settings.type === 'image' ) {
|
1005 |
-
if ( settings.image.url ) {
|
1006 |
-
var image = {
|
1007 |
-
id: settings.image.id,
|
1008 |
-
url: settings.image.url,
|
1009 |
-
size: settings.thumbnail_size,
|
1010 |
-
model: view.getEditModel()
|
1011 |
-
};
|
1012 |
-
|
1013 |
-
var image_url = elementor.imagesManager.getImageUrl( image );
|
1014 |
-
#>
|
1015 |
-
<figure class="ha-infobox-figure ha-infobox-figure--image">
|
1016 |
-
<img src="{{ image_url }}">
|
1017 |
-
</figure>
|
1018 |
-
<# }
|
1019 |
-
} else if ( settings.icon || settings.selected_icon.value ) { #>
|
1020 |
-
<figure class="ha-infobox-figure ha-infobox-figure--icon">
|
1021 |
-
<# if ( ha_has_icon_library() && iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #>
|
1022 |
-
{{{ iconHTML.value }}}
|
1023 |
-
<# } else { #>
|
1024 |
-
<i class="{{ settings.icon }}" aria-hidden="true"></i>
|
1025 |
-
<# } #>
|
1026 |
-
</figure>
|
1027 |
-
<# } #>
|
1028 |
-
|
1029 |
-
<div class="ha-infobox-body">
|
1030 |
-
<# if (settings.title) { #>
|
1031 |
-
<{{ settings.title_tag }} {{{ view.getRenderAttributeString( 'title' ) }}}>{{ settings.title }}</{{ settings.title_tag }}>
|
1032 |
-
<# } #>
|
1033 |
-
|
1034 |
-
<# if (settings.description) { #>
|
1035 |
-
<div {{{ view.getRenderAttributeString( 'description' ) }}}>
|
1036 |
-
<p>{{{ settings.description }}}</p>
|
1037 |
-
</div>
|
1038 |
-
<# } #>
|
1039 |
-
|
1040 |
-
<# if ( settings.button_selected_icon || settings.button_icon ) {
|
1041 |
-
if ( ha_has_icon_library() && btnIconHTML && btnIconHTML.rendered && ( ! settings.button_icon || btnMigrated ) ) {
|
1042 |
-
btnIcon = btnIconHTML.value;
|
1043 |
-
} else if ( settings.button_icon ) {
|
1044 |
-
btnIcon = '<i class="ha-btn-icon ' + settings.button_icon + '" aria-hidden="true"></i>';
|
1045 |
-
}
|
1046 |
-
} #>
|
1047 |
-
|
1048 |
-
<# if ( settings.button_text && ( ! settings.button_selected_icon && ! settings.button_icon ) ) { #>
|
1049 |
-
<a {{{ view.getRenderAttributeString( 'button' ) }}}><span {{{ view.getRenderAttributeString( 'button_text' ) }}}>{{ settings.button_text }}</span></a>
|
1050 |
-
<# } else if ( ! settings.button_text && ( settings.button_selected_icon || settings.button_icon ) ) { #>
|
1051 |
-
<a {{{ view.getRenderAttributeString( 'button' ) }}}>{{{ btnIcon }}}</a>
|
1052 |
-
<# } else if ( settings.button_text && ( settings.button_selected_icon || settings.button_icon ) ) {
|
1053 |
-
var button_before = button_after = '';
|
1054 |
-
if ( settings.button_icon_position === 'before' ) {
|
1055 |
-
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-before' );
|
1056 |
-
button_before = btnIcon;
|
1057 |
-
button_after = '<span ' + view.getRenderAttributeString( 'button_text' ) + '>' + settings.button_text + '</span>';
|
1058 |
-
} else {
|
1059 |
-
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-after' );
|
1060 |
-
button_after = btnIcon;
|
1061 |
-
button_before = '<span ' + view.getRenderAttributeString( 'button_text' ) + '>' + settings.button_text + '</span>';
|
1062 |
-
} #>
|
1063 |
-
<a {{{ view.getRenderAttributeString( 'button' ) }}}>{{{ button_before }}} {{{ button_after }}}</a>
|
1064 |
-
<# } #>
|
1065 |
-
</div>
|
1066 |
-
<?php
|
1067 |
-
}
|
1068 |
}
|
14 |
use Elementor\Group_Control_Box_Shadow;
|
15 |
use Elementor\Group_Control_Image_Size;
|
16 |
use Elementor\Group_Control_Typography;
|
17 |
+
use Happy_Addons\Elementor\Traits\Button_Renderer;
|
18 |
|
19 |
defined( 'ABSPATH' ) || die();
|
20 |
|
21 |
class InfoBox extends Base {
|
22 |
|
23 |
+
use Button_Renderer;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Get widget title.
|
27 |
+
*
|
28 |
+
* @since 1.0.0
|
29 |
+
* @access public
|
30 |
+
*
|
31 |
+
* @return string Widget title.
|
32 |
+
*/
|
33 |
+
public function get_title() {
|
34 |
+
return __( 'Info Box', 'happy-elementor-addons' );
|
35 |
+
}
|
36 |
|
37 |
public function get_custom_help_url() {
|
38 |
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/info-box/';
|
39 |
}
|
40 |
|
41 |
+
/**
|
42 |
+
* Get widget icon.
|
43 |
+
*
|
44 |
+
* @since 1.0.0
|
45 |
+
* @access public
|
46 |
+
*
|
47 |
+
* @return string Widget icon.
|
48 |
+
*/
|
49 |
+
public function get_icon() {
|
50 |
+
return 'hm hm-blog-content';
|
51 |
+
}
|
52 |
+
|
53 |
+
public function get_keywords() {
|
54 |
+
return [ 'info', 'blurb', 'box', 'text', 'content' ];
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Register content related controls
|
59 |
+
*/
|
60 |
protected function register_content_controls() {
|
61 |
$this->start_controls_section(
|
62 |
'_section_media',
|
66 |
]
|
67 |
);
|
68 |
|
69 |
+
$this->add_control(
|
70 |
+
'type',
|
71 |
+
[
|
72 |
+
'label' => __( 'Media Type', 'happy-elementor-addons' ),
|
73 |
+
'type' => Controls_Manager::CHOOSE,
|
74 |
+
'label_block' => false,
|
75 |
+
'options' => [
|
76 |
+
'icon' => [
|
77 |
+
'title' => __( 'Icon', 'happy-elementor-addons' ),
|
78 |
+
'icon' => 'fa fa-smile-o',
|
79 |
+
],
|
80 |
+
'image' => [
|
81 |
+
'title' => __( 'Image', 'happy-elementor-addons' ),
|
82 |
+
'icon' => 'fa fa-image',
|
83 |
+
],
|
84 |
+
],
|
85 |
'default' => 'icon',
|
86 |
'toggle' => false,
|
87 |
+
'style_transfer' => true,
|
88 |
+
]
|
89 |
+
);
|
90 |
+
|
91 |
+
$this->add_control(
|
92 |
+
'image',
|
93 |
+
[
|
94 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
95 |
+
'type' => Controls_Manager::MEDIA,
|
96 |
+
'default' => [
|
97 |
+
'url' => Utils::get_placeholder_image_src(),
|
98 |
+
],
|
99 |
+
'condition' => [
|
100 |
+
'type' => 'image'
|
101 |
+
],
|
102 |
+
'dynamic' => [
|
103 |
+
'active' => true,
|
104 |
+
]
|
105 |
+
]
|
106 |
+
);
|
107 |
+
|
108 |
+
$this->add_group_control(
|
109 |
+
Group_Control_Image_Size::get_type(),
|
110 |
+
[
|
111 |
+
'name' => 'thumbnail',
|
112 |
+
'default' => 'medium_large',
|
113 |
+
'separator' => 'none',
|
114 |
+
'exclude' => [
|
115 |
+
'full',
|
116 |
+
'custom',
|
117 |
+
'large',
|
118 |
+
'shop_catalog',
|
119 |
+
'shop_single',
|
120 |
+
'shop_thumbnail'
|
121 |
+
],
|
122 |
+
'condition' => [
|
123 |
+
'type' => 'image'
|
124 |
+
]
|
125 |
+
]
|
126 |
+
);
|
127 |
+
|
128 |
+
if ( ha_is_elementor_version( '<', '2.6.0' ) ) {
|
129 |
+
$this->add_control(
|
130 |
+
'icon',
|
131 |
+
[
|
132 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
133 |
+
'label_block' => true,
|
134 |
+
'type' => Controls_Manager::ICON,
|
135 |
+
'options' => ha_get_happy_icons(),
|
136 |
+
'default' => 'fa fa-smile-o',
|
137 |
+
'condition' => [
|
138 |
+
'type' => 'icon'
|
139 |
+
]
|
140 |
+
]
|
141 |
+
);
|
142 |
+
} else {
|
143 |
+
$this->add_control(
|
144 |
+
'selected_icon',
|
145 |
+
[
|
146 |
+
'type' => Controls_Manager::ICONS,
|
147 |
+
'fa4compatibility' => 'icon',
|
148 |
+
'label_block' => true,
|
149 |
+
'default' => [
|
150 |
+
'value' => 'fas fa-smile-wink',
|
151 |
+
'library' => 'fa-solid',
|
152 |
+
],
|
153 |
+
'condition' => [
|
154 |
+
'type' => 'icon'
|
155 |
+
]
|
156 |
+
]
|
157 |
+
);
|
158 |
+
}
|
159 |
+
|
160 |
+
$this->end_controls_section();
|
161 |
+
|
162 |
+
$this->start_controls_section(
|
163 |
+
'_section_title',
|
164 |
+
[
|
165 |
+
'label' => __( 'Title & Description', 'happy-elementor-addons' ),
|
166 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
167 |
+
]
|
168 |
+
);
|
169 |
+
|
170 |
+
$this->add_control(
|
171 |
+
'title',
|
172 |
+
[
|
173 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
174 |
+
'label_block' => true,
|
175 |
+
'type' => Controls_Manager::TEXT,
|
176 |
+
'default' => __( 'Happy Info Box Title', 'happy-elementor-addons' ),
|
177 |
+
'placeholder' => __( 'Type Info Box Title', 'happy-elementor-addons' ),
|
178 |
+
'dynamic' => [
|
179 |
+
'active' => true,
|
180 |
+
]
|
181 |
+
]
|
182 |
+
);
|
183 |
+
|
184 |
+
$this->add_control(
|
185 |
+
'description',
|
186 |
+
[
|
187 |
+
'label' => __( 'Description', 'happy-elementor-addons' ),
|
188 |
+
'description' => ha_get_allowed_html_desc( 'intermediate' ),
|
189 |
+
'type' => Controls_Manager::TEXTAREA,
|
190 |
+
'default' => __( 'Happy info box description goes here', 'happy-elementor-addons' ),
|
191 |
+
'placeholder' => __( 'Type info box description', 'happy-elementor-addons' ),
|
192 |
+
'rows' => 5,
|
193 |
+
'dynamic' => [
|
194 |
+
'active' => true,
|
195 |
+
]
|
196 |
+
]
|
197 |
+
);
|
198 |
+
|
199 |
+
$this->add_control(
|
200 |
+
'title_tag',
|
201 |
+
[
|
202 |
+
'label' => __( 'Title HTML Tag', 'happy-elementor-addons' ),
|
203 |
+
'type' => Controls_Manager::CHOOSE,
|
204 |
+
'options' => [
|
205 |
+
'h1' => [
|
206 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
207 |
+
'icon' => 'eicon-editor-h1'
|
208 |
+
],
|
209 |
+
'h2' => [
|
210 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
211 |
+
'icon' => 'eicon-editor-h2'
|
212 |
+
],
|
213 |
+
'h3' => [
|
214 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
215 |
+
'icon' => 'eicon-editor-h3'
|
216 |
+
],
|
217 |
+
'h4' => [
|
218 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
219 |
+
'icon' => 'eicon-editor-h4'
|
220 |
+
],
|
221 |
+
'h5' => [
|
222 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
223 |
+
'icon' => 'eicon-editor-h5'
|
224 |
+
],
|
225 |
+
'h6' => [
|
226 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
227 |
+
'icon' => 'eicon-editor-h6'
|
228 |
+
]
|
229 |
+
],
|
230 |
+
'default' => 'h2',
|
231 |
+
'toggle' => false,
|
232 |
+
]
|
233 |
+
);
|
234 |
+
|
235 |
+
$this->add_responsive_control(
|
236 |
+
'align',
|
237 |
+
[
|
238 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
239 |
+
'type' => Controls_Manager::CHOOSE,
|
240 |
+
'options' => [
|
241 |
+
'left' => [
|
242 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
243 |
+
'icon' => 'fa fa-align-left',
|
244 |
+
],
|
245 |
+
'center' => [
|
246 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
247 |
+
'icon' => 'fa fa-align-center',
|
248 |
+
],
|
249 |
+
'right' => [
|
250 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
251 |
+
'icon' => 'fa fa-align-right',
|
252 |
+
],
|
253 |
+
],
|
254 |
+
'toggle' => true,
|
255 |
+
'selectors' => [
|
256 |
+
'{{WRAPPER}}' => 'text-align: {{VALUE}};'
|
257 |
+
]
|
258 |
+
]
|
259 |
+
);
|
260 |
+
|
261 |
+
$this->end_controls_section();
|
262 |
+
|
263 |
+
$this->start_controls_section(
|
264 |
+
'_section_button',
|
265 |
+
[
|
266 |
+
'label' => __( 'Button', 'happy-elementor-addons' ),
|
267 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
268 |
+
]
|
269 |
+
);
|
270 |
+
|
271 |
+
$this->add_control(
|
272 |
+
'button_text',
|
273 |
+
[
|
274 |
+
'label' => __( 'Text', 'happy-elementor-addons' ),
|
275 |
+
'type' => Controls_Manager::TEXT,
|
276 |
+
'default' => __( 'Button Text', 'happy-elementor-addons' ),
|
277 |
+
'placeholder' => __( 'Type button text here', 'happy-elementor-addons' ),
|
278 |
+
'label_block' => true,
|
279 |
+
'dynamic' => [
|
280 |
+
'active' => true,
|
281 |
+
]
|
282 |
+
]
|
283 |
+
);
|
284 |
+
|
285 |
+
$this->add_control(
|
286 |
+
'button_link',
|
287 |
+
[
|
288 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
289 |
+
'type' => Controls_Manager::URL,
|
290 |
+
'placeholder' => 'https://example.com',
|
291 |
+
'dynamic' => [
|
292 |
+
'active' => true,
|
293 |
+
]
|
294 |
+
]
|
295 |
+
);
|
296 |
+
|
297 |
+
if ( ha_is_elementor_version( '<', '2.6.0' ) ) {
|
298 |
+
$this->add_control(
|
299 |
+
'button_icon',
|
300 |
+
[
|
301 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
302 |
+
'label_block' => true,
|
303 |
+
'type' => Controls_Manager::ICON,
|
304 |
+
'options' => ha_get_happy_icons(),
|
305 |
+
'default' => 'fa fa-angle-right',
|
306 |
+
]
|
307 |
+
);
|
308 |
+
|
309 |
+
$condition = ['button_icon!' => ''];
|
310 |
+
} else {
|
311 |
+
$this->add_control(
|
312 |
+
'button_selected_icon',
|
313 |
+
[
|
314 |
+
'type' => Controls_Manager::ICONS,
|
315 |
+
'fa4compatibility' => 'button_icon',
|
316 |
+
'label_block' => true,
|
317 |
+
]
|
318 |
+
);
|
319 |
+
$condition = ['button_selected_icon[value]!' => ''];
|
320 |
+
}
|
321 |
+
|
322 |
+
$this->add_control(
|
323 |
+
'button_icon_position',
|
324 |
+
[
|
325 |
+
'label' => __( 'Icon Position', 'happy-elementor-addons' ),
|
326 |
+
'type' => Controls_Manager::CHOOSE,
|
327 |
+
'label_block' => false,
|
328 |
+
'options' => [
|
329 |
+
'before' => [
|
330 |
+
'title' => __( 'Before', 'happy-elementor-addons' ),
|
331 |
+
'icon' => 'eicon-h-align-left',
|
332 |
+
],
|
333 |
+
'after' => [
|
334 |
+
'title' => __( 'After', 'happy-elementor-addons' ),
|
335 |
+
'icon' => 'eicon-h-align-right',
|
336 |
+
],
|
337 |
+
],
|
338 |
+
'default' => 'after',
|
339 |
+
'toggle' => false,
|
340 |
+
'condition' => $condition,
|
341 |
+
'style_transfer' => true,
|
342 |
+
]
|
343 |
+
);
|
344 |
+
|
345 |
+
$this->add_control(
|
346 |
+
'button_icon_spacing',
|
347 |
+
[
|
348 |
+
'label' => __( 'Icon Spacing', 'happy-elementor-addons' ),
|
349 |
+
'type' => Controls_Manager::SLIDER,
|
350 |
+
'default' => [
|
351 |
+
'size' => 10
|
352 |
+
],
|
353 |
+
'condition' => $condition,
|
354 |
+
'selectors' => [
|
355 |
+
'{{WRAPPER}} .ha-btn--icon-before .ha-btn-icon' => 'margin-right: {{SIZE}}{{UNIT}};',
|
356 |
+
'{{WRAPPER}} .ha-btn--icon-after .ha-btn-icon' => 'margin-left: {{SIZE}}{{UNIT}};',
|
357 |
+
],
|
358 |
+
]
|
359 |
+
);
|
360 |
+
|
361 |
+
$this->end_controls_section();
|
362 |
+
}
|
363 |
+
|
364 |
+
/**
|
365 |
+
* Register styles related controls
|
366 |
+
*/
|
367 |
+
protected function register_style_controls() {
|
368 |
+
$this->start_controls_section(
|
369 |
+
'_section_media_style',
|
370 |
+
[
|
371 |
+
'label' => __( 'Icon / Image', 'happy-elementor-addons' ),
|
372 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
373 |
+
]
|
374 |
+
);
|
375 |
+
|
376 |
+
$this->add_responsive_control(
|
377 |
+
'icon_size',
|
378 |
+
[
|
379 |
+
'label' => __( 'Size', 'happy-elementor-addons' ),
|
380 |
+
'type' => Controls_Manager::SLIDER,
|
381 |
+
'size_units' => [ 'px' ],
|
382 |
+
'range' => [
|
383 |
+
'px' => [
|
384 |
+
'min' => 6,
|
385 |
+
'max' => 300,
|
386 |
+
],
|
387 |
+
],
|
388 |
+
'selectors' => [
|
389 |
+
'{{WRAPPER}} .ha-infobox-figure--icon' => 'font-size: {{SIZE}}{{UNIT}};',
|
390 |
+
],
|
391 |
+
'condition' => [
|
392 |
+
'type' => 'icon'
|
393 |
+
]
|
394 |
+
]
|
395 |
+
);
|
396 |
+
|
397 |
+
$this->add_responsive_control(
|
398 |
+
'image_width',
|
399 |
+
[
|
400 |
+
'label' => __( 'Width', 'happy-elementor-addons' ),
|
401 |
+
'type' => Controls_Manager::SLIDER,
|
402 |
+
'size_units' => [ 'px', '%' ],
|
403 |
+
'range' => [
|
404 |
+
'px' => [
|
405 |
+
'min' => 1,
|
406 |
+
'max' => 400,
|
407 |
+
],
|
408 |
+
'%' => [
|
409 |
+
'min' => 1,
|
410 |
+
'max' => 100,
|
411 |
+
],
|
412 |
+
],
|
413 |
+
'selectors' => [
|
414 |
+
'{{WRAPPER}} .ha-infobox-figure--image' => 'width: {{SIZE}}{{UNIT}};',
|
415 |
+
],
|
416 |
+
'condition' => [
|
417 |
+
'type' => 'image'
|
418 |
+
]
|
419 |
+
]
|
420 |
+
);
|
421 |
+
|
422 |
+
$this->add_responsive_control(
|
423 |
+
'image_height',
|
424 |
+
[
|
425 |
+
'label' => __( 'Height', 'happy-elementor-addons' ),
|
426 |
+
'type' => Controls_Manager::SLIDER,
|
427 |
+
'size_units' => [ 'px' ],
|
428 |
+
'range' => [
|
429 |
+
'px' => [
|
430 |
+
'min' => 1,
|
431 |
+
'max' => 400,
|
432 |
+
],
|
433 |
+
],
|
434 |
+
'selectors' => [
|
435 |
+
'{{WRAPPER}} .ha-infobox-figure--image' => 'height: {{SIZE}}{{UNIT}};',
|
436 |
+
],
|
437 |
+
'condition' => [
|
438 |
+
'type' => 'image'
|
439 |
+
]
|
440 |
+
]
|
441 |
+
);
|
442 |
+
|
443 |
+
$this->add_control(
|
444 |
+
'offset_toggle',
|
445 |
+
[
|
446 |
+
'label' => __( 'Offset', 'happy-elementor-addons' ),
|
447 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
448 |
+
'label_off' => __( 'None', 'happy-elementor-addons' ),
|
449 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
450 |
+
'return_value' => 'yes',
|
451 |
+
]
|
452 |
+
);
|
453 |
+
|
454 |
+
$this->start_popover();
|
455 |
+
|
456 |
+
$this->add_responsive_control(
|
457 |
+
'media_offset_x',
|
458 |
+
[
|
459 |
+
'label' => __( 'Offset Left', 'happy-elementor-addons' ),
|
460 |
+
'type' => Controls_Manager::SLIDER,
|
461 |
+
'size_units' => ['px'],
|
462 |
+
'condition' => [
|
463 |
+
'offset_toggle' => 'yes'
|
464 |
+
],
|
465 |
+
'range' => [
|
466 |
+
'px' => [
|
467 |
+
'min' => -1000,
|
468 |
+
'max' => 1000,
|
469 |
+
],
|
470 |
+
],
|
471 |
+
'render_type' => 'ui',
|
472 |
+
]
|
473 |
+
);
|
474 |
+
|
475 |
+
$this->add_responsive_control(
|
476 |
+
'media_offset_y',
|
477 |
+
[
|
478 |
+
'label' => __( 'Offset Top', 'happy-elementor-addons' ),
|
479 |
+
'type' => Controls_Manager::SLIDER,
|
480 |
+
'size_units' => ['px'],
|
481 |
+
'condition' => [
|
482 |
+
'offset_toggle' => 'yes'
|
483 |
+
],
|
484 |
+
'range' => [
|
485 |
+
'px' => [
|
486 |
+
'min' => -1000,
|
487 |
+
'max' => 1000,
|
488 |
+
],
|
489 |
+
],
|
490 |
+
'selectors' => [
|
491 |
+
// Media translate styles
|
492 |
+
'(desktop){{WRAPPER}} .ha-infobox-figure' => '-ms-transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}});',
|
493 |
+
'(tablet){{WRAPPER}} .ha-infobox-figure' => '-ms-transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}});',
|
494 |
+
'(mobile){{WRAPPER}} .ha-infobox-figure' => '-ms-transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}});',
|
495 |
+
// Body text styles
|
496 |
+
'{{WRAPPER}} .ha-infobox-body' => 'margin-top: {{SIZE}}{{UNIT}};',
|
497 |
+
],
|
498 |
+
]
|
499 |
+
);
|
500 |
+
$this->end_popover();
|
501 |
+
|
502 |
+
$this->add_responsive_control(
|
503 |
+
'media_spacing',
|
504 |
+
[
|
505 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
506 |
+
'type' => Controls_Manager::SLIDER,
|
507 |
+
'size_units' => ['px'],
|
508 |
+
'selectors' => [
|
509 |
+
'{{WRAPPER}} .ha-infobox-figure' => 'margin-bottom: {{SIZE}}{{UNIT}} !important;',
|
510 |
+
],
|
511 |
+
]
|
512 |
+
);
|
513 |
+
|
514 |
+
$this->add_responsive_control(
|
515 |
+
'media_padding',
|
516 |
+
[
|
517 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
518 |
+
'type' => Controls_Manager::SLIDER,
|
519 |
+
'size_units' => ['px'],
|
520 |
+
'selectors' => [
|
521 |
+
'{{WRAPPER}} .ha-infobox-figure--image img, {{WRAPPER}} .ha-infobox-figure--icon' => 'padding: {{SIZE}}{{UNIT}};',
|
522 |
+
],
|
523 |
+
]
|
524 |
+
);
|
525 |
+
|
526 |
+
$this->add_group_control(
|
527 |
+
Group_Control_Border::get_type(),
|
528 |
+
[
|
529 |
+
'name' => 'media_border',
|
530 |
+
'selector' => '{{WRAPPER}} .ha-infobox-figure--image img, {{WRAPPER}} .ha-infobox-figure--icon',
|
531 |
+
]
|
532 |
+
);
|
533 |
+
|
534 |
+
$this->add_responsive_control(
|
535 |
+
'media_border_radius',
|
536 |
+
[
|
537 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
538 |
+
'type' => Controls_Manager::DIMENSIONS,
|
539 |
+
'size_units' => [ 'px', '%' ],
|
540 |
+
'selectors' => [
|
541 |
+
'{{WRAPPER}} .ha-infobox-figure--image img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
542 |
+
'{{WRAPPER}} .ha-infobox-figure--icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
543 |
+
],
|
544 |
+
]
|
545 |
+
);
|
546 |
+
|
547 |
+
$this->add_group_control(
|
548 |
+
Group_Control_Box_Shadow::get_type(),
|
549 |
+
[
|
550 |
+
'name' => 'media_box_shadow',
|
551 |
+
'exclude' => [
|
552 |
+
'box_shadow_position',
|
553 |
+
],
|
554 |
+
'selector' => '{{WRAPPER}} .ha-infobox-figure--image img, {{WRAPPER}} .ha-infobox-figure--icon'
|
555 |
+
]
|
556 |
+
);
|
557 |
+
|
558 |
+
$this->add_control(
|
559 |
+
'icon_color',
|
560 |
+
[
|
561 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
562 |
+
'type' => Controls_Manager::COLOR,
|
563 |
+
'selectors' => [
|
564 |
+
'{{WRAPPER}} .ha-infobox-figure--icon' => 'color: {{VALUE}}',
|
565 |
+
],
|
566 |
+
'condition' => [
|
567 |
+
'type' => 'icon'
|
568 |
+
]
|
569 |
+
]
|
570 |
+
);
|
571 |
+
|
572 |
+
$this->add_control(
|
573 |
+
'icon_bg_color',
|
574 |
+
[
|
575 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
576 |
+
'type' => Controls_Manager::COLOR,
|
577 |
+
'selectors' => [
|
578 |
+
'{{WRAPPER}} .ha-infobox-figure--icon' => 'background-color: {{VALUE}};',
|
579 |
+
],
|
580 |
+
'condition' => [
|
581 |
+
'type' => 'icon'
|
582 |
+
]
|
583 |
+
]
|
584 |
+
);
|
585 |
+
|
586 |
+
$this->add_control(
|
587 |
+
'icon_bg_rotate',
|
588 |
+
[
|
589 |
+
'label' => __( 'Background Rotate', 'happy-elementor-addons' ),
|
590 |
+
'type' => Controls_Manager::SLIDER,
|
591 |
+
'size_units' => [ 'deg' ],
|
592 |
+
'default' => [
|
593 |
+
'unit' => 'deg',
|
594 |
+
],
|
595 |
+
'range' => [
|
596 |
+
'deg' => [
|
597 |
+
'min' => 0,
|
598 |
+
'max' => 360,
|
599 |
+
],
|
600 |
+
],
|
601 |
+
'selectors' => [
|
602 |
+
// Icon rotate styles
|
603 |
+
'{{WRAPPER}} .ha-infobox-figure--icon i, {{WRAPPER}} .ha-infobox-figure--icon svg' => '-ms-transform: rotate(-{{SIZE}}{{UNIT}}); -webkit-transform: rotate(-{{SIZE}}{{UNIT}}); transform: rotate(-{{SIZE}}{{UNIT}});',
|
604 |
+
// Icon box transform styles
|
605 |
+
'(desktop){{WRAPPER}} .ha-infobox-figure--icon' => '-ms-transform: translate({{media_offset_x.SIZE || 0}}px, {{media_offset_y.SIZE || 0}}px) rotate({{SIZE}}deg); -webkit-transform: translate({{media_offset_x.SIZE || 0}}px, {{media_offset_y.SIZE || 0}}px) rotate({{SIZE}}deg); transform: translate({{media_offset_x.SIZE || 0}}px, {{media_offset_y.SIZE || 0}}px) rotate({{SIZE}}deg);',
|
606 |
+
'(tablet){{WRAPPER}} .ha-infobox-figure--icon' => '-ms-transform: translate({{media_offset_x_tablet.SIZE || 0}}px, {{media_offset_y_tablet.SIZE || 0}}px) rotate({{SIZE}}deg); -webkit-transform: translate({{media_offset_x_tablet.SIZE || 0}}px, {{media_offset_y_tablet.SIZE || 0}}px) rotate({{SIZE}}deg); transform: translate({{media_offset_x_tablet.SIZE || 0}}px, {{media_offset_y_tablet.SIZE || 0}}px) rotate({{SIZE}}deg);',
|
607 |
+
'(mobile){{WRAPPER}} .ha-infobox-figure--icon' => '-ms-transform: translate({{media_offset_x_mobile.SIZE || 0}}px, {{media_offset_y_mobile.SIZE || 0}}px) rotate({{SIZE}}deg); -webkit-transform: translate({{media_offset_x_mobile.SIZE || 0}}px, {{media_offset_y_mobile.SIZE || 0}}px) rotate({{SIZE}}deg); transform: translate({{media_offset_x_mobile.SIZE || 0}}px, {{media_offset_y_mobile.SIZE || 0}}px) rotate({{SIZE}}deg);',
|
608 |
+
],
|
609 |
+
]
|
610 |
+
);
|
611 |
+
|
612 |
+
$this->end_controls_section();
|
613 |
+
|
614 |
+
$this->start_controls_section(
|
615 |
+
'_section_title_style',
|
616 |
+
[
|
617 |
+
'label' => __( 'Title & Description', 'happy-elementor-addons' ),
|
618 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
619 |
+
]
|
620 |
+
);
|
621 |
+
|
622 |
+
$this->add_responsive_control(
|
623 |
+
'content_padding',
|
624 |
+
[
|
625 |
+
'label' => __( 'Content Box Padding', 'happy-elementor-addons' ),
|
626 |
+
'type' => Controls_Manager::DIMENSIONS,
|
627 |
+
'size_units' => [ 'px', 'em', '%' ],
|
628 |
+
'selectors' => [
|
629 |
+
'{{WRAPPER}} .ha-infobox-body' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
630 |
+
],
|
631 |
+
]
|
632 |
+
);
|
633 |
+
|
634 |
+
$this->add_control(
|
635 |
+
'title_heading',
|
636 |
+
[
|
637 |
+
'type' => Controls_Manager::HEADING,
|
638 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
639 |
+
'separator' => 'before'
|
640 |
+
]
|
641 |
+
);
|
642 |
+
|
643 |
+
$this->add_responsive_control(
|
644 |
+
'title_spacing',
|
645 |
+
[
|
646 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
647 |
+
'type' => Controls_Manager::SLIDER,
|
648 |
+
'size_units' => ['px'],
|
649 |
+
'selectors' => [
|
650 |
+
'{{WRAPPER}} .ha-infobox-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
651 |
+
],
|
652 |
+
]
|
653 |
+
);
|
654 |
+
|
655 |
+
$this->add_control(
|
656 |
+
'title_color',
|
657 |
+
[
|
658 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
659 |
+
'type' => Controls_Manager::COLOR,
|
660 |
+
'selectors' => [
|
661 |
+
'{{WRAPPER}} .ha-infobox-title' => 'color: {{VALUE}};',
|
662 |
+
],
|
663 |
+
]
|
664 |
+
);
|
665 |
+
|
666 |
+
$this->add_group_control(
|
667 |
+
Group_Control_Typography::get_type(),
|
668 |
+
[
|
669 |
+
'name' => 'title_typography',
|
670 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
671 |
+
'selector' => '{{WRAPPER}} .ha-infobox-title',
|
672 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_2
|
673 |
+
]
|
674 |
+
);
|
675 |
+
|
676 |
+
$this->add_control(
|
677 |
+
'description_heading',
|
678 |
+
[
|
679 |
+
'type' => Controls_Manager::HEADING,
|
680 |
+
'label' => __( 'Description', 'happy-elementor-addons' ),
|
681 |
+
'separator' => 'before'
|
682 |
+
]
|
683 |
+
);
|
684 |
+
|
685 |
+
$this->add_responsive_control(
|
686 |
+
'description_spacing',
|
687 |
+
[
|
688 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
689 |
+
'type' => Controls_Manager::SLIDER,
|
690 |
+
'size_units' => ['px'],
|
691 |
+
'selectors' => [
|
692 |
+
'{{WRAPPER}} .ha-infobox-text' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
693 |
+
],
|
694 |
+
]
|
695 |
+
);
|
696 |
+
|
697 |
+
$this->add_control(
|
698 |
+
'description_color',
|
699 |
+
[
|
700 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
701 |
+
'type' => Controls_Manager::COLOR,
|
702 |
+
'selectors' => [
|
703 |
+
'{{WRAPPER}} .ha-infobox-text' => 'color: {{VALUE}};',
|
704 |
+
],
|
705 |
+
]
|
706 |
+
);
|
707 |
+
|
708 |
+
$this->add_group_control(
|
709 |
+
Group_Control_Typography::get_type(),
|
710 |
+
[
|
711 |
+
'name' => 'description_typography',
|
712 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
713 |
+
'selector' => '{{WRAPPER}} .ha-infobox-text',
|
714 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
715 |
+
]
|
716 |
+
);
|
717 |
+
|
718 |
+
$this->end_controls_section();
|
719 |
+
|
720 |
+
$this->start_controls_section(
|
721 |
+
'_section_style_button',
|
722 |
+
[
|
723 |
+
'label' => __( 'Button', 'happy-elementor-addons' ),
|
724 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
725 |
+
]
|
726 |
+
);
|
727 |
+
|
728 |
+
$this->add_responsive_control(
|
729 |
+
'link_padding',
|
730 |
+
[
|
731 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
732 |
+
'type' => Controls_Manager::DIMENSIONS,
|
733 |
+
'size_units' => [ 'px', 'em', '%' ],
|
734 |
+
'selectors' => [
|
735 |
+
'{{WRAPPER}} .ha-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
736 |
+
],
|
737 |
+
]
|
738 |
+
);
|
739 |
+
|
740 |
+
$this->add_group_control(
|
741 |
+
Group_Control_Typography::get_type(),
|
742 |
+
[
|
743 |
+
'name' => 'btn_typography',
|
744 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
745 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
746 |
+
]
|
747 |
+
);
|
748 |
+
|
749 |
+
$this->add_group_control(
|
750 |
+
Group_Control_Border::get_type(),
|
751 |
+
[
|
752 |
+
'name' => 'button_border',
|
753 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
754 |
+
]
|
755 |
+
);
|
756 |
+
|
757 |
+
$this->add_control(
|
758 |
+
'button_border_radius',
|
759 |
+
[
|
760 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
761 |
+
'type' => Controls_Manager::DIMENSIONS,
|
762 |
+
'size_units' => [ 'px', '%' ],
|
763 |
+
'selectors' => [
|
764 |
+
'{{WRAPPER}} .ha-btn' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
765 |
+
],
|
766 |
+
]
|
767 |
+
);
|
768 |
+
|
769 |
+
$this->add_group_control(
|
770 |
+
Group_Control_Box_Shadow::get_type(),
|
771 |
+
[
|
772 |
+
'name' => 'button_box_shadow',
|
773 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
774 |
+
]
|
775 |
+
);
|
776 |
+
|
777 |
+
$this->add_control(
|
778 |
+
'hr',
|
779 |
+
[
|
780 |
+
'type' => Controls_Manager::DIVIDER,
|
781 |
+
'style' => 'thick',
|
782 |
+
]
|
783 |
+
);
|
784 |
+
|
785 |
+
$this->start_controls_tabs( '_tabs_button' );
|
786 |
+
|
787 |
+
$this->start_controls_tab(
|
788 |
+
'_tab_button_normal',
|
789 |
+
[
|
790 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
791 |
+
]
|
792 |
+
);
|
793 |
+
|
794 |
+
$this->add_control(
|
795 |
+
'link_color',
|
796 |
+
[
|
797 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
798 |
+
'type' => Controls_Manager::COLOR,
|
799 |
+
'default' => '',
|
800 |
+
'selectors' => [
|
801 |
+
'{{WRAPPER}} .ha-btn' => 'color: {{VALUE}};',
|
802 |
+
],
|
803 |
+
]
|
804 |
+
);
|
805 |
+
|
806 |
+
$this->add_control(
|
807 |
+
'button_bg_color',
|
808 |
+
[
|
809 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
810 |
+
'type' => Controls_Manager::COLOR,
|
811 |
+
'selectors' => [
|
812 |
+
'{{WRAPPER}} .ha-btn' => 'background-color: {{VALUE}};',
|
813 |
+
],
|
814 |
+
]
|
815 |
+
);
|
816 |
+
|
817 |
+
$this->add_control(
|
818 |
+
'button_icon_translate',
|
819 |
+
[
|
820 |
+
'label' => __( 'Icon Translate X', 'happy-elementor-addons' ),
|
821 |
+
'type' => Controls_Manager::SLIDER,
|
822 |
+
'range' => [
|
823 |
+
'px' => [
|
824 |
+
'min' => -100,
|
825 |
+
'max' => 100,
|
826 |
+
],
|
827 |
+
],
|
828 |
+
'selectors' => [
|
829 |
+
'{{WRAPPER}} .ha-btn--icon-before .ha-btn-icon' => '-webkit-transform: translateX(calc(-1 * {{SIZE}}{{UNIT}})); transform: translateX(calc(-1 * {{SIZE}}{{UNIT}}));',
|
830 |
+
'{{WRAPPER}} .ha-btn--icon-after .ha-btn-icon' => '-webkit-transform: translateX({{SIZE}}{{UNIT}}); transform: translateX({{SIZE}}{{UNIT}});',
|
831 |
+
],
|
832 |
+
]
|
833 |
+
);
|
834 |
+
|
835 |
+
$this->end_controls_tab();
|
836 |
+
|
837 |
+
$this->start_controls_tab(
|
838 |
+
'_tab_button_hover',
|
839 |
+
[
|
840 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
841 |
+
]
|
842 |
+
);
|
843 |
+
|
844 |
+
$this->add_control(
|
845 |
+
'link_hover_color',
|
846 |
+
[
|
847 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
848 |
+
'type' => Controls_Manager::COLOR,
|
849 |
+
'selectors' => [
|
850 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'color: {{VALUE}};',
|
851 |
+
],
|
852 |
+
]
|
853 |
+
);
|
854 |
+
|
855 |
+
$this->add_control(
|
856 |
+
'button_hover_bg_color',
|
857 |
+
[
|
858 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
859 |
+
'type' => Controls_Manager::COLOR,
|
860 |
+
'selectors' => [
|
861 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'background-color: {{VALUE}};',
|
862 |
+
],
|
863 |
+
]
|
864 |
+
);
|
865 |
+
|
866 |
+
$this->add_control(
|
867 |
+
'button_hover_border_color',
|
868 |
+
[
|
869 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
870 |
+
'type' => Controls_Manager::COLOR,
|
871 |
+
'condition' => [
|
872 |
+
'button_border_border!' => '',
|
873 |
+
],
|
874 |
+
'selectors' => [
|
875 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'border-color: {{VALUE}};',
|
876 |
+
],
|
877 |
+
]
|
878 |
+
);
|
879 |
+
|
880 |
+
$this->add_control(
|
881 |
+
'button_hover_icon_translate',
|
882 |
+
[
|
883 |
+
'label' => __( 'Icon Translate X', 'happy-elementor-addons' ),
|
884 |
+
'type' => Controls_Manager::SLIDER,
|
885 |
+
'default' => [
|
886 |
+
'size' => 10
|
887 |
+
],
|
888 |
+
'range' => [
|
889 |
+
'px' => [
|
890 |
+
'min' => -100,
|
891 |
+
'max' => 100,
|
892 |
+
],
|
893 |
+
],
|
894 |
+
'selectors' => [
|
895 |
+
'{{WRAPPER}} .ha-btn.ha-btn--icon-before:hover .ha-btn-icon' => '-webkit-transform: translateX(calc(-1 * {{SIZE}}{{UNIT}})); transform: translateX(calc(-1 * {{SIZE}}{{UNIT}}));',
|
896 |
+
'{{WRAPPER}} .ha-btn.ha-btn--icon-after:hover .ha-btn-icon' => '-webkit-transform: translateX({{SIZE}}{{UNIT}}); transform: translateX({{SIZE}}{{UNIT}});',
|
897 |
+
],
|
898 |
+
]
|
899 |
+
);
|
900 |
+
|
901 |
+
$this->end_controls_tab();
|
902 |
+
$this->end_controls_tabs();
|
903 |
+
|
904 |
+
$this->end_controls_section();
|
905 |
+
}
|
906 |
|
907 |
protected function render() {
|
908 |
+
$settings = $this->get_settings_for_display();
|
909 |
+
|
910 |
+
$this->add_inline_editing_attributes( 'title', 'basic' );
|
911 |
+
$this->add_render_attribute( 'title', 'class', 'ha-infobox-title' );
|
912 |
+
|
913 |
+
$this->add_inline_editing_attributes( 'description', 'intermediate' );
|
914 |
+
$this->add_render_attribute( 'description', 'class', 'ha-infobox-text' );
|
915 |
+
?>
|
916 |
+
|
917 |
+
<?php if ( $settings['type'] === 'image' && ( $settings['image']['url'] || $settings['image']['id'] ) ) :
|
918 |
+
$settings['hover_animation'] = 'disable-animation'; // hack to prevent image hover animation
|
919 |
+
?>
|
920 |
+
<figure class="ha-infobox-figure ha-infobox-figure--image">
|
921 |
+
<?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'thumbnail', 'image' ); ?>
|
922 |
+
</figure>
|
923 |
+
<?php elseif ( ! empty( $settings['icon'] ) || ! empty( $settings['selected_icon']['value'] ) ) : ?>
|
924 |
+
<figure class="ha-infobox-figure ha-infobox-figure--icon">
|
925 |
+
<?php ha_render_icon( $settings, 'icon', 'selected_icon' ); ?>
|
926 |
+
</figure>
|
927 |
+
<?php endif; ?>
|
928 |
+
|
929 |
+
<div class="ha-infobox-body">
|
930 |
+
<?php
|
931 |
+
if ( $settings['title' ] ) :
|
932 |
+
printf( '<%1$s %2$s>%3$s</%1$s>',
|
933 |
+
tag_escape( $settings['title_tag'] ),
|
934 |
+
$this->get_render_attribute_string( 'title' ),
|
935 |
+
ha_kses_basic( $settings['title' ] )
|
936 |
+
);
|
937 |
+
endif;
|
938 |
+
?>
|
939 |
+
|
940 |
+
<?php if ( $settings['description'] ) : ?>
|
941 |
+
<div <?php $this->print_render_attribute_string( 'description' ); ?>>
|
942 |
+
<p><?php echo ha_kses_intermediate( $settings['description'] ); ?></p>
|
943 |
+
</div>
|
944 |
+
<?php endif; ?>
|
945 |
+
|
946 |
+
<?php $this->render_icon_button(); ?>
|
947 |
+
</div>
|
948 |
+
<?php
|
949 |
+
}
|
950 |
+
|
951 |
+
public function _content_template() {
|
952 |
+
?>
|
953 |
+
<#
|
954 |
+
var iconHTML, migrated;
|
955 |
+
|
956 |
+
if ( ha.hasIconLibrary() ) {
|
957 |
+
iconHTML = elementor.helpers.renderIcon( view, settings.selected_icon, { 'aria-hidden': true }, 'i' , 'object' ),
|
958 |
+
migrated = elementor.helpers.isIconMigrated( settings, 'selected_icon' );
|
959 |
+
}
|
960 |
+
|
961 |
+
view.addInlineEditingAttributes( 'title', 'basic' );
|
962 |
+
view.addRenderAttribute( 'title', 'class', 'ha-infobox-title' );
|
963 |
+
|
964 |
+
view.addInlineEditingAttributes( 'description', 'intermediate' );
|
965 |
+
view.addRenderAttribute( 'description', 'class', 'ha-infobox-text' );
|
966 |
+
|
967 |
+
if ( settings.type === 'image' ) {
|
968 |
+
if ( settings.image.url ) {
|
969 |
+
var image = {
|
970 |
+
id: settings.image.id,
|
971 |
+
url: settings.image.url,
|
972 |
+
size: settings.thumbnail_size,
|
973 |
+
model: view.getEditModel()
|
974 |
+
};
|
975 |
+
|
976 |
+
var image_url = elementor.imagesManager.getImageUrl( image );
|
977 |
+
#>
|
978 |
+
<figure class="ha-infobox-figure ha-infobox-figure--image">
|
979 |
+
<img src="{{ image_url }}">
|
980 |
+
</figure>
|
981 |
+
<# }
|
982 |
+
} else if ( settings.icon || settings.selected_icon.value ) { #>
|
983 |
+
<figure class="ha-infobox-figure ha-infobox-figure--icon">
|
984 |
+
<# if ( ha.hasIconLibrary() && iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #>
|
985 |
+
{{{ iconHTML.value }}}
|
986 |
+
<# } else { #>
|
987 |
+
<i class="{{ settings.icon }}" aria-hidden="true"></i>
|
988 |
+
<# } #>
|
989 |
+
</figure>
|
990 |
+
<# } #>
|
991 |
+
|
992 |
+
<div class="ha-infobox-body">
|
993 |
+
<# if (settings.title) { #>
|
994 |
+
<{{ settings.title_tag }} {{{ view.getRenderAttributeString( 'title' ) }}}>{{ settings.title }}</{{ settings.title_tag }}>
|
995 |
+
<# } #>
|
996 |
+
|
997 |
+
<# if (settings.description) { #>
|
998 |
+
<div {{{ view.getRenderAttributeString( 'description' ) }}}>
|
999 |
+
<p>{{{ settings.description }}}</p>
|
1000 |
+
</div>
|
1001 |
+
<# } #>
|
1002 |
+
|
1003 |
+
<# print( ha.getButtonWithIcon(view) ); #>
|
1004 |
+
</div>
|
1005 |
+
<?php
|
1006 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1007 |
}
|
widgets/member/widget.php
CHANGED
@@ -16,90 +16,93 @@ use Elementor\Group_Control_Border;
|
|
16 |
use Elementor\Group_Control_Box_Shadow;
|
17 |
use Elementor\Group_Control_Image_Size;
|
18 |
use Elementor\Group_Control_Typography;
|
|
|
19 |
|
20 |
defined( 'ABSPATH' ) || die();
|
21 |
|
22 |
class Member extends Base {
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
|
|
|
|
103 |
protected function register_content_controls() {
|
104 |
$this->start_controls_section(
|
105 |
'_section_info',
|
@@ -109,897 +112,1211 @@ class Member extends Base {
|
|
109 |
]
|
110 |
);
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
873 |
|
874 |
protected function render() {
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1005 |
}
|
16 |
use Elementor\Group_Control_Box_Shadow;
|
17 |
use Elementor\Group_Control_Image_Size;
|
18 |
use Elementor\Group_Control_Typography;
|
19 |
+
use Happy_Addons\Elementor\Traits\Button_Renderer;
|
20 |
|
21 |
defined( 'ABSPATH' ) || die();
|
22 |
|
23 |
class Member extends Base {
|
24 |
|
25 |
+
use Button_Renderer;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Get widget title.
|
29 |
+
*
|
30 |
+
* @since 1.0.0
|
31 |
+
* @access public
|
32 |
+
*
|
33 |
+
* @return string Widget title.
|
34 |
+
*/
|
35 |
+
public function get_title() {
|
36 |
+
return __( 'Team Member', 'happy-elementor-addons' );
|
37 |
+
}
|
38 |
+
|
39 |
+
public function get_custom_help_url() {
|
40 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/team-member/';
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Get widget icon.
|
45 |
+
*
|
46 |
+
* @since 1.0.0
|
47 |
+
* @access public
|
48 |
+
*
|
49 |
+
* @return string Widget icon.
|
50 |
+
*/
|
51 |
+
public function get_icon() {
|
52 |
+
return 'hm hm-team-member';
|
53 |
+
}
|
54 |
+
|
55 |
+
public function get_keywords() {
|
56 |
+
return [ 'team', 'member', 'crew', 'staff', 'person' ];
|
57 |
+
}
|
58 |
+
|
59 |
+
protected static function get_profile_names() {
|
60 |
+
return [
|
61 |
+
'500px' => __( '500px', 'happy-elementor-addons' ),
|
62 |
+
'apple' => __( 'Apple', 'happy-elementor-addons' ),
|
63 |
+
'behance' => __( 'Behance', 'happy-elementor-addons' ),
|
64 |
+
'bitbucket' => __( 'BitBucket', 'happy-elementor-addons' ),
|
65 |
+
'codepen' => __( 'CodePen', 'happy-elementor-addons' ),
|
66 |
+
'delicious' => __( 'Delicious', 'happy-elementor-addons' ),
|
67 |
+
'deviantart' => __( 'DeviantArt', 'happy-elementor-addons' ),
|
68 |
+
'digg' => __( 'Digg', 'happy-elementor-addons' ),
|
69 |
+
'dribbble' => __( 'Dribbble', 'happy-elementor-addons' ),
|
70 |
+
'email' => __( 'Email', 'happy-elementor-addons' ),
|
71 |
+
'facebook' => __( 'Facebook', 'happy-elementor-addons' ),
|
72 |
+
'flickr' => __( 'Flicker', 'happy-elementor-addons' ),
|
73 |
+
'foursquare' => __( 'FourSquare', 'happy-elementor-addons' ),
|
74 |
+
'github' => __( 'Github', 'happy-elementor-addons' ),
|
75 |
+
'houzz' => __( 'Houzz', 'happy-elementor-addons' ),
|
76 |
+
'instagram' => __( 'Instagram', 'happy-elementor-addons' ),
|
77 |
+
'jsfiddle' => __( 'JS Fiddle', 'happy-elementor-addons' ),
|
78 |
+
'linkedin' => __( 'LinkedIn', 'happy-elementor-addons' ),
|
79 |
+
'medium' => __( 'Medium', 'happy-elementor-addons' ),
|
80 |
+
'pinterest' => __( 'Pinterest', 'happy-elementor-addons' ),
|
81 |
+
'product-hunt' => __( 'Product Hunt', 'happy-elementor-addons' ),
|
82 |
+
'reddit' => __( 'Reddit', 'happy-elementor-addons' ),
|
83 |
+
'slideshare' => __( 'Slide Share', 'happy-elementor-addons' ),
|
84 |
+
'snapchat' => __( 'Snapchat', 'happy-elementor-addons' ),
|
85 |
+
'soundcloud' => __( 'SoundCloud', 'happy-elementor-addons' ),
|
86 |
+
'spotify' => __( 'Spotify', 'happy-elementor-addons' ),
|
87 |
+
'stack-overflow' => __( 'StackOverflow', 'happy-elementor-addons' ),
|
88 |
+
'tripadvisor' => __( 'TripAdvisor', 'happy-elementor-addons' ),
|
89 |
+
'tumblr' => __( 'Tumblr', 'happy-elementor-addons' ),
|
90 |
+
'twitch' => __( 'Twitch', 'happy-elementor-addons' ),
|
91 |
+
'twitter' => __( 'Twitter', 'happy-elementor-addons' ),
|
92 |
+
'vimeo' => __( 'Vimeo', 'happy-elementor-addons' ),
|
93 |
+
'vk' => __( 'VK', 'happy-elementor-addons' ),
|
94 |
+
'website' => __( 'Website', 'happy-elementor-addons' ),
|
95 |
+
'whatsapp' => __( 'WhatsApp', 'happy-elementor-addons' ),
|
96 |
+
'wordpress' => __( 'WordPress', 'happy-elementor-addons' ),
|
97 |
+
'xing' => __( 'Xing', 'happy-elementor-addons' ),
|
98 |
+
'yelp' => __( 'Yelp', 'happy-elementor-addons' ),
|
99 |
+
'youtube' => __( 'YouTube', 'happy-elementor-addons' ),
|
100 |
+
];
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Register content related controls
|
105 |
+
*/
|
106 |
protected function register_content_controls() {
|
107 |
$this->start_controls_section(
|
108 |
'_section_info',
|
112 |
]
|
113 |
);
|
114 |
|
115 |
+
$this->add_control(
|
116 |
+
'image',
|
117 |
+
[
|
118 |
+
'label' => __( 'Photo', 'happy-elementor-addons' ),
|
119 |
+
'type' => Controls_Manager::MEDIA,
|
120 |
+
'default' => [
|
121 |
+
'url' => Utils::get_placeholder_image_src(),
|
122 |
+
],
|
123 |
+
'dynamic' => [
|
124 |
+
'active' => true,
|
125 |
+
]
|
126 |
+
]
|
127 |
+
);
|
128 |
+
|
129 |
+
$this->add_group_control(
|
130 |
+
Group_Control_Image_Size::get_type(),
|
131 |
+
[
|
132 |
+
'name' => 'thumbnail',
|
133 |
+
'default' => 'large',
|
134 |
+
'separator' => 'none',
|
135 |
+
]
|
136 |
+
);
|
137 |
+
|
138 |
+
$this->add_control(
|
139 |
+
'title',
|
140 |
+
[
|
141 |
+
'label' => __( 'Name', 'happy-elementor-addons' ),
|
142 |
+
'label_block' => true,
|
143 |
+
'type' => Controls_Manager::TEXT,
|
144 |
+
'default' => 'Happy Member Name',
|
145 |
+
'placeholder' => __( 'Type Member Name', 'happy-elementor-addons' ),
|
146 |
+
'separator' => 'before',
|
147 |
+
'dynamic' => [
|
148 |
+
'active' => true,
|
149 |
+
]
|
150 |
+
]
|
151 |
+
);
|
152 |
+
|
153 |
+
$this->add_control(
|
154 |
+
'job_title',
|
155 |
+
[
|
156 |
+
'label' => __( 'Job Title', 'happy-elementor-addons' ),
|
157 |
+
'label_block' => true,
|
158 |
+
'type' => Controls_Manager::TEXT,
|
159 |
+
'default' => __( 'Happy Officer', 'happy-elementor-addons' ),
|
160 |
+
'placeholder' => __( 'Type Member Job Title', 'happy-elementor-addons' ),
|
161 |
+
'dynamic' => [
|
162 |
+
'active' => true,
|
163 |
+
]
|
164 |
+
]
|
165 |
+
);
|
166 |
+
|
167 |
+
$this->add_control(
|
168 |
+
'bio',
|
169 |
+
[
|
170 |
+
'label' => __( 'Short Bio', 'happy-elementor-addons' ),
|
171 |
+
'description' => ha_get_allowed_html_desc( 'intermediate' ),
|
172 |
+
'type' => Controls_Manager::TEXTAREA,
|
173 |
+
'placeholder' => __( 'Write something amazing about the happy member', 'happy-elementor-addons' ),
|
174 |
+
'rows' => 5,
|
175 |
+
'dynamic' => [
|
176 |
+
'active' => true,
|
177 |
+
]
|
178 |
+
]
|
179 |
+
);
|
180 |
+
|
181 |
+
$this->add_control(
|
182 |
+
'title_tag',
|
183 |
+
[
|
184 |
+
'label' => __( 'Title HTML Tag', 'happy-elementor-addons' ),
|
185 |
+
'type' => Controls_Manager::CHOOSE,
|
186 |
+
'options' => [
|
187 |
+
'h1' => [
|
188 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
189 |
+
'icon' => 'eicon-editor-h1'
|
190 |
+
],
|
191 |
+
'h2' => [
|
192 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
193 |
+
'icon' => 'eicon-editor-h2'
|
194 |
+
],
|
195 |
+
'h3' => [
|
196 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
197 |
+
'icon' => 'eicon-editor-h3'
|
198 |
+
],
|
199 |
+
'h4' => [
|
200 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
201 |
+
'icon' => 'eicon-editor-h4'
|
202 |
+
],
|
203 |
+
'h5' => [
|
204 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
205 |
+
'icon' => 'eicon-editor-h5'
|
206 |
+
],
|
207 |
+
'h6' => [
|
208 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
209 |
+
'icon' => 'eicon-editor-h6'
|
210 |
+
]
|
211 |
+
],
|
212 |
+
'default' => 'h2',
|
213 |
+
'toggle' => false,
|
214 |
+
'separator' => 'before',
|
215 |
+
]
|
216 |
+
);
|
217 |
+
|
218 |
+
$this->add_responsive_control(
|
219 |
+
'align',
|
220 |
+
[
|
221 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
222 |
+
'type' => Controls_Manager::CHOOSE,
|
223 |
+
'options' => [
|
224 |
+
'left' => [
|
225 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
226 |
+
'icon' => 'fa fa-align-left',
|
227 |
+
],
|
228 |
+
'center' => [
|
229 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
230 |
+
'icon' => 'fa fa-align-center',
|
231 |
+
],
|
232 |
+
'right' => [
|
233 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
234 |
+
'icon' => 'fa fa-align-right',
|
235 |
+
],
|
236 |
+
],
|
237 |
+
'toggle' => true,
|
238 |
+
'selectors' => [
|
239 |
+
'{{WRAPPER}}' => 'text-align: {{VALUE}};'
|
240 |
+
]
|
241 |
+
]
|
242 |
+
);
|
243 |
+
|
244 |
+
$this->end_controls_section();
|
245 |
+
|
246 |
+
$this->start_controls_section(
|
247 |
+
'_section_social',
|
248 |
+
[
|
249 |
+
'label' => __( 'Social Profiles', 'happy-elementor-addons' ),
|
250 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
251 |
+
]
|
252 |
+
);
|
253 |
+
|
254 |
+
$repeater = new Repeater();
|
255 |
+
|
256 |
+
$repeater->add_control(
|
257 |
+
'name',
|
258 |
+
[
|
259 |
+
'label' => __( 'Profile Name', 'happy-elementor-addons' ),
|
260 |
+
'type' => Controls_Manager::SELECT2,
|
261 |
+
'label_block' => true,
|
262 |
+
'select2options' => [
|
263 |
+
'allowClear' => false,
|
264 |
+
],
|
265 |
+
'options' => self::get_profile_names()
|
266 |
+
]
|
267 |
+
);
|
268 |
+
|
269 |
+
$repeater->add_control(
|
270 |
+
'link', [
|
271 |
+
'label' => __( 'Profile Link', 'happy-elementor-addons' ),
|
272 |
+
'placeholder' => __( 'Add your profile link', 'happy-elementor-addons' ),
|
273 |
+
'type' => Controls_Manager::URL,
|
274 |
+
'label_block' => true,
|
275 |
+
'autocomplete' => false,
|
276 |
+
'show_external' => false,
|
277 |
+
'condition' => [
|
278 |
+
'name!' => 'email'
|
279 |
+
],
|
280 |
+
'dynamic' => [
|
281 |
+
'active' => true,
|
282 |
+
]
|
283 |
+
]
|
284 |
+
);
|
285 |
+
|
286 |
+
$repeater->add_control(
|
287 |
+
'email', [
|
288 |
+
'label' => __( 'Email Address', 'happy-elementor-addons' ),
|
289 |
+
'placeholder' => __( 'Add your email address', 'happy-elementor-addons' ),
|
290 |
+
'type' => Controls_Manager::TEXT,
|
291 |
+
'label_block' => false,
|
292 |
+
'input_type' => 'email',
|
293 |
+
'condition' => [
|
294 |
+
'name' => 'email'
|
295 |
+
],
|
296 |
+
'dynamic' => [
|
297 |
+
'active' => true,
|
298 |
+
]
|
299 |
+
]
|
300 |
+
);
|
301 |
+
|
302 |
+
$repeater->add_control(
|
303 |
+
'customize',
|
304 |
+
[
|
305 |
+
'label' => __( 'Want To Customize?', 'happy-elementor-addons' ),
|
306 |
+
'type' => Controls_Manager::SWITCHER,
|
307 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
308 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
309 |
+
'return_value' => 'yes',
|
310 |
+
'style_transfer' => true,
|
311 |
+
]
|
312 |
+
);
|
313 |
+
|
314 |
+
$repeater->start_controls_tabs(
|
315 |
+
'_tab_icon_colors',
|
316 |
+
[
|
317 |
+
'condition' => ['customize' => 'yes']
|
318 |
+
]
|
319 |
+
);
|
320 |
+
$repeater->start_controls_tab(
|
321 |
+
'_tab_icon_normal',
|
322 |
+
[
|
323 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
324 |
+
]
|
325 |
+
);
|
326 |
+
|
327 |
+
$repeater->add_control(
|
328 |
+
'color',
|
329 |
+
[
|
330 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
331 |
+
'type' => Controls_Manager::COLOR,
|
332 |
+
'selectors' => [
|
333 |
+
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}' => 'color: {{VALUE}}',
|
334 |
+
],
|
335 |
+
'condition' => ['customize' => 'yes'],
|
336 |
+
'style_transfer' => true,
|
337 |
+
]
|
338 |
+
);
|
339 |
+
|
340 |
+
$repeater->add_control(
|
341 |
+
'bg_color',
|
342 |
+
[
|
343 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
344 |
+
'type' => Controls_Manager::COLOR,
|
345 |
+
'selectors' => [
|
346 |
+
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}' => 'background-color: {{VALUE}}',
|
347 |
+
],
|
348 |
+
'condition' => ['customize' => 'yes'],
|
349 |
+
'style_transfer' => true,
|
350 |
+
]
|
351 |
+
);
|
352 |
+
|
353 |
+
$repeater->end_controls_tab();
|
354 |
+
$repeater->start_controls_tab(
|
355 |
+
'_tab_icon_hover',
|
356 |
+
[
|
357 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
358 |
+
]
|
359 |
+
);
|
360 |
+
|
361 |
+
$repeater->add_control(
|
362 |
+
'hover_color',
|
363 |
+
[
|
364 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
365 |
+
'type' => Controls_Manager::COLOR,
|
366 |
+
'selectors' => [
|
367 |
+
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'color: {{VALUE}}',
|
368 |
+
],
|
369 |
+
'condition' => ['customize' => 'yes'],
|
370 |
+
'style_transfer' => true,
|
371 |
+
]
|
372 |
+
);
|
373 |
+
|
374 |
+
$repeater->add_control(
|
375 |
+
'hover_bg_color',
|
376 |
+
[
|
377 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
378 |
+
'type' => Controls_Manager::COLOR,
|
379 |
+
'selectors' => [
|
380 |
+
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'background-color: {{VALUE}}',
|
381 |
+
],
|
382 |
+
'condition' => ['customize' => 'yes'],
|
383 |
+
'style_transfer' => true,
|
384 |
+
]
|
385 |
+
);
|
386 |
+
|
387 |
+
$repeater->add_control(
|
388 |
+
'hover_border_color',
|
389 |
+
[
|
390 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
391 |
+
'type' => Controls_Manager::COLOR,
|
392 |
+
'selectors' => [
|
393 |
+
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'border-color: {{VALUE}}',
|
394 |
+
],
|
395 |
+
'condition' => ['customize' => 'yes'],
|
396 |
+
'style_transfer' => true,
|
397 |
+
]
|
398 |
+
);
|
399 |
+
|
400 |
+
$repeater->end_controls_tab();
|
401 |
+
$repeater->end_controls_tabs();
|
402 |
+
|
403 |
+
$this->add_control(
|
404 |
+
'profiles',
|
405 |
+
[
|
406 |
+
'show_label' => false,
|
407 |
+
'type' => Controls_Manager::REPEATER,
|
408 |
+
'fields' => $repeater->get_controls(),
|
409 |
+
'title_field' => '<# print(name.slice(0,1).toUpperCase() + name.slice(1)) #>',
|
410 |
+
'default' => [
|
411 |
+
[
|
412 |
+
'link' => ['url' => 'https://facebook.com/'],
|
413 |
+
'name' => 'facebook'
|
414 |
+
],
|
415 |
+
[
|
416 |
+
'link' => ['url' => 'https://twitter.com/'],
|
417 |
+
'name' => 'twitter'
|
418 |
+
],
|
419 |
+
[
|
420 |
+
'link' => ['url' => 'https://linkedin.com/'],
|
421 |
+
'name' => 'linkedin'
|
422 |
+
]
|
423 |
+
],
|
424 |
+
]
|
425 |
+
);
|
426 |
+
|
427 |
+
$this->add_control(
|
428 |
+
'show_profiles',
|
429 |
+
[
|
430 |
+
'label' => __( 'Show Profiles', 'happy-elementor-addons' ),
|
431 |
+
'type' => Controls_Manager::SWITCHER,
|
432 |
+
'label_on' => __( 'Show', 'happy-elementor-addons' ),
|
433 |
+
'label_off' => __( 'Hide', 'happy-elementor-addons' ),
|
434 |
+
'return_value' => 'yes',
|
435 |
+
'default' => 'yes',
|
436 |
+
'separator' => 'before',
|
437 |
+
'style_transfer' => true,
|
438 |
+
]
|
439 |
+
);
|
440 |
+
|
441 |
+
$this->end_controls_section();
|
442 |
+
|
443 |
+
$this->start_controls_section(
|
444 |
+
'_section_button',
|
445 |
+
[
|
446 |
+
'label' => __( 'Details Button', 'happy-elementor-addons' ),
|
447 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
448 |
+
]
|
449 |
+
);
|
450 |
+
|
451 |
+
$this->add_control(
|
452 |
+
'show_details_button',
|
453 |
+
[
|
454 |
+
'label' => __( 'Show Button', 'happy-elementor-addons' ),
|
455 |
+
'type' => Controls_Manager::SWITCHER,
|
456 |
+
'label_on' => __( 'Show', 'happy-elementor-addons' ),
|
457 |
+
'label_off' => __( 'Hide', 'happy-elementor-addons' ),
|
458 |
+
'return_value' => 'yes',
|
459 |
+
'default' => '',
|
460 |
+
'style_transfer' => true,
|
461 |
+
]
|
462 |
+
);
|
463 |
+
|
464 |
+
$this->add_control(
|
465 |
+
'button_position',
|
466 |
+
[
|
467 |
+
'label' => __( 'Position', 'happy-elementor-addons' ),
|
468 |
+
'type' => Controls_Manager::SELECT,
|
469 |
+
'default' => 'after',
|
470 |
+
'style_transfer' => true,
|
471 |
+
'options' => [
|
472 |
+
'before' => __( 'Before Social Icons', 'happy-elementor-addons' ),
|
473 |
+
'after' => __( 'After Social Icons', 'happy-elementor-addons' ),
|
474 |
+
],
|
475 |
+
'condition' => [
|
476 |
+
'show_details_button' => 'yes',
|
477 |
+
]
|
478 |
+
]
|
479 |
+
);
|
480 |
+
|
481 |
+
$this->add_control(
|
482 |
+
'button_text',
|
483 |
+
[
|
484 |
+
'label' => __( 'Text', 'happy-elementor-addons' ),
|
485 |
+
'type' => Controls_Manager::TEXT,
|
486 |
+
'default' => __( 'Show Details', 'happy-elementor-addons' ),
|
487 |
+
'placeholder' => __( 'Type button text here', 'happy-elementor-addons' ),
|
488 |
+
'label_block' => true,
|
489 |
+
'dynamic' => [
|
490 |
+
'active' => true,
|
491 |
+
],
|
492 |
+
'condition' => [
|
493 |
+
'show_details_button' => 'yes',
|
494 |
+
]
|
495 |
+
]
|
496 |
+
);
|
497 |
+
|
498 |
+
$this->add_control(
|
499 |
+
'button_link',
|
500 |
+
[
|
501 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
502 |
+
'type' => Controls_Manager::URL,
|
503 |
+
'placeholder' => 'https://example.com',
|
504 |
+
'dynamic' => [
|
505 |
+
'active' => true,
|
506 |
+
],
|
507 |
+
'condition' => [
|
508 |
+
'show_details_button' => 'yes',
|
509 |
+
]
|
510 |
+
]
|
511 |
+
);
|
512 |
+
|
513 |
+
$this->add_control(
|
514 |
+
'button_icon',
|
515 |
+
[
|
516 |
+
'type' => Controls_Manager::ICONS,
|
517 |
+
'label_block' => true,
|
518 |
+
'show_label' => false,
|
519 |
+
'condition' => [
|
520 |
+
'show_details_button' => 'yes',
|
521 |
+
]
|
522 |
+
]
|
523 |
+
);
|
524 |
+
|
525 |
+
$this->add_control(
|
526 |
+
'button_icon_position',
|
527 |
+
[
|
528 |
+
'label' => __( 'Icon Position', 'happy-elementor-addons' ),
|
529 |
+
'type' => Controls_Manager::CHOOSE,
|
530 |
+
'label_block' => false,
|
531 |
+
'options' => [
|
532 |
+
'before' => [
|
533 |
+
'title' => __( 'Before', 'happy-elementor-addons' ),
|
534 |
+
'icon' => 'eicon-h-align-left',
|
535 |
+
],
|
536 |
+
'after' => [
|
537 |
+
'title' => __( 'After', 'happy-elementor-addons' ),
|
538 |
+
'icon' => 'eicon-h-align-right',
|
539 |
+
],
|
540 |
+
],
|
541 |
+
'default' => 'after',
|
542 |
+
'toggle' => false,
|
543 |
+
'style_transfer' => true,
|
544 |
+
'condition' => [
|
545 |
+
'show_details_button' => 'yes',
|
546 |
+
'button_icon[value]!' => ''
|
547 |
+
]
|
548 |
+
]
|
549 |
+
);
|
550 |
+
|
551 |
+
$this->add_control(
|
552 |
+
'button_icon_spacing',
|
553 |
+
[
|
554 |
+
'label' => __( 'Icon Spacing', 'happy-elementor-addons' ),
|
555 |
+
'type' => Controls_Manager::SLIDER,
|
556 |
+
'default' => [
|
557 |
+
'size' => 10
|
558 |
+
],
|
559 |
+
'condition' => [
|
560 |
+
'show_details_button' => 'yes',
|
561 |
+
'button_icon[value]!' => ''
|
562 |
+
],
|
563 |
+
'selectors' => [
|
564 |
+
'{{WRAPPER}} .ha-btn--icon-before .ha-btn-icon' => 'margin-right: {{SIZE}}{{UNIT}};',
|
565 |
+
'{{WRAPPER}} .ha-btn--icon-after .ha-btn-icon' => 'margin-left: {{SIZE}}{{UNIT}};',
|
566 |
+
],
|
567 |
+
]
|
568 |
+
);
|
569 |
+
|
570 |
+
$this->end_controls_section();
|
571 |
+
}
|
572 |
+
|
573 |
+
/**
|
574 |
+
* Register styles related controls
|
575 |
+
*/
|
576 |
+
protected function register_style_controls() {
|
577 |
+
$this->start_controls_section(
|
578 |
+
'_section_style_image',
|
579 |
+
[
|
580 |
+
'label' => __( 'Photo', 'happy-elementor-addons' ),
|
581 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
582 |
+
]
|
583 |
+
);
|
584 |
+
|
585 |
+
$this->add_responsive_control(
|
586 |
+
'image_width',
|
587 |
+
[
|
588 |
+
'label' => __( 'Width', 'happy-elementor-addons' ),
|
589 |
+
'type' => Controls_Manager::SLIDER,
|
590 |
+
'size_units' => [ 'px', '%'],
|
591 |
+
'range' => [
|
592 |
+
'%' => [
|
593 |
+
'min' => 20,
|
594 |
+
'max' => 100,
|
595 |
+
],
|
596 |
+
'px' => [
|
597 |
+
'min' => 100,
|
598 |
+
'max' => 700,
|
599 |
+
],
|
600 |
+
],
|
601 |
+
'selectors' => [
|
602 |
+
'{{WRAPPER}} .ha-member-figure' => 'width: {{SIZE}}{{UNIT}};',
|
603 |
+
],
|
604 |
+
]
|
605 |
+
);
|
606 |
+
|
607 |
+
$this->add_responsive_control(
|
608 |
+
'image_height',
|
609 |
+
[
|
610 |
+
'label' => __( 'Height', 'happy-elementor-addons' ),
|
611 |
+
'type' => Controls_Manager::SLIDER,
|
612 |
+
'size_units' => [ 'px' ],
|
613 |
+
'range' => [
|
614 |
+
'px' => [
|
615 |
+
'min' => 100,
|
616 |
+
'max' => 700,
|
617 |
+
],
|
618 |
+
],
|
619 |
+
'selectors' => [
|
620 |
+
'{{WRAPPER}} .ha-member-figure' => 'height: {{SIZE}}{{UNIT}};',
|
621 |
+
],
|
622 |
+
]
|
623 |
+
);
|
624 |
+
|
625 |
+
$this->add_responsive_control(
|
626 |
+
'image_spacing',
|
627 |
+
[
|
628 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
629 |
+
'type' => Controls_Manager::SLIDER,
|
630 |
+
'size_units' => ['px'],
|
631 |
+
'selectors' => [
|
632 |
+
'{{WRAPPER}} .ha-member-figure' => 'margin-bottom: {{SIZE}}{{UNIT}} !important;',
|
633 |
+
],
|
634 |
+
]
|
635 |
+
);
|
636 |
+
|
637 |
+
$this->add_responsive_control(
|
638 |
+
'image_padding',
|
639 |
+
[
|
640 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
641 |
+
'type' => Controls_Manager::DIMENSIONS,
|
642 |
+
'size_units' => [ 'px', 'em', '%' ],
|
643 |
+
'selectors' => [
|
644 |
+
'{{WRAPPER}} .ha-member-figure img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
645 |
+
],
|
646 |
+
]
|
647 |
+
);
|
648 |
+
|
649 |
+
$this->add_group_control(
|
650 |
+
Group_Control_Border::get_type(),
|
651 |
+
[
|
652 |
+
'name' => 'image_border',
|
653 |
+
'selector' => '{{WRAPPER}} .ha-member-figure img'
|
654 |
+
]
|
655 |
+
);
|
656 |
+
|
657 |
+
$this->add_responsive_control(
|
658 |
+
'image_border_radius',
|
659 |
+
[
|
660 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
661 |
+
'type' => Controls_Manager::DIMENSIONS,
|
662 |
+
'size_units' => [ 'px', '%' ],
|
663 |
+
'selectors' => [
|
664 |
+
'{{WRAPPER}} .ha-member-figure img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
665 |
+
],
|
666 |
+
]
|
667 |
+
);
|
668 |
+
|
669 |
+
$this->add_group_control(
|
670 |
+
Group_Control_Box_Shadow::get_type(),
|
671 |
+
[
|
672 |
+
'name' => 'image_box_shadow',
|
673 |
+
'exclude' => [
|
674 |
+
'box_shadow_position',
|
675 |
+
],
|
676 |
+
'selector' => '{{WRAPPER}} .ha-member-figure img'
|
677 |
+
]
|
678 |
+
);
|
679 |
+
|
680 |
+
$this->add_control(
|
681 |
+
'image_bg_color',
|
682 |
+
[
|
683 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
684 |
+
'type' => Controls_Manager::COLOR,
|
685 |
+
'selectors' => [
|
686 |
+
'{{WRAPPER}} .ha-member-figure img' => 'background-color: {{VALUE}};',
|
687 |
+
],
|
688 |
+
]
|
689 |
+
);
|
690 |
+
|
691 |
+
$this->end_controls_section();
|
692 |
+
|
693 |
+
$this->start_controls_section(
|
694 |
+
'_section_style_content',
|
695 |
+
[
|
696 |
+
'label' => __( 'Name, Job Title & Bio', 'happy-elementor-addons' ),
|
697 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
698 |
+
]
|
699 |
+
);
|
700 |
+
|
701 |
+
$this->add_responsive_control(
|
702 |
+
'content_padding',
|
703 |
+
[
|
704 |
+
'label' => __( 'Content Padding', 'happy-elementor-addons' ),
|
705 |
+
'type' => Controls_Manager::DIMENSIONS,
|
706 |
+
'size_units' => [ 'px', 'em', '%' ],
|
707 |
+
'selectors' => [
|
708 |
+
'{{WRAPPER}} .ha-member-body' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
709 |
+
],
|
710 |
+
]
|
711 |
+
);
|
712 |
+
|
713 |
+
$this->add_control(
|
714 |
+
'_heading_title',
|
715 |
+
[
|
716 |
+
'type' => Controls_Manager::HEADING,
|
717 |
+
'label' => __( 'Name', 'happy-elementor-addons' ),
|
718 |
+
'separator' => 'before',
|
719 |
+
]
|
720 |
+
);
|
721 |
+
|
722 |
+
$this->add_responsive_control(
|
723 |
+
'title_spacing',
|
724 |
+
[
|
725 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
726 |
+
'type' => Controls_Manager::SLIDER,
|
727 |
+
'size_units' => ['px'],
|
728 |
+
'selectors' => [
|
729 |
+
'{{WRAPPER}} .ha-member-name' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
730 |
+
],
|
731 |
+
]
|
732 |
+
);
|
733 |
+
|
734 |
+
$this->add_control(
|
735 |
+
'title_color',
|
736 |
+
[
|
737 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
738 |
+
'type' => Controls_Manager::COLOR,
|
739 |
+
'selectors' => [
|
740 |
+
'{{WRAPPER}} .ha-member-name' => 'color: {{VALUE}}',
|
741 |
+
],
|
742 |
+
]
|
743 |
+
);
|
744 |
+
|
745 |
+
$this->add_group_control(
|
746 |
+
Group_Control_Typography::get_type(),
|
747 |
+
[
|
748 |
+
'name' => 'title_typography',
|
749 |
+
'selector' => '{{WRAPPER}} .ha-member-name',
|
750 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_2,
|
751 |
+
]
|
752 |
+
);
|
753 |
+
|
754 |
+
$this->add_group_control(
|
755 |
+
Group_Control_Text_Shadow::get_type(),
|
756 |
+
[
|
757 |
+
'name' => 'title_text_shadow',
|
758 |
+
'selector' => '{{WRAPPER}} .ha-member-name',
|
759 |
+
]
|
760 |
+
);
|
761 |
+
|
762 |
+
$this->add_control(
|
763 |
+
'_heading_job_title',
|
764 |
+
[
|
765 |
+
'type' => Controls_Manager::HEADING,
|
766 |
+
'label' => __( 'Job Title', 'happy-elementor-addons' ),
|
767 |
+
'separator' => 'before'
|
768 |
+
]
|
769 |
+
);
|
770 |
+
|
771 |
+
$this->add_responsive_control(
|
772 |
+
'job_title_spacing',
|
773 |
+
[
|
774 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
775 |
+
'type' => Controls_Manager::SLIDER,
|
776 |
+
'size_units' => ['px'],
|
777 |
+
'selectors' => [
|
778 |
+
'{{WRAPPER}} .ha-member-position' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
779 |
+
],
|
780 |
+
]
|
781 |
+
);
|
782 |
+
|
783 |
+
$this->add_control(
|
784 |
+
'job_title_color',
|
785 |
+
[
|
786 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
787 |
+
'type' => Controls_Manager::COLOR,
|
788 |
+
'selectors' => [
|
789 |
+
'{{WRAPPER}} .ha-member-position' => 'color: {{VALUE}}',
|
790 |
+
],
|
791 |
+
]
|
792 |
+
);
|
793 |
+
|
794 |
+
$this->add_group_control(
|
795 |
+
Group_Control_Typography::get_type(),
|
796 |
+
[
|
797 |
+
'name' => 'job_title_typography',
|
798 |
+
'selector' => '{{WRAPPER}} .ha-member-position',
|
799 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
800 |
+
]
|
801 |
+
);
|
802 |
+
|
803 |
+
$this->add_group_control(
|
804 |
+
Group_Control_Text_Shadow::get_type(),
|
805 |
+
[
|
806 |
+
'name' => 'job_title_text_shadow',
|
807 |
+
'selector' => '{{WRAPPER}} .ha-member-position',
|
808 |
+
]
|
809 |
+
);
|
810 |
+
|
811 |
+
$this->add_control(
|
812 |
+
'_heading_bio',
|
813 |
+
[
|
814 |
+
'type' => Controls_Manager::HEADING,
|
815 |
+
'label' => __( 'Short Bio', 'happy-elementor-addons' ),
|
816 |
+
'separator' => 'before'
|
817 |
+
]
|
818 |
+
);
|
819 |
+
|
820 |
+
$this->add_responsive_control(
|
821 |
+
'bio_spacing',
|
822 |
+
[
|
823 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
824 |
+
'type' => Controls_Manager::SLIDER,
|
825 |
+
'size_units' => ['px'],
|
826 |
+
'selectors' => [
|
827 |
+
'{{WRAPPER}} .ha-member-bio' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
828 |
+
],
|
829 |
+
]
|
830 |
+
);
|
831 |
+
|
832 |
+
$this->add_control(
|
833 |
+
'bio_color',
|
834 |
+
[
|
835 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
836 |
+
'type' => Controls_Manager::COLOR,
|
837 |
+
'selectors' => [
|
838 |
+
'{{WRAPPER}} .ha-member-bio' => 'color: {{VALUE}};',
|
839 |
+
],
|
840 |
+
]
|
841 |
+
);
|
842 |
+
|
843 |
+
$this->add_group_control(
|
844 |
+
Group_Control_Typography::get_type(),
|
845 |
+
[
|
846 |
+
'name' => 'bio_typography',
|
847 |
+
'selector' => '{{WRAPPER}} .ha-member-bio',
|
848 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
849 |
+
]
|
850 |
+
);
|
851 |
+
|
852 |
+
$this->add_group_control(
|
853 |
+
Group_Control_Text_Shadow::get_type(),
|
854 |
+
[
|
855 |
+
'name' => 'bio_text_shadow',
|
856 |
+
'selector' => '{{WRAPPER}} .ha-member-bio',
|
857 |
+
]
|
858 |
+
);
|
859 |
+
|
860 |
+
$this->end_controls_section();
|
861 |
+
|
862 |
+
$this->start_controls_section(
|
863 |
+
'_section_style_social',
|
864 |
+
[
|
865 |
+
'label' => __( 'Social Icons', 'happy-elementor-addons' ),
|
866 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
867 |
+
]
|
868 |
+
);
|
869 |
+
|
870 |
+
$this->add_responsive_control(
|
871 |
+
'links_spacing',
|
872 |
+
[
|
873 |
+
'label' => __( 'Right Spacing', 'happy-elementor-addons' ),
|
874 |
+
'type' => Controls_Manager::SLIDER,
|
875 |
+
'size_units' => ['px'],
|
876 |
+
'selectors' => [
|
877 |
+
'{{WRAPPER}} .ha-member-links > a:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}};',
|
878 |
+
],
|
879 |
+
]
|
880 |
+
);
|
881 |
+
|
882 |
+
$this->add_responsive_control(
|
883 |
+
'links_padding',
|
884 |
+
[
|
885 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
886 |
+
'type' => Controls_Manager::SLIDER,
|
887 |
+
'size_units' => ['px'],
|
888 |
+
'selectors' => [
|
889 |
+
'{{WRAPPER}} .ha-member-links > a' => 'padding: {{SIZE}}{{UNIT}};',
|
890 |
+
],
|
891 |
+
]
|
892 |
+
);
|
893 |
+
|
894 |
+
$this->add_responsive_control(
|
895 |
+
'links_icon_size',
|
896 |
+
[
|
897 |
+
'label' => __( 'Icon Size', 'happy-elementor-addons' ),
|
898 |
+
'type' => Controls_Manager::SLIDER,
|
899 |
+
'size_units' => ['px'],
|
900 |
+
'selectors' => [
|
901 |
+
'{{WRAPPER}} .ha-member-links > a' => 'font-size: {{SIZE}}{{UNIT}};',
|
902 |
+
],
|
903 |
+
]
|
904 |
+
);
|
905 |
+
|
906 |
+
$this->add_group_control(
|
907 |
+
Group_Control_Border::get_type(),
|
908 |
+
[
|
909 |
+
'name' => 'links_border',
|
910 |
+
'selector' => '{{WRAPPER}} .ha-member-links > a'
|
911 |
+
]
|
912 |
+
);
|
913 |
+
|
914 |
+
$this->add_responsive_control(
|
915 |
+
'links_border_radius',
|
916 |
+
[
|
917 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
918 |
+
'type' => Controls_Manager::DIMENSIONS,
|
919 |
+
'size_units' => [ 'px', '%' ],
|
920 |
+
'selectors' => [
|
921 |
+
'{{WRAPPER}} .ha-member-links > a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
922 |
+
],
|
923 |
+
]
|
924 |
+
);
|
925 |
+
|
926 |
+
$this->start_controls_tabs( '_tab_links_colors' );
|
927 |
+
$this->start_controls_tab(
|
928 |
+
'_tab_links_normal',
|
929 |
+
[
|
930 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
931 |
+
]
|
932 |
+
);
|
933 |
+
|
934 |
+
$this->add_control(
|
935 |
+
'links_color',
|
936 |
+
[
|
937 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
938 |
+
'type' => Controls_Manager::COLOR,
|
939 |
+
'selectors' => [
|
940 |
+
'{{WRAPPER}} .ha-member-links > a' => 'color: {{VALUE}};',
|
941 |
+
],
|
942 |
+
]
|
943 |
+
);
|
944 |
+
|
945 |
+
$this->add_control(
|
946 |
+
'links_bg_color',
|
947 |
+
[
|
948 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
949 |
+
'type' => Controls_Manager::COLOR,
|
950 |
+
'selectors' => [
|
951 |
+
'{{WRAPPER}} .ha-member-links > a' => 'background-color: {{VALUE}};',
|
952 |
+
],
|
953 |
+
]
|
954 |
+
);
|
955 |
+
|
956 |
+
$this->end_controls_tab();
|
957 |
+
$this->start_controls_tab(
|
958 |
+
'_tab_links_hover',
|
959 |
+
[
|
960 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
961 |
+
]
|
962 |
+
);
|
963 |
+
|
964 |
+
$this->add_control(
|
965 |
+
'links_hover_color',
|
966 |
+
[
|
967 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
968 |
+
'type' => Controls_Manager::COLOR,
|
969 |
+
'selectors' => [
|
970 |
+
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'color: {{VALUE}}',
|
971 |
+
],
|
972 |
+
]
|
973 |
+
);
|
974 |
+
|
975 |
+
$this->add_control(
|
976 |
+
'links_hover_bg_color',
|
977 |
+
[
|
978 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
979 |
+
'type' => Controls_Manager::COLOR,
|
980 |
+
'selectors' => [
|
981 |
+
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'background-color: {{VALUE}}',
|
982 |
+
],
|
983 |
+
]
|
984 |
+
);
|
985 |
+
|
986 |
+
$this->add_control(
|
987 |
+
'links_hover_border_color',
|
988 |
+
[
|
989 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
990 |
+
'type' => Controls_Manager::COLOR,
|
991 |
+
'selectors' => [
|
992 |
+
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'border-color: {{VALUE}};',
|
993 |
+
],
|
994 |
+
'condition' => [
|
995 |
+
'links_border_border!' => '',
|
996 |
+
]
|
997 |
+
]
|
998 |
+
);
|
999 |
+
|
1000 |
+
$this->end_controls_tab();
|
1001 |
+
$this->end_controls_tabs();
|
1002 |
+
|
1003 |
+
$this->end_controls_section();
|
1004 |
+
|
1005 |
+
$this->start_controls_section(
|
1006 |
+
'_section_style_button',
|
1007 |
+
[
|
1008 |
+
'label' => __( 'Details Button', 'happy-elementor-addons' ),
|
1009 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
1010 |
+
]
|
1011 |
+
);
|
1012 |
+
|
1013 |
+
$this->add_responsive_control(
|
1014 |
+
'button_margin',
|
1015 |
+
[
|
1016 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
1017 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1018 |
+
'size_units' => [ 'px', '%' ],
|
1019 |
+
'selectors' => [
|
1020 |
+
'{{WRAPPER}} .ha-btn' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1021 |
+
],
|
1022 |
+
]
|
1023 |
+
);
|
1024 |
+
|
1025 |
+
$this->add_responsive_control(
|
1026 |
+
'button_padding',
|
1027 |
+
[
|
1028 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
1029 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1030 |
+
'size_units' => [ 'px', 'em', '%' ],
|
1031 |
+
'selectors' => [
|
1032 |
+
'{{WRAPPER}} .ha-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1033 |
+
],
|
1034 |
+
]
|
1035 |
+
);
|
1036 |
+
|
1037 |
+
$this->add_group_control(
|
1038 |
+
Group_Control_Typography::get_type(),
|
1039 |
+
[
|
1040 |
+
'name' => 'button_typography',
|
1041 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
1042 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
1043 |
+
]
|
1044 |
+
);
|
1045 |
+
|
1046 |
+
$this->add_group_control(
|
1047 |
+
Group_Control_Border::get_type(),
|
1048 |
+
[
|
1049 |
+
'name' => 'button_border',
|
1050 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
1051 |
+
]
|
1052 |
+
);
|
1053 |
+
|
1054 |
+
$this->add_control(
|
1055 |
+
'button_border_radius',
|
1056 |
+
[
|
1057 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
1058 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1059 |
+
'size_units' => [ 'px', '%' ],
|
1060 |
+
'selectors' => [
|
1061 |
+
'{{WRAPPER}} .ha-btn' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1062 |
+
],
|
1063 |
+
]
|
1064 |
+
);
|
1065 |
+
|
1066 |
+
$this->add_group_control(
|
1067 |
+
Group_Control_Box_Shadow::get_type(),
|
1068 |
+
[
|
1069 |
+
'name' => 'button_box_shadow',
|
1070 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
1071 |
+
]
|
1072 |
+
);
|
1073 |
+
|
1074 |
+
$this->add_control(
|
1075 |
+
'hr',
|
1076 |
+
[
|
1077 |
+
'type' => Controls_Manager::DIVIDER,
|
1078 |
+
'style' => 'thick',
|
1079 |
+
]
|
1080 |
+
);
|
1081 |
+
|
1082 |
+
$this->start_controls_tabs( '_tabs_button' );
|
1083 |
+
|
1084 |
+
$this->start_controls_tab(
|
1085 |
+
'_tab_button_normal',
|
1086 |
+
[
|
1087 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
1088 |
+
]
|
1089 |
+
);
|
1090 |
+
|
1091 |
+
$this->add_control(
|
1092 |
+
'button_color',
|
1093 |
+
[
|
1094 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
1095 |
+
'type' => Controls_Manager::COLOR,
|
1096 |
+
'default' => '',
|
1097 |
+
'selectors' => [
|
1098 |
+
'{{WRAPPER}} .ha-btn' => 'color: {{VALUE}};',
|
1099 |
+
],
|
1100 |
+
]
|
1101 |
+
);
|
1102 |
+
|
1103 |
+
$this->add_control(
|
1104 |
+
'button_bg_color',
|
1105 |
+
[
|
1106 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
1107 |
+
'type' => Controls_Manager::COLOR,
|
1108 |
+
'selectors' => [
|
1109 |
+
'{{WRAPPER}} .ha-btn' => 'background-color: {{VALUE}};',
|
1110 |
+
],
|
1111 |
+
]
|
1112 |
+
);
|
1113 |
+
|
1114 |
+
$this->end_controls_tab();
|
1115 |
+
|
1116 |
+
$this->start_controls_tab(
|
1117 |
+
'_tab_button_hover',
|
1118 |
+
[
|
1119 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
1120 |
+
]
|
1121 |
+
);
|
1122 |
+
|
1123 |
+
$this->add_control(
|
1124 |
+
'button_hover_color',
|
1125 |
+
[
|
1126 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
1127 |
+
'type' => Controls_Manager::COLOR,
|
1128 |
+
'selectors' => [
|
1129 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'color: {{VALUE}};',
|
1130 |
+
],
|
1131 |
+
]
|
1132 |
+
);
|
1133 |
+
|
1134 |
+
$this->add_control(
|
1135 |
+
'button_hover_bg_color',
|
1136 |
+
[
|
1137 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
1138 |
+
'type' => Controls_Manager::COLOR,
|
1139 |
+
'selectors' => [
|
1140 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'background-color: {{VALUE}};',
|
1141 |
+
],
|
1142 |
+
]
|
1143 |
+
);
|
1144 |
+
|
1145 |
+
$this->add_control(
|
1146 |
+
'button_hover_border_color',
|
1147 |
+
[
|
1148 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
1149 |
+
'type' => Controls_Manager::COLOR,
|
1150 |
+
'condition' => [
|
1151 |
+
'button_border_border!' => '',
|
1152 |
+
],
|
1153 |
+
'selectors' => [
|
1154 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'border-color: {{VALUE}};',
|
1155 |
+
],
|
1156 |
+
]
|
1157 |
+
);
|
1158 |
+
|
1159 |
+
$this->end_controls_tab();
|
1160 |
+
$this->end_controls_tabs();
|
1161 |
+
|
1162 |
+
$this->end_controls_section();
|
1163 |
+
}
|
1164 |
|
1165 |
protected function render() {
|
1166 |
+
$settings = $this->get_settings_for_display();
|
1167 |
+
|
1168 |
+
$button_position = ! empty( $settings['button_position'] ) ? $settings['button_position'] : 'after';
|
1169 |
+
|
1170 |
+
$show_button = false;
|
1171 |
+
if ( ! empty( $settings['show_details_button'] ) && $settings['show_details_button'] === 'yes' ) {
|
1172 |
+
$show_button = true;
|
1173 |
+
}
|
1174 |
+
|
1175 |
+
$this->add_inline_editing_attributes( 'title', 'basic' );
|
1176 |
+
$this->add_render_attribute( 'title', 'class', 'ha-member-name' );
|
1177 |
+
|
1178 |
+
$this->add_inline_editing_attributes( 'job_title', 'basic' );
|
1179 |
+
$this->add_render_attribute( 'job_title', 'class', 'ha-member-position' );
|
1180 |
+
|
1181 |
+
$this->add_inline_editing_attributes( 'bio', 'intermediate' );
|
1182 |
+
$this->add_render_attribute( 'bio', 'class', 'ha-member-bio' );
|
1183 |
+
?>
|
1184 |
+
|
1185 |
+
<?php if ( $settings['image']['url'] || $settings['image']['id'] ) :
|
1186 |
+
$settings['hover_animation'] = 'disable-animation'; // hack to prevent image hover animation
|
1187 |
+
?>
|
1188 |
+
<figure class="ha-member-figure">
|
1189 |
+
<?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'thumbnail', 'image' ); ?>
|
1190 |
+
</figure>
|
1191 |
+
<?php endif; ?>
|
1192 |
+
|
1193 |
+
<div class="ha-member-body">
|
1194 |
+
<?php if ( $settings['title'] ) :
|
1195 |
+
printf( '<%1$s %2$s>%3$s</%1$s>',
|
1196 |
+
tag_escape( $settings['title_tag'] ),
|
1197 |
+
$this->get_render_attribute_string( 'title' ),
|
1198 |
+
ha_kses_basic( $settings['title'] )
|
1199 |
+
);
|
1200 |
+
endif; ?>
|
1201 |
+
|
1202 |
+
<?php if ( $settings['job_title' ] ) : ?>
|
1203 |
+
<div <?php $this->print_render_attribute_string( 'job_title' ); ?>><?php echo ha_kses_basic( $settings['job_title' ] ); ?></div>
|
1204 |
+
<?php endif; ?>
|
1205 |
+
|
1206 |
+
<?php if ( $settings['bio'] ) : ?>
|
1207 |
+
<div <?php $this->print_render_attribute_string( 'bio' ); ?>>
|
1208 |
+
<p><?php echo ha_kses_intermediate( $settings['bio'] ); ?></p>
|
1209 |
+
</div>
|
1210 |
+
<?php endif; ?>
|
1211 |
+
|
1212 |
+
<?php
|
1213 |
+
if ( $show_button && $button_position === 'before' ) {
|
1214 |
+
$this->render_icon_button( [ 'new_icon' => 'button_icon', 'old_icon' => '' ] );
|
1215 |
+
}
|
1216 |
+
?>
|
1217 |
+
|
1218 |
+
<?php if ( $settings['show_profiles' ] && is_array( $settings['profiles' ] ) ) : ?>
|
1219 |
+
<div class="ha-member-links">
|
1220 |
+
<?php
|
1221 |
+
foreach ( $settings['profiles'] as $profile ) :
|
1222 |
+
$icon = $profile['name'];
|
1223 |
+
$url = $profile['link']['url'];
|
1224 |
+
|
1225 |
+
if ($profile['name'] === 'website') {
|
1226 |
+
$icon = 'globe';
|
1227 |
+
} elseif ($profile['name'] === 'email') {
|
1228 |
+
$icon = 'envelope';
|
1229 |
+
$url = 'mailto:' . antispambot( $profile['email'] );
|
1230 |
+
}
|
1231 |
+
|
1232 |
+
printf( '<a target="_blank" rel="noopener" href="%s" class="elementor-repeater-item-%s"><i class="fa fa-%s" aria-hidden="true"></i></a>',
|
1233 |
+
$url,
|
1234 |
+
esc_attr( $profile['_id'] ),
|
1235 |
+
esc_attr( $icon )
|
1236 |
+
);
|
1237 |
+
endforeach; ?>
|
1238 |
+
</div>
|
1239 |
+
<?php endif; ?>
|
1240 |
+
|
1241 |
+
<?php
|
1242 |
+
if ( $show_button && $button_position === 'after' ) {
|
1243 |
+
$this->render_icon_button( [ 'new_icon' => 'button_icon', 'old_icon' => '' ] );
|
1244 |
+
}
|
1245 |
+
?>
|
1246 |
+
</div>
|
1247 |
+
<?php
|
1248 |
+
}
|
1249 |
+
|
1250 |
+
public function _content_template() {
|
1251 |
+
return '';
|
1252 |
+
?>
|
1253 |
+
<#
|
1254 |
+
view.addInlineEditingAttributes( 'title', 'basic' );
|
1255 |
+
view.addRenderAttribute( 'title', 'class', 'ha-member-name' );
|
1256 |
+
|
1257 |
+
view.addInlineEditingAttributes( 'job_title', 'basic' );
|
1258 |
+
view.addRenderAttribute( 'job_title', 'class', 'ha-member-position' );
|
1259 |
+
|
1260 |
+
view.addInlineEditingAttributes( 'bio', 'intermediate' );
|
1261 |
+
view.addRenderAttribute( 'bio', 'class', 'ha-member-bio' );
|
1262 |
+
|
1263 |
+
if ( settings.image.url || settings.image.id ) {
|
1264 |
+
var image = {
|
1265 |
+
id: settings.image.id,
|
1266 |
+
url: settings.image.url,
|
1267 |
+
size: settings.thumbnail_size,
|
1268 |
+
dimension: settings.thumbnail_custom_dimension,
|
1269 |
+
model: view.getEditModel()
|
1270 |
+
};
|
1271 |
+
|
1272 |
+
var image_url = elementor.imagesManager.getImageUrl( image );
|
1273 |
+
#>
|
1274 |
+
<figure class="ha-member-figure">
|
1275 |
+
<img src="{{ image_url }}">
|
1276 |
+
</figure>
|
1277 |
+
<# } #>
|
1278 |
+
<div class="ha-member-body">
|
1279 |
+
<# if (settings.title) { #>
|
1280 |
+
<{{ settings.title_tag }} {{{ view.getRenderAttributeString( 'title' ) }}}>{{ settings.title }}</{{ settings.title_tag }}>
|
1281 |
+
<# } #>
|
1282 |
+
<# if (settings.job_title) { #>
|
1283 |
+
<div {{{ view.getRenderAttributeString( 'job_title' ) }}}>{{ settings.job_title }}</div>
|
1284 |
+
<# } #>
|
1285 |
+
<# if (settings.bio) { #>
|
1286 |
+
<div {{{ view.getRenderAttributeString( 'bio' ) }}}>
|
1287 |
+
<p>{{{ settings.bio }}}</p>
|
1288 |
+
</div>
|
1289 |
+
<# } #>
|
1290 |
+
|
1291 |
+
<# if ( !_.isUndefined( settings['button_position'] ) && settings['button_position'] === 'before' ) {
|
1292 |
+
print( ha.getButtonWithIcon( view, {newIcon: 'button_icon', oldIcon: ''} ) );
|
1293 |
+
} #>
|
1294 |
+
|
1295 |
+
<# if (settings.show_profiles && _.isArray(settings.profiles)) { #>
|
1296 |
+
<div class="ha-member-links">
|
1297 |
+
<# _.each(settings.profiles, function(profile, index) {
|
1298 |
+
var icon = profile.name,
|
1299 |
+
url = profile.link.url,
|
1300 |
+
linkKey = view.getRepeaterSettingKey( 'profile', 'profiles', index);
|
1301 |
+
|
1302 |
+
if (profile.name === 'website') {
|
1303 |
+
icon = 'globe';
|
1304 |
+
} else if (profile.name === 'email') {
|
1305 |
+
icon = 'envelope'
|
1306 |
+
url = 'mailto:' + profile.email;
|
1307 |
+
}
|
1308 |
+
|
1309 |
+
view.addRenderAttribute( linkKey, 'class', 'elementor-repeater-item-' + profile._id );
|
1310 |
+
view.addRenderAttribute( linkKey, 'href', url ); #>
|
1311 |
+
<a {{{view.getRenderAttributeString( linkKey )}}}><i class="fa fa-{{{icon}}}"></i></a>
|
1312 |
+
<# }); #>
|
1313 |
+
</div>
|
1314 |
+
<# } #>
|
1315 |
+
|
1316 |
+
<# if ( !_.isUndefined( settings['button_position'] ) && settings['button_position'] === 'after' ) {
|
1317 |
+
print( ha.getButtonWithIcon( view, {newIcon: 'button_icon', oldIcon: ''} ) );
|
1318 |
+
} #>
|
1319 |
+
</div>
|
1320 |
+
<?php
|
1321 |
+
}
|
1322 |
}
|
widgets/pricing-table/widget.php
CHANGED
@@ -252,7 +252,7 @@ class Pricing_Table extends Base {
|
|
252 |
'icon' => 'fa fa-check',
|
253 |
],
|
254 |
],
|
255 |
-
'title_field' => '<# print(
|
256 |
]
|
257 |
);
|
258 |
|
@@ -286,7 +286,7 @@ class Pricing_Table extends Base {
|
|
286 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
287 |
'type' => Controls_Manager::URL,
|
288 |
'label_block' => true,
|
289 |
-
'placeholder' => 'https://
|
290 |
'dynamic' => [
|
291 |
'active' => true,
|
292 |
],
|
252 |
'icon' => 'fa fa-check',
|
253 |
],
|
254 |
],
|
255 |
+
'title_field' => '<# print(ha.getFeatureLabel(text)); #>',
|
256 |
]
|
257 |
);
|
258 |
|
286 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
287 |
'type' => Controls_Manager::URL,
|
288 |
'label_block' => true,
|
289 |
+
'placeholder' => 'https://example.com',
|
290 |
'dynamic' => [
|
291 |
'active' => true,
|
292 |
],
|
widgets/slider/widget.php
CHANGED
@@ -81,7 +81,7 @@ class Slider extends Base {
|
|
81 |
[
|
82 |
'type' => Controls_Manager::TEXT,
|
83 |
'label_block' => true,
|
84 |
-
'label' => __( 'Title
|
85 |
'placeholder' => __( 'Type title here', 'happy-elementor-addons' ),
|
86 |
'dynamic' => [
|
87 |
'active' => true,
|
@@ -94,13 +94,26 @@ class Slider extends Base {
|
|
94 |
[
|
95 |
'type' => Controls_Manager::TEXTAREA,
|
96 |
'label_block' => true,
|
97 |
-
'
|
98 |
'placeholder' => __( 'Type subtitle here', 'happy-elementor-addons' ),
|
99 |
'dynamic' => [
|
100 |
'active' => true,
|
101 |
]
|
102 |
]
|
103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
|
105 |
$this->add_control(
|
106 |
'slides',
|
@@ -707,13 +720,24 @@ class Slider extends Base {
|
|
707 |
|
708 |
<?php foreach ( $settings['slides'] as $slide ) :
|
709 |
$image = wp_get_attachment_image_url( $slide['image']['id'], $settings['thumbnail_size'] );
|
710 |
-
|
711 |
-
|
712 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
713 |
?>
|
714 |
|
715 |
<div class="ha-slick-slide">
|
716 |
-
|
717 |
<?php if ( $image ) : ?>
|
718 |
<img class="ha-slick-img" src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr( $slide['title'] ); ?>">
|
719 |
<?php endif; ?>
|
@@ -728,7 +752,7 @@ class Slider extends Base {
|
|
728 |
<?php endif; ?>
|
729 |
</div>
|
730 |
<?php endif; ?>
|
731 |
-
|
732 |
</div>
|
733 |
|
734 |
<?php endforeach; ?>
|
81 |
[
|
82 |
'type' => Controls_Manager::TEXT,
|
83 |
'label_block' => true,
|
84 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
85 |
'placeholder' => __( 'Type title here', 'happy-elementor-addons' ),
|
86 |
'dynamic' => [
|
87 |
'active' => true,
|
94 |
[
|
95 |
'type' => Controls_Manager::TEXTAREA,
|
96 |
'label_block' => true,
|
97 |
+
'label' => __( 'Subtitle', 'happy-elementor-addons' ),
|
98 |
'placeholder' => __( 'Type subtitle here', 'happy-elementor-addons' ),
|
99 |
'dynamic' => [
|
100 |
'active' => true,
|
101 |
]
|
102 |
]
|
103 |
+
);
|
104 |
+
|
105 |
+
$repeater->add_control(
|
106 |
+
'link',
|
107 |
+
[
|
108 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
109 |
+
'type' => Controls_Manager::URL,
|
110 |
+
'label_block' => true,
|
111 |
+
'placeholder' => 'https://example.com',
|
112 |
+
'dynamic' => [
|
113 |
+
'active' => true,
|
114 |
+
]
|
115 |
+
]
|
116 |
+
);
|
117 |
|
118 |
$this->add_control(
|
119 |
'slides',
|
720 |
|
721 |
<?php foreach ( $settings['slides'] as $slide ) :
|
722 |
$image = wp_get_attachment_image_url( $slide['image']['id'], $settings['thumbnail_size'] );
|
723 |
+
|
724 |
+
if ( ! $image ) {
|
725 |
+
$image = $slide['image']['url'];
|
726 |
+
}
|
727 |
+
|
728 |
+
$item_tag = 'div';
|
729 |
+
$id = 'ha-slick-item-' . $slide['_id'];
|
730 |
+
|
731 |
+
$this->add_render_attribute( $id, 'class', 'ha-slick-item' );
|
732 |
+
|
733 |
+
if ( isset( $slide['link'] ) && ! empty( $slide['link']['url'] ) ) {
|
734 |
+
$item_tag = 'a';
|
735 |
+
$this->add_link_attributes( $id, $slide['link'] );
|
736 |
+
}
|
737 |
?>
|
738 |
|
739 |
<div class="ha-slick-slide">
|
740 |
+
<<?php echo $item_tag; ?> <?php $this->print_render_attribute_string( $id ); ?>>
|
741 |
<?php if ( $image ) : ?>
|
742 |
<img class="ha-slick-img" src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr( $slide['title'] ); ?>">
|
743 |
<?php endif; ?>
|
752 |
<?php endif; ?>
|
753 |
</div>
|
754 |
<?php endif; ?>
|
755 |
+
</<?php echo $item_tag; ?>>
|
756 |
</div>
|
757 |
|
758 |
<?php endforeach; ?>
|
widgets/social-icons/widget.php
CHANGED
@@ -62,11 +62,13 @@ class Social_Icons extends Base {
|
|
62 |
[
|
63 |
'label' => __('Icon', 'happy-elementor-addons'),
|
64 |
'type' => Controls_Manager::ICONS,
|
65 |
-
'label_block' =>
|
66 |
'default' => [
|
67 |
'value' => 'fab fa-wordpress',
|
68 |
'library' => 'fa-brands',
|
69 |
],
|
|
|
|
|
70 |
'recommended' => [
|
71 |
'fa-brands' => [
|
72 |
'android',
|
@@ -204,8 +206,7 @@ class Social_Icons extends Base {
|
|
204 |
'type' => Controls_Manager::COLOR,
|
205 |
|
206 |
'selectors' => [
|
207 |
-
'{{WRAPPER}} .ha-social-icons-wrapper > {{CURRENT_ITEM}}.ha-social-icon'
|
208 |
-
'{{WRAPPER}} .ha-social-icons-wrapper > {{CURRENT_ITEM}}.ha-social-icon > svg' => 'fill: {{VALUE}};',
|
209 |
],
|
210 |
'condition' => ['customize' => 'yes'],
|
211 |
'style_transfer' => true,
|
@@ -253,7 +254,6 @@ class Social_Icons extends Base {
|
|
253 |
'type' => Controls_Manager::COLOR,
|
254 |
'selectors' => [
|
255 |
'{{WRAPPER}} .ha-social-icons-wrapper > {{CURRENT_ITEM}}.ha-social-icon:hover' => 'color: {{VALUE}};',
|
256 |
-
'{{WRAPPER}} .ha-social-icons-wrapper > {{CURRENT_ITEM}}.ha-social-icon:hover svg' => 'fill: {{VALUE}};',
|
257 |
],
|
258 |
'condition' => ['customize' => 'yes'],
|
259 |
'style_transfer' => true,
|
@@ -462,7 +462,6 @@ class Social_Icons extends Base {
|
|
462 |
'{{WRAPPER}} .ha-social-icons-wrapper > .ha-social-icon' => 'color: {{VALUE}};',
|
463 |
'{{WRAPPER}}.ha-separator--stroke .ha-social-icon-separator' => 'background: {{VALUE}};',
|
464 |
'{{WRAPPER}}.ha-separator--custom .ha-social-icon-separator' => 'color: {{VALUE}};',
|
465 |
-
'{{WRAPPER}} .ha-social-icons-wrapper > .ha-social-icon > svg' => 'fill: {{VALUE}};',
|
466 |
],
|
467 |
'style_transfer' => true,
|
468 |
]
|
@@ -508,7 +507,6 @@ class Social_Icons extends Base {
|
|
508 |
'{{WRAPPER}} .ha-social-icons-wrapper > .ha-social-icon:hover' => 'color: {{VALUE}};',
|
509 |
'{{WRAPPER}}.ha-separator--stroke .ha-social-icon-separator' => 'background: {{VALUE}};',
|
510 |
'{{WRAPPER}}.ha-separator--custom .ha-social-icon-separator' => 'color: {{VALUE}};',
|
511 |
-
'{{WRAPPER}} .ha-social-icons-wrapper > .ha-social-icon:hover svg' => 'fill: {{VALUE}};',
|
512 |
],
|
513 |
'style_transfer' => true,
|
514 |
]
|
@@ -642,7 +640,6 @@ class Social_Icons extends Base {
|
|
642 |
],
|
643 |
'selectors' => [
|
644 |
'{{WRAPPER}} .ha-social-icon.ha-social-icon--network i' => 'font-size: {{SIZE}}{{UNIT}};',
|
645 |
-
'{{WRAPPER}} .ha-social-icon.ha-social-icon--network svg' => 'font-size: {{SIZE}}{{UNIT}};',
|
646 |
],
|
647 |
]
|
648 |
);
|
62 |
[
|
63 |
'label' => __('Icon', 'happy-elementor-addons'),
|
64 |
'type' => Controls_Manager::ICONS,
|
65 |
+
'label_block' => false,
|
66 |
'default' => [
|
67 |
'value' => 'fab fa-wordpress',
|
68 |
'library' => 'fa-brands',
|
69 |
],
|
70 |
+
'skin' => 'inline',
|
71 |
+
'exclude_inline_options' => ['svg'],
|
72 |
'recommended' => [
|
73 |
'fa-brands' => [
|
74 |
'android',
|
206 |
'type' => Controls_Manager::COLOR,
|
207 |
|
208 |
'selectors' => [
|
209 |
+
'{{WRAPPER}} .ha-social-icons-wrapper > {{CURRENT_ITEM}}.ha-social-icon' => 'color: {{VALUE}};',
|
|
|
210 |
],
|
211 |
'condition' => ['customize' => 'yes'],
|
212 |
'style_transfer' => true,
|
254 |
'type' => Controls_Manager::COLOR,
|
255 |
'selectors' => [
|
256 |
'{{WRAPPER}} .ha-social-icons-wrapper > {{CURRENT_ITEM}}.ha-social-icon:hover' => 'color: {{VALUE}};',
|
|
|
257 |
],
|
258 |
'condition' => ['customize' => 'yes'],
|
259 |
'style_transfer' => true,
|
462 |
'{{WRAPPER}} .ha-social-icons-wrapper > .ha-social-icon' => 'color: {{VALUE}};',
|
463 |
'{{WRAPPER}}.ha-separator--stroke .ha-social-icon-separator' => 'background: {{VALUE}};',
|
464 |
'{{WRAPPER}}.ha-separator--custom .ha-social-icon-separator' => 'color: {{VALUE}};',
|
|
|
465 |
],
|
466 |
'style_transfer' => true,
|
467 |
]
|
507 |
'{{WRAPPER}} .ha-social-icons-wrapper > .ha-social-icon:hover' => 'color: {{VALUE}};',
|
508 |
'{{WRAPPER}}.ha-separator--stroke .ha-social-icon-separator' => 'background: {{VALUE}};',
|
509 |
'{{WRAPPER}}.ha-separator--custom .ha-social-icon-separator' => 'color: {{VALUE}};',
|
|
|
510 |
],
|
511 |
'style_transfer' => true,
|
512 |
]
|
640 |
],
|
641 |
'selectors' => [
|
642 |
'{{WRAPPER}} .ha-social-icon.ha-social-icon--network i' => 'font-size: {{SIZE}}{{UNIT}};',
|
|
|
643 |
],
|
644 |
]
|
645 |
);
|
widgets/step-flow/widget.php
CHANGED
@@ -132,7 +132,7 @@ class Step_Flow extends Base {
|
|
132 |
[
|
133 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
134 |
'type' => Controls_Manager::URL,
|
135 |
-
'placeholder' => 'https://
|
136 |
'dynamic' => [
|
137 |
'active' => true,
|
138 |
]
|
@@ -235,8 +235,12 @@ class Step_Flow extends Base {
|
|
235 |
'size_units' => [ 'px', 'em' ],
|
236 |
'range' => [
|
237 |
'px' => [
|
238 |
-
'min' =>
|
239 |
-
'max' =>
|
|
|
|
|
|
|
|
|
240 |
]
|
241 |
],
|
242 |
'selectors' => [
|
132 |
[
|
133 |
'label' => __( 'Link', 'happy-elementor-addons' ),
|
134 |
'type' => Controls_Manager::URL,
|
135 |
+
'placeholder' => 'https://example.com',
|
136 |
'dynamic' => [
|
137 |
'active' => true,
|
138 |
]
|
235 |
'size_units' => [ 'px', 'em' ],
|
236 |
'range' => [
|
237 |
'px' => [
|
238 |
+
'min' => 6,
|
239 |
+
'max' => 300,
|
240 |
+
],
|
241 |
+
'em' => [
|
242 |
+
'min' => 6,
|
243 |
+
'max' => 300,
|
244 |
]
|
245 |
],
|
246 |
'selectors' => [
|
widgets/threesixty-rotation/widget.php
CHANGED
@@ -66,6 +66,11 @@ class Threesixty_Rotation extends Base {
|
|
66 |
[
|
67 |
'label' => __('Gallery', 'happy-elementor-addons'),
|
68 |
'type' => Controls_Manager::GALLERY,
|
|
|
|
|
|
|
|
|
|
|
69 |
'dynamic' => [
|
70 |
'active' => true,
|
71 |
]
|
@@ -528,6 +533,9 @@ class Threesixty_Rotation extends Base {
|
|
528 |
protected function render() {
|
529 |
|
530 |
$settings = $this->get_settings_for_display();
|
|
|
|
|
|
|
531 |
$this->add_render_attribute('wrapper', 'class', 'ha-threesixty-rotation-wrapper');
|
532 |
$this->add_render_attribute(
|
533 |
'rotation',
|
@@ -549,7 +557,7 @@ class Threesixty_Rotation extends Base {
|
|
549 |
]
|
550 |
);
|
551 |
}
|
552 |
-
$svg_url = HAPPY_ADDONS_ASSETS . 'imgs/360_view.svg'
|
553 |
?>
|
554 |
|
555 |
<div <?php $this->print_render_attribute_string('wrapper'); ?>>
|
66 |
[
|
67 |
'label' => __('Gallery', 'happy-elementor-addons'),
|
68 |
'type' => Controls_Manager::GALLERY,
|
69 |
+
'default' => [
|
70 |
+
[
|
71 |
+
'url' => Utils::get_placeholder_image_src(),
|
72 |
+
]
|
73 |
+
],
|
74 |
'dynamic' => [
|
75 |
'active' => true,
|
76 |
]
|
533 |
protected function render() {
|
534 |
|
535 |
$settings = $this->get_settings_for_display();
|
536 |
+
if ( empty( $settings['images'] ) ) {
|
537 |
+
return;
|
538 |
+
}
|
539 |
$this->add_render_attribute('wrapper', 'class', 'ha-threesixty-rotation-wrapper');
|
540 |
$this->add_render_attribute(
|
541 |
'rotation',
|
557 |
]
|
558 |
);
|
559 |
}
|
560 |
+
$svg_url = HAPPY_ADDONS_ASSETS . 'imgs/360_view.svg';
|
561 |
?>
|
562 |
|
563 |
<div <?php $this->print_render_attribute_string('wrapper'); ?>>
|