Happy Addons for Elementor (Mega Menu, Post Grid, Woocommerce Product Grid, Table, Event Calendar, Slider Elementor Widget) - Version 2.1.0

Version Description

  • 3 October 2019 =

  • New: Widgets control panel link in Elementor Finder

  • New: Widgets control panel link in Elementor editor panel

  • Update: Added Dual Button layout (Stack and Queue layout)

  • Fix: Image Grid and Justified Gallery filter issue for non english languages

  • Fix: Justified gallery image alt attribute missing issue

  • Fix: Dual Button responsive issue - using layout feature

  • Fix: Dual Button default hover text color

  • Fix: Widgets Control Panel navigation jump issue

Download this release

Release Info

Developer thehappymonster
Plugin Icon 128x128 Happy Addons for Elementor (Mega Menu, Post Grid, Woocommerce Product Grid, Table, Event Calendar, Slider Elementor Widget)
Version 2.1.0
Comparing to
See all releases

Code changes from version 2.0.0 to 2.1.0

assets/admin/css/dashboard.css CHANGED
@@ -1,17 +1,9 @@
1
- .ha-dashboard-tabs__nav:before,
2
- .ha-dashboard-tabs__content-item:before,
3
- .ha-dashboard-widgets:before,
4
  .ha-dashboard-tabs__nav:after,
5
  .ha-dashboard-tabs__content-item:after,
6
  .ha-dashboard-widgets:after {
7
- display: table;
8
- content: " ";
9
- }
10
-
11
- .ha-dashboard-tabs__nav:after,
12
- .ha-dashboard-tabs__content-item:after,
13
- .ha-dashboard-widgets:after {
14
- clear: both;
15
  }
16
 
17
  .ha-dashboard {
 
 
 
1
  .ha-dashboard-tabs__nav:after,
2
  .ha-dashboard-tabs__content-item:after,
3
  .ha-dashboard-widgets:after {
4
+ display: block;
5
+ clear: both;
6
+ content: "";
 
 
 
 
 
7
  }
8
 
9
  .ha-dashboard {
assets/admin/css/dashboard.min.css CHANGED
@@ -1 +1 @@
1
- .ha-dashboard-tabs__content-item:after,.ha-dashboard-tabs__content-item:before,.ha-dashboard-tabs__nav:after,.ha-dashboard-tabs__nav:before,.ha-dashboard-widgets:after,.ha-dashboard-widgets:before{display:table;content:" "}.ha-dashboard-tabs__content-item:after,.ha-dashboard-tabs__nav:after,.ha-dashboard-widgets:after{clear:both}.ha-dashboard{padding-top:20px}.ha-dashboard,.ha-dashboard *{box-sizing:border-box;font-family:"Nunito",sans-serif}.ha-dashboard-btn{display:inline-block;padding:15px 25px;border:0;border-radius:5px;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);text-align:center;text-decoration:none;font-weight:700;font-size:13px;line-height:1;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.ha-dashboard-btn:active,.ha-dashboard-btn:focus,.ha-dashboard-btn:hover{outline:0;box-shadow:none}.ha-dashboard-btn--lg{padding:15px 30px;font-size:14px}.ha-dashboard-btn--save{width:13em;background-color:#5db429;color:#fff}.ha-dashboard-btn--save:active,.ha-dashboard-btn--save:focus,.ha-dashboard-btn--save:hover{background-color:#488a20;color:#fff}.ha-dashboard-btn--save.disabled,.ha-dashboard-btn--save:disabled{background-color:#b3b3b3;box-shadow:none;opacity:.7;cursor:not-allowed}.ha-dashboard-tabs__nav-btn{float:right}.ha-dashboard-tabs__nav-item{display:block;float:left;padding:15px 40px;border-top:3px solid #bbb;border-radius:5px 5px 0 0;background-color:#e8e8e8;color:#888;text-decoration:none;text-transform:uppercase;font-weight:700;font-size:14px}.ha-dashboard-tabs__nav-item--pro{border-color:#d6226e;background-color:#e2498a;color:#fff}.ha-dashboard-tabs__nav-item.tab--is-active,.ha-dashboard-tabs__nav-item:active,.ha-dashboard-tabs__nav-item:focus,.ha-dashboard-tabs__nav-item:hover{outline:none;border-color:#562dd4;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);color:#562dd4;-webkit-transition:all .3s;transition:all .3s}.ha-dashboard-tabs__nav-item--pro.tab--is-active,.ha-dashboard-tabs__nav-item--pro:active,.ha-dashboard-tabs__nav-item--pro:focus,.ha-dashboard-tabs__nav-item--pro:hover{border-color:#e2498a;color:#e2498a}.ha-dashboard-tabs__nav-item:not(:last-child){margin-right:10px}.ha-dashboard-tabs__content-item{display:none;padding:40px;border-radius:0 0 5px 5px;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.ha-dashboard-tabs__content-item.tab--is-active{position:relative;z-index:1;display:block}.ha-dashboard-panel__header{padding-bottom:40px}.ha-dashboard-panel__header-content>h2{margin:0 0 20px;font-size:2em}.ha-dashboard-panel__header-content>p{margin:0;color:#8c8c8c}.ha-dashboard-panel__footer{margin-top:20px;padding-top:20px;border-top:1px dashed #e8e8e8}.ha-dashboard-widgets{margin-right:-10px;margin-left:-10px}.ha-dashboard-widgets__item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;float:left;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;margin-right:10px;margin-bottom:20px;margin-left:10px;padding:30px 20px;width:calc(100% - 20px);border:1px solid #e8e8e8;border-radius:5px}@media (min-width:650px){.ha-dashboard-widgets__item{width:calc(50% - 20px)}}@media (min-width:1100px){.ha-dashboard-widgets__item{width:calc(33.33% - 20px)}}@media (min-width:1350px){.ha-dashboard-widgets__item{width:calc(25% - 20px)}}.ha-dashboard-widgets__item.item--is-placeholder{opacity:.7}.ha-dashboard-widgets__item-icon{display:inline-block;margin-right:10px;width:30px;text-align:center;font-size:20px}.ha-dashboard-widgets__item:hover .ha-dashboard-widgets__item-icon{background-image:-webkit-linear-gradient(315deg,#e2498a 25%,#562dd4 100%);background-image:linear-gradient(135deg,#e2498a 25%,#562dd4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.ha-dashboard-widgets__item-title{display:inline-block;margin:0;color:#444;font-weight:400;font-size:13px}.ha-dashboard-widgets__item-title>label{font-weight:700}.ha-dashboard-widgets__item-preview{display:inline-block;margin-left:5px;color:#c2cbd2;font-size:10px;-webkit-transition:all .2s;transition:all .2s}.ha-dashboard-widgets__item-preview:active,.ha-dashboard-widgets__item-preview:focus,.ha-dashboard-widgets__item-preview:hover{box-shadow:none;color:#8799a7}.ha-dashboard-widgets__item-badge{position:absolute;top:-2px;left:-18px;padding:6px 8px 3px;width:50px;background-color:#e2498a;color:#fff;text-align:center;text-transform:uppercase;font-weight:700;font-size:7px;line-height:1;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.ha-dashboard-widgets__item-toggle{position:absolute!important;right:20px}.ha-dashboard .ha-toggle{position:relative;display:block;overflow:hidden;width:40px;height:24px;border-radius:100px;background-color:#e8e8e8;box-shadow:inset 0 0 2px 1px rgba(0,0,0,.05)}.ha-dashboard .ha-toggle__check,.ha-dashboard .ha-toggle__switch,.ha-dashboard .ha-toggle__track{position:absolute;display:block}.ha-dashboard .ha-toggle__check{top:0;left:0;z-index:6;width:100%;height:100%;opacity:0;cursor:pointer}.ha-dashboard .ha-toggle__check.disabled,.ha-dashboard .ha-toggle__check:disabled{z-index:0;opacity:0}.ha-dashboard .ha-toggle__check:checked~.ha-toggle__track{box-shadow:inset 0 0 0 20px #562dd4}.ha-dashboard .ha-toggle__check:checked~.ha-toggle__switch{right:2px;left:18px;-webkit-transition:.35s cubic-bezier(.785,.135,.15,.86);transition:.35s cubic-bezier(.785,.135,.15,.86);-webkit-transition-delay:.05s,0s;transition-delay:.05s,0s;-webkit-transition-property:left,right;transition-property:left,right}.ha-dashboard .ha-toggle__switch,.ha-dashboard .ha-toggle__track{-webkit-transition:.35s cubic-bezier(.785,.135,.15,.86);transition:.35s cubic-bezier(.785,.135,.15,.86)}.ha-dashboard .ha-toggle__switch{z-index:1;background-color:#fff;-webkit-transition-delay:0s,.05s;transition-delay:0s,.05s;-webkit-transition-property:left,right;transition-property:left,right;top:2px;right:18px;bottom:2px;left:2px;border-radius:36px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.ha-dashboard .ha-toggle__track{top:0;right:0;bottom:0;left:0;border-radius:40px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.01)}@-webkit-keyframes animateTextIndent{0%,to{letter-spacing:15px}50%{letter-spacing:0}}@keyframes animateTextIndent{0%,to{letter-spacing:15px}50%{letter-spacing:0}}.ha-action-list{margin:-4px;padding-top:20px;font-weight:700;font-size:14px;opacity:.7}.ha-action--divider{padding-right:10px;padding-left:10px;color:#e8e8e8}.ha-action--btn{display:inline-block;margin:4px;padding:5px 10px 4px;outline:none;border:1px solid;border-radius:3px;background:0 0;box-shadow:none;font-weight:700;line-height:1;cursor:pointer}.ha-action--btn[data-filter="*"]{color:#666}.ha-action--btn[data-filter="*"]:focus,.ha-action--btn[data-filter="*"]:hover{border-color:#666;background-color:#666;color:#fff}.ha-action--btn[data-filter=free]{color:#562dd4}.ha-action--btn[data-filter=free]:focus,.ha-action--btn[data-filter=free]:hover{border-color:#562dd4;background-color:#562dd4;color:#fff}.ha-action--btn[data-filter=pro]{color:#e2498a}.ha-action--btn[data-filter=pro]:focus,.ha-action--btn[data-filter=pro]:hover{border-color:#e2498a;background-color:#e2498a;color:#fff}.ha-action--btn[data-action=enable]{color:#5db429}.ha-action--btn[data-action=enable]:focus,.ha-action--btn[data-action=enable]:hover{border-color:#5db429;background-color:#5db429;color:#fff}.ha-action--btn[data-action=disable]{color:#e63d3d}.ha-action--btn[data-action=disable]:focus,.ha-action--btn[data-action=disable]:hover{border-color:#e63d3d;background-color:#e63d3d;color:#fff}.ha-home-banner{position:relative;padding-top:25.2%;border-radius:5px;background:url(../../imgs/admin/dashboard-header.png) no-repeat center center/cover}.ha-home-banner__content{position:absolute;top:50%;left:50%;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-right:15px;padding-left:15px;max-width:1000px;width:100%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ha-home-banner__logo{position:relative;top:-8px;margin-right:50px;width:150px;height:auto}.ha-home-banner__divider{width:4px;height:60px;border-radius:10px;background-color:#fff}.ha-home-banner h2{float:left;margin:0;padding-left:50px;color:#fff;font-size:28px;line-height:1.1}.ha-home-banner h2>span{font-weight:400}.ha-home-body{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px;max-width:1000px}.ha-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.ha-feature-title{margin-bottom:1rem;font-weight:700;font-size:28px}.ha-feature-sub-title-a{color:#242424;text-decoration:none}.ha-feature-sub-title-a:hover{color:#e2498a}.ha-feature-sub-title{margin-bottom:1rem;font-weight:700;font-size:18px;line-height:1.4}.ha-btn{display:inline-block;padding:.95rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px}.ha-btn:focus,.ha-btn:hover{outline:none;box-shadow:none}.ha-btn-primary{background:#5e3bc4;color:#fff}.ha-btn-primary:focus,.ha-btn-primary:hover{background:#4b2f9d;color:#fff}.ha-btn-secondary{background:#e2498a;color:#fff}.ha-btn-secondary:focus,.ha-btn-secondary:hover{background:#d6226e;color:#fff}.btn-more:hover,.ha-text-primary{color:#5e3bc4}.ha-media h3 a:hover,.ha-text-secondary{color:#e2498a}.btn-more,.ha-btn-view{color:#e2498a;text-decoration:none;font-size:16px}.ha-btn-view{color:#835ef1}.ha-cta{padding:2.5rem 3rem;background:#e2498a;background-image:-webkit-linear-gradient(320deg,#e05da4 0%,#7249cf 100%);background-image:linear-gradient(130deg,#e05da4 0%,#7249cf 100%);color:#fff}.ha-cta .ha-feature-title{margin-top:0;color:#fff}.ha-cta p{margin-bottom:1rem;color:#daacdd}.ha-cta .link{color:#fff;text-decoration:underline;font-size:16px}.ha-cta .link:hover,.ha-media h3 a{text-decoration:none}.ha-cta .btn-contribute{display:inline-block;padding:.95rem 1.5rem;border-radius:4px;background:#fff;color:#7f4bca;text-decoration:none;font-size:15px}.ha-cta .btn-contribute:hover{background:#e2498a;color:#fff}.ha-section-title{margin:0;font-size:48px;line-height:1}.ha-badge{display:inline-block;margin-bottom:.3rem;padding:.6rem 1rem;border-radius:5px;background:#e2498a;background-image:-webkit-linear-gradient(320deg,#e05da4 0%,#7249cf 100%);background-image:linear-gradient(130deg,#e05da4 0%,#7249cf 100%);color:#fff;font-weight:700;font-size:24px}.ha-sub-title-sm{margin:.3rem 0 0;font-size:16px}.ha-border-box{padding:3rem;border:1px solid #ececec;border-radius:5px;box-shadow:10px 0 20px rgba(0,0,0,.05)}.ha-media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-media img{width:180px;height:auto}.ha-media h3 a{color:#242424;line-height:1.4}.ha-media .ha-date{color:#8c8c8c}.ha-media-body{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-pro-widget{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;margin-bottom:25px;padding:1.5rem 1rem;border-radius:4px;background:#7c58e5;color:#fff;text-decoration:none;font-weight:700;font-size:13px}.ha-pro-widget:focus,.ha-pro-widget:hover{background:#df4b89;color:#fff}.ha-pro-widget i{padding-right:15px;font-weight:700;font-size:20px}.ha-dashboard .f18{font-size:18px}.ha-dashboard .f16{font-size:16px}.ha-dashboard .ha-py-5{padding-top:4rem;padding-bottom:4rem}.ha-dashboard .ha-pt-0{padding-top:0}.ha-dashboard .ha-pb-0{padding-bottom:0}.ha-dashboard .ha-pb-3{margin-bottom:3rem}.ha-dashboard .ha-pt-2{padding-top:2rem}.ha-dashboard .ha-pt-3{padding-top:3rem}.ha-dashboard .ha-pr-2{padding-right:2rem}.ha-dashboard .ha-pl-2{padding-left:2rem}.ha-dashboard .ha-mt-0{margin-top:0}.ha-dashboard .ha-mb-0{margin-bottom:0}.ha-dashboard .ha-mb-2{margin-bottom:2rem}.ha-dashboard .ha-mb-3{margin-bottom:3rem}.ha-dashboard .ha-mr-3{margin-right:1.5rem}.ha-dashboard p{margin-bottom:2.5rem}.ha-dashboard a,.ha-dashboard a:hover{-webkit-transition:all .3s;transition:all .3s}.ha-dashboard .ha-rounded{border-radius:5px}.ha-dashboard .ha-align-center{text-align:center}.ha-dashboard .ha-align-right{text-align:right}.ha-dashboard .ha-img-fluid{max-width:100%;height:auto}.ha-dashboard .ha-align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;align-items:center!important;-ms-flex-align:center!important}.ha-dashboard .ha-align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;align-items:flex-end!important;-ms-flex-align:end!important}.ha-dashboard .ha-min-height-455{min-height:455px}.ha-dashboard .ha-title-icon-size{width:48px;height:auto}@media (min-width:768px){.ha-col{position:relative;padding-right:15px;padding-left:15px;width:100%}.ha-col-11,.ha-col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.ha-col-11{-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.ha-col-10,.ha-col-9{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.ha-col-9{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.ha-col-7,.ha-col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.ha-col-7{-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.ha-col-5,.ha-col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.ha-col-5{-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.ha-col-3,.ha-col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.ha-col-3{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.ha-col-1,.ha-col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.ha-col-1{-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}}[data-tooltip]{position:relative;z-index:2;cursor:pointer}[data-tooltip]:after,[data-tooltip]:before{visibility:hidden;opacity:0;pointer-events:none}[data-tooltip]:before{position:absolute;bottom:140%;left:50%;padding:5px;width:140px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:12px;line-height:1.2;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}[data-tooltip]:after{position:absolute;left:50%;margin-top:-8px;margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}[data-tooltip]:hover:after,[data-tooltip]:hover:before{visibility:visible;opacity:1}
1
+ .ha-dashboard-tabs__content-item:after,.ha-dashboard-tabs__nav:after,.ha-dashboard-widgets:after{display:block;clear:both;content:""}.ha-dashboard{padding-top:20px}.ha-dashboard,.ha-dashboard *{box-sizing:border-box;font-family:"Nunito",sans-serif}.ha-dashboard-btn{display:inline-block;padding:15px 25px;border:0;border-radius:5px;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);text-align:center;text-decoration:none;font-weight:700;font-size:13px;line-height:1;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.ha-dashboard-btn:active,.ha-dashboard-btn:focus,.ha-dashboard-btn:hover{outline:0;box-shadow:none}.ha-dashboard-btn--lg{padding:15px 30px;font-size:14px}.ha-dashboard-btn--save{width:13em;background-color:#5db429;color:#fff}.ha-dashboard-btn--save:active,.ha-dashboard-btn--save:focus,.ha-dashboard-btn--save:hover{background-color:#488a20;color:#fff}.ha-dashboard-btn--save.disabled,.ha-dashboard-btn--save:disabled{background-color:#b3b3b3;box-shadow:none;opacity:.7;cursor:not-allowed}.ha-dashboard-tabs__nav-btn{float:right}.ha-dashboard-tabs__nav-item{display:block;float:left;padding:15px 40px;border-top:3px solid #bbb;border-radius:5px 5px 0 0;background-color:#e8e8e8;color:#888;text-decoration:none;text-transform:uppercase;font-weight:700;font-size:14px}.ha-dashboard-tabs__nav-item--pro{border-color:#d6226e;background-color:#e2498a;color:#fff}.ha-dashboard-tabs__nav-item.tab--is-active,.ha-dashboard-tabs__nav-item:active,.ha-dashboard-tabs__nav-item:focus,.ha-dashboard-tabs__nav-item:hover{outline:none;border-color:#562dd4;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);color:#562dd4;-webkit-transition:all .3s;transition:all .3s}.ha-dashboard-tabs__nav-item--pro.tab--is-active,.ha-dashboard-tabs__nav-item--pro:active,.ha-dashboard-tabs__nav-item--pro:focus,.ha-dashboard-tabs__nav-item--pro:hover{border-color:#e2498a;color:#e2498a}.ha-dashboard-tabs__nav-item:not(:last-child){margin-right:10px}.ha-dashboard-tabs__content-item{display:none;padding:40px;border-radius:0 0 5px 5px;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.ha-dashboard-tabs__content-item.tab--is-active{position:relative;z-index:1;display:block}.ha-dashboard-panel__header{padding-bottom:40px}.ha-dashboard-panel__header-content>h2{margin:0 0 20px;font-size:2em}.ha-dashboard-panel__header-content>p{margin:0;color:#8c8c8c}.ha-dashboard-panel__footer{margin-top:20px;padding-top:20px;border-top:1px dashed #e8e8e8}.ha-dashboard-widgets{margin-right:-10px;margin-left:-10px}.ha-dashboard-widgets__item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;float:left;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;margin-right:10px;margin-bottom:20px;margin-left:10px;padding:30px 20px;width:calc(100% - 20px);border:1px solid #e8e8e8;border-radius:5px}@media (min-width:650px){.ha-dashboard-widgets__item{width:calc(50% - 20px)}}@media (min-width:1100px){.ha-dashboard-widgets__item{width:calc(33.33% - 20px)}}@media (min-width:1350px){.ha-dashboard-widgets__item{width:calc(25% - 20px)}}.ha-dashboard-widgets__item.item--is-placeholder{opacity:.7}.ha-dashboard-widgets__item-icon{display:inline-block;margin-right:10px;width:30px;text-align:center;font-size:20px}.ha-dashboard-widgets__item:hover .ha-dashboard-widgets__item-icon{background-image:-webkit-linear-gradient(315deg,#e2498a 25%,#562dd4 100%);background-image:linear-gradient(135deg,#e2498a 25%,#562dd4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.ha-dashboard-widgets__item-title{display:inline-block;margin:0;color:#444;font-weight:400;font-size:13px}.ha-dashboard-widgets__item-title>label{font-weight:700}.ha-dashboard-widgets__item-preview{display:inline-block;margin-left:5px;color:#c2cbd2;font-size:10px;-webkit-transition:all .2s;transition:all .2s}.ha-dashboard-widgets__item-preview:active,.ha-dashboard-widgets__item-preview:focus,.ha-dashboard-widgets__item-preview:hover{box-shadow:none;color:#8799a7}.ha-dashboard-widgets__item-badge{position:absolute;top:-2px;left:-18px;padding:6px 8px 3px;width:50px;background-color:#e2498a;color:#fff;text-align:center;text-transform:uppercase;font-weight:700;font-size:7px;line-height:1;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.ha-dashboard-widgets__item-toggle{position:absolute!important;right:20px}.ha-dashboard .ha-toggle{position:relative;display:block;overflow:hidden;width:40px;height:24px;border-radius:100px;background-color:#e8e8e8;box-shadow:inset 0 0 2px 1px rgba(0,0,0,.05)}.ha-dashboard .ha-toggle__check,.ha-dashboard .ha-toggle__switch,.ha-dashboard .ha-toggle__track{position:absolute;display:block}.ha-dashboard .ha-toggle__check{top:0;left:0;z-index:6;width:100%;height:100%;opacity:0;cursor:pointer}.ha-dashboard .ha-toggle__check.disabled,.ha-dashboard .ha-toggle__check:disabled{z-index:0;opacity:0}.ha-dashboard .ha-toggle__check:checked~.ha-toggle__track{box-shadow:inset 0 0 0 20px #562dd4}.ha-dashboard .ha-toggle__check:checked~.ha-toggle__switch{right:2px;left:18px;-webkit-transition:.35s cubic-bezier(.785,.135,.15,.86);transition:.35s cubic-bezier(.785,.135,.15,.86);-webkit-transition-delay:.05s,0s;transition-delay:.05s,0s;-webkit-transition-property:left,right;transition-property:left,right}.ha-dashboard .ha-toggle__switch,.ha-dashboard .ha-toggle__track{-webkit-transition:.35s cubic-bezier(.785,.135,.15,.86);transition:.35s cubic-bezier(.785,.135,.15,.86)}.ha-dashboard .ha-toggle__switch{z-index:1;background-color:#fff;-webkit-transition-delay:0s,.05s;transition-delay:0s,.05s;-webkit-transition-property:left,right;transition-property:left,right;top:2px;right:18px;bottom:2px;left:2px;border-radius:36px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.ha-dashboard .ha-toggle__track{top:0;right:0;bottom:0;left:0;border-radius:40px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.01)}@-webkit-keyframes animateTextIndent{0%,to{letter-spacing:15px}50%{letter-spacing:0}}@keyframes animateTextIndent{0%,to{letter-spacing:15px}50%{letter-spacing:0}}.ha-action-list{margin:-4px;padding-top:20px;font-weight:700;font-size:14px;opacity:.7}.ha-action--divider{padding-right:10px;padding-left:10px;color:#e8e8e8}.ha-action--btn{display:inline-block;margin:4px;padding:5px 10px 4px;outline:none;border:1px solid;border-radius:3px;background:0 0;box-shadow:none;font-weight:700;line-height:1;cursor:pointer}.ha-action--btn[data-filter="*"]{color:#666}.ha-action--btn[data-filter="*"]:focus,.ha-action--btn[data-filter="*"]:hover{border-color:#666;background-color:#666;color:#fff}.ha-action--btn[data-filter=free]{color:#562dd4}.ha-action--btn[data-filter=free]:focus,.ha-action--btn[data-filter=free]:hover{border-color:#562dd4;background-color:#562dd4;color:#fff}.ha-action--btn[data-filter=pro]{color:#e2498a}.ha-action--btn[data-filter=pro]:focus,.ha-action--btn[data-filter=pro]:hover{border-color:#e2498a;background-color:#e2498a;color:#fff}.ha-action--btn[data-action=enable]{color:#5db429}.ha-action--btn[data-action=enable]:focus,.ha-action--btn[data-action=enable]:hover{border-color:#5db429;background-color:#5db429;color:#fff}.ha-action--btn[data-action=disable]{color:#e63d3d}.ha-action--btn[data-action=disable]:focus,.ha-action--btn[data-action=disable]:hover{border-color:#e63d3d;background-color:#e63d3d;color:#fff}.ha-home-banner{position:relative;padding-top:25.2%;border-radius:5px;background:url(../../imgs/admin/dashboard-header.png) no-repeat center center/cover}.ha-home-banner__content{position:absolute;top:50%;left:50%;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-right:15px;padding-left:15px;max-width:1000px;width:100%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ha-home-banner__logo{position:relative;top:-8px;margin-right:50px;width:150px;height:auto}.ha-home-banner__divider{width:4px;height:60px;border-radius:10px;background-color:#fff}.ha-home-banner h2{float:left;margin:0;padding-left:50px;color:#fff;font-size:28px;line-height:1.1}.ha-home-banner h2>span{font-weight:400}.ha-home-body{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px;max-width:1000px}.ha-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.ha-feature-title{margin-bottom:1rem;font-weight:700;font-size:28px}.ha-feature-sub-title-a{color:#242424;text-decoration:none}.ha-feature-sub-title-a:hover{color:#e2498a}.ha-feature-sub-title{margin-bottom:1rem;font-weight:700;font-size:18px;line-height:1.4}.ha-btn{display:inline-block;padding:.95rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px}.ha-btn:focus,.ha-btn:hover{outline:none;box-shadow:none}.ha-btn-primary{background:#5e3bc4;color:#fff}.ha-btn-primary:focus,.ha-btn-primary:hover{background:#4b2f9d;color:#fff}.ha-btn-secondary{background:#e2498a;color:#fff}.ha-btn-secondary:focus,.ha-btn-secondary:hover{background:#d6226e;color:#fff}.btn-more:hover,.ha-text-primary{color:#5e3bc4}.ha-media h3 a:hover,.ha-text-secondary{color:#e2498a}.btn-more,.ha-btn-view{color:#e2498a;text-decoration:none;font-size:16px}.ha-btn-view{color:#835ef1}.ha-cta{padding:2.5rem 3rem;background:#e2498a;background-image:-webkit-linear-gradient(320deg,#e05da4 0%,#7249cf 100%);background-image:linear-gradient(130deg,#e05da4 0%,#7249cf 100%);color:#fff}.ha-cta .ha-feature-title{margin-top:0;color:#fff}.ha-cta p{margin-bottom:1rem;color:#daacdd}.ha-cta .link{color:#fff;text-decoration:underline;font-size:16px}.ha-cta .link:hover,.ha-media h3 a{text-decoration:none}.ha-cta .btn-contribute{display:inline-block;padding:.95rem 1.5rem;border-radius:4px;background:#fff;color:#7f4bca;text-decoration:none;font-size:15px}.ha-cta .btn-contribute:hover{background:#e2498a;color:#fff}.ha-section-title{margin:0;font-size:48px;line-height:1}.ha-badge{display:inline-block;margin-bottom:.3rem;padding:.6rem 1rem;border-radius:5px;background:#e2498a;background-image:-webkit-linear-gradient(320deg,#e05da4 0%,#7249cf 100%);background-image:linear-gradient(130deg,#e05da4 0%,#7249cf 100%);color:#fff;font-weight:700;font-size:24px}.ha-sub-title-sm{margin:.3rem 0 0;font-size:16px}.ha-border-box{padding:3rem;border:1px solid #ececec;border-radius:5px;box-shadow:10px 0 20px rgba(0,0,0,.05)}.ha-media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-media img{width:180px;height:auto}.ha-media h3 a{color:#242424;line-height:1.4}.ha-media .ha-date{color:#8c8c8c}.ha-media-body{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-pro-widget{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;margin-bottom:25px;padding:1.5rem 1rem;border-radius:4px;background:#7c58e5;color:#fff;text-decoration:none;font-weight:700;font-size:13px}.ha-pro-widget:focus,.ha-pro-widget:hover{background:#df4b89;color:#fff}.ha-pro-widget i{padding-right:15px;font-weight:700;font-size:20px}.ha-dashboard .f18{font-size:18px}.ha-dashboard .f16{font-size:16px}.ha-dashboard .ha-py-5{padding-top:4rem;padding-bottom:4rem}.ha-dashboard .ha-pt-0{padding-top:0}.ha-dashboard .ha-pb-0{padding-bottom:0}.ha-dashboard .ha-pb-3{margin-bottom:3rem}.ha-dashboard .ha-pt-2{padding-top:2rem}.ha-dashboard .ha-pt-3{padding-top:3rem}.ha-dashboard .ha-pr-2{padding-right:2rem}.ha-dashboard .ha-pl-2{padding-left:2rem}.ha-dashboard .ha-mt-0{margin-top:0}.ha-dashboard .ha-mb-0{margin-bottom:0}.ha-dashboard .ha-mb-2{margin-bottom:2rem}.ha-dashboard .ha-mb-3{margin-bottom:3rem}.ha-dashboard .ha-mr-3{margin-right:1.5rem}.ha-dashboard p{margin-bottom:2.5rem}.ha-dashboard a,.ha-dashboard a:hover{-webkit-transition:all .3s;transition:all .3s}.ha-dashboard .ha-rounded{border-radius:5px}.ha-dashboard .ha-align-center{text-align:center}.ha-dashboard .ha-align-right{text-align:right}.ha-dashboard .ha-img-fluid{max-width:100%;height:auto}.ha-dashboard .ha-align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;align-items:center!important;-ms-flex-align:center!important}.ha-dashboard .ha-align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;align-items:flex-end!important;-ms-flex-align:end!important}.ha-dashboard .ha-min-height-455{min-height:455px}.ha-dashboard .ha-title-icon-size{width:48px;height:auto}@media (min-width:768px){.ha-col{position:relative;padding-right:15px;padding-left:15px;width:100%}.ha-col-11,.ha-col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.ha-col-11{-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.ha-col-10,.ha-col-9{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.ha-col-9{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.ha-col-7,.ha-col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.ha-col-7{-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.ha-col-5,.ha-col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.ha-col-5{-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.ha-col-3,.ha-col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.ha-col-3{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.ha-col-1,.ha-col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.ha-col-1{-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}}[data-tooltip]{position:relative;z-index:2;cursor:pointer}[data-tooltip]:after,[data-tooltip]:before{visibility:hidden;opacity:0;pointer-events:none}[data-tooltip]:before{position:absolute;bottom:140%;left:50%;padding:5px;width:140px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:12px;line-height:1.2;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}[data-tooltip]:after{position:absolute;left:50%;margin-top:-8px;margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}[data-tooltip]:hover:after,[data-tooltip]:hover:before{visibility:visible;opacity:1}
assets/admin/js/admin.js CHANGED
@@ -1,6 +1,10 @@
1
  ;(function($) {
2
  $(function() {
3
- var $clearCache = $('.hajs-clear-cache');
 
 
 
 
4
 
5
  $clearCache.on('click', 'a', function(e) {
6
  e.preventDefault();
1
  ;(function($) {
2
  $(function() {
3
+ var $clearCache = $('.hajs-clear-cache'),
4
+ $haMenu = $('#toplevel_page_happy-addons .toplevel_page_happy-addons .wp-menu-name'),
5
+ menuText = $haMenu.text();
6
+
7
+ $haMenu.text(menuText.replace(/\s/, ''));
8
 
9
  $clearCache.on('click', 'a', function(e) {
10
  e.preventDefault();
assets/admin/js/admin.min.js CHANGED
@@ -1 +1 @@
1
- !function(a){a(function(){a(".hajs-clear-cache").on("click","a",function(e){e.preventDefault();var c="all",n=a(e.delegateTarget);n.hasClass("ha-clear-page-cache")&&(c="page"),n.addClass("ha-clear-cache--init"),a.post(HappyAdmin.ajax_url,{action:"ha_clear_cache",type:c,nonce:HappyAdmin.nonce,post_id:HappyAdmin.post_id}).done(function(a){n.removeClass("ha-clear-cache--init").addClass("ha-clear-cache--done")})})})}(jQuery);
1
+ !function(a){a(function(){var e=a(".hajs-clear-cache"),c=a("#toplevel_page_happy-addons .toplevel_page_happy-addons .wp-menu-name"),n=c.text();c.text(n.replace(/\s/,"")),e.on("click","a",function(e){e.preventDefault();var c="all",n=a(e.delegateTarget);n.hasClass("ha-clear-page-cache")&&(c="page"),n.addClass("ha-clear-cache--init"),a.post(HappyAdmin.ajax_url,{action:"ha_clear_cache",type:c,nonce:HappyAdmin.nonce,post_id:HappyAdmin.post_id}).done(function(a){n.removeClass("ha-clear-cache--init").addClass("ha-clear-cache--done")})})})}(jQuery);
assets/admin/js/dashboard.js CHANGED
@@ -10,7 +10,10 @@
10
  $sidebarSubmenu = $sidebarMenuWrapper.find('.wp-submenu');
11
 
12
  $tabsNav.on('click', '.ha-dashboard-tabs__nav-item', function(event) {
13
- var $currentTab = $(event.currentTarget);
 
 
 
14
 
15
  if ( $currentTab.is( '.nav-item-is--link' ) ) {
16
  return true;
@@ -18,12 +21,6 @@
18
 
19
  event.preventDefault();
20
 
21
- var $currentTab = $(event.currentTarget),
22
- tabContentId = event.currentTarget.hash,
23
- $currentTabContent = $tabsContent.find(tabContentId);
24
-
25
- window.location.hash = tabContentId;
26
-
27
  $currentTab
28
  .addClass('tab--is-active')
29
  .siblings()
@@ -34,8 +31,9 @@
34
  .siblings()
35
  .removeClass('tab--is-active');
36
 
 
37
  $sidebarSubmenu.find('a').filter(function(i, a) {
38
- return tabContentId === a.hash;
39
  }).parent().addClass('current').siblings().removeClass('current');
40
  });
41
 
@@ -62,7 +60,6 @@
62
 
63
  var $dashboardForm = $('#ha-dashboard-form'),
64
  $widgetsList = $dashboardForm.find('.ha-dashboard-widgets'),
65
- $widgetPlaceholder = $widgetsList.find('.item--is-placeholder'),
66
  $saveButton = $dashboardForm.find('.ha-dashboard-btn--save');
67
 
68
  $dashboardForm.on('submit', function(event) {
10
  $sidebarSubmenu = $sidebarMenuWrapper.find('.wp-submenu');
11
 
12
  $tabsNav.on('click', '.ha-dashboard-tabs__nav-item', function(event) {
13
+ var $currentTab = $(event.currentTarget),
14
+ tabTargetHash = event.currentTarget.hash,
15
+ tabIdSelector = '#tab-content-' + tabTargetHash.substring(1),
16
+ $currentTabContent = $tabsContent.find(tabIdSelector);
17
 
18
  if ( $currentTab.is( '.nav-item-is--link' ) ) {
19
  return true;
21
 
22
  event.preventDefault();
23
 
 
 
 
 
 
 
24
  $currentTab
25
  .addClass('tab--is-active')
26
  .siblings()
31
  .siblings()
32
  .removeClass('tab--is-active');
33
 
34
+ window.location.hash = tabTargetHash;
35
  $sidebarSubmenu.find('a').filter(function(i, a) {
36
+ return tabTargetHash === a.hash;
37
  }).parent().addClass('current').siblings().removeClass('current');
38
  });
39
 
60
 
61
  var $dashboardForm = $('#ha-dashboard-form'),
62
  $widgetsList = $dashboardForm.find('.ha-dashboard-widgets'),
 
63
  $saveButton = $dashboardForm.find('.ha-dashboard-btn--save');
64
 
65
  $dashboardForm.on('submit', function(event) {
assets/admin/js/dashboard.min.js CHANGED
@@ -1 +1 @@
1
- !function(a,e){"use strict";a(function(){var t=a(".ha-dashboard-tabs"),n=t.find(".ha-dashboard-tabs__nav"),i=t.find(".ha-dashboard-tabs__content"),s=a("#toplevel_page_happy-addons"),r=s.find(".wp-submenu");n.on("click",".ha-dashboard-tabs__nav-item",function(e){var t=a(e.currentTarget);if(t.is(".nav-item-is--link"))return!0;e.preventDefault();var t=a(e.currentTarget),n=e.currentTarget.hash,s=i.find(n);window.location.hash=n,t.addClass("tab--is-active").siblings().removeClass("tab--is-active"),s.addClass("tab--is-active").siblings().removeClass("tab--is-active"),r.find("a").filter(function(a,e){return n===e.hash}).parent().addClass("current").siblings().removeClass("current")}),window.location.hash&&(n.find('a[href="'+window.location.hash+'"]').click(),r.find("a").filter(function(a,e){return window.location.hash===e.hash}).parent().addClass("current").siblings().removeClass("current")),r.on("click","a",function(e){if(!e.currentTarget.hash)return!0;e.preventDefault(),window.location.hash=e.currentTarget.hash,a(e.currentTarget).parent().addClass("current").siblings().removeClass("current"),n.find('a[href="'+e.currentTarget.hash+'"]').click()});var o=a("#ha-dashboard-form"),c=o.find(".ha-dashboard-widgets"),d=(c.find(".item--is-placeholder"),o.find(".ha-dashboard-btn--save"));o.on("submit",function(t){t.preventDefault(),a.post({url:e.ajaxUrl,data:{nonce:e.nonce,action:e.action,data:o.serialize()},beforeSend:function(){d.text(".....").css("animation","animateTextIndent infinite 2.5s")},success:function(a){if(a.success)var t=setTimeout(function(){d.css("animation","").attr("disabled",!0).text(e.savedLabel),clearTimeout(t)},500)}})}),o.on("change",":checkbox, :radio",function(){d.attr("disabled",!1).text(e.saveChangesLabel)}),a(".ha-action--btn").on("click",function(e){e.preventDefault();var t=a(this),n=t.data("filter"),i=t.data("action"),s=c.find(".ha-dashboard-widgets__item"),r=s.not(".item--is-pro"),o=s.filter(".item--is-pro"),d=s.not(".item--is-placeholder").find(":checkbox");if(n)switch(n){case"free":r.show(),o.hide();break;case"pro":r.hide(),o.show();break;case"*":default:s.show()}i&&("enable"===i?d.prop("checked",!0):"disable"===i&&d.prop("checked",!1),d.trigger("change"))}),a(".ha-feature-sub-title-a").magnificPopup({disableOn:700,type:"iframe",mainClass:"mfp-fade",removalDelay:160,preloader:!1,fixedContentPos:!1}),a(".btn-how-to-contribute").on("click",function(e){e.preventDefault(),a(this).next().show()})})}(jQuery,window.HappyDashboard);
1
+ !function(a,e){"use strict";a(function(){var t=a(".ha-dashboard-tabs"),n=t.find(".ha-dashboard-tabs__nav"),i=t.find(".ha-dashboard-tabs__content"),s=a("#toplevel_page_happy-addons"),r=s.find(".wp-submenu");n.on("click",".ha-dashboard-tabs__nav-item",function(e){var t=a(e.currentTarget),n=e.currentTarget.hash,s="#tab-content-"+n.substring(1),o=i.find(s);if(t.is(".nav-item-is--link"))return!0;e.preventDefault(),t.addClass("tab--is-active").siblings().removeClass("tab--is-active"),o.addClass("tab--is-active").siblings().removeClass("tab--is-active"),window.location.hash=n,r.find("a").filter(function(a,e){return n===e.hash}).parent().addClass("current").siblings().removeClass("current")}),window.location.hash&&(n.find('a[href="'+window.location.hash+'"]').click(),r.find("a").filter(function(a,e){return window.location.hash===e.hash}).parent().addClass("current").siblings().removeClass("current")),r.on("click","a",function(e){if(!e.currentTarget.hash)return!0;e.preventDefault(),window.location.hash=e.currentTarget.hash,a(e.currentTarget).parent().addClass("current").siblings().removeClass("current"),n.find('a[href="'+e.currentTarget.hash+'"]').click()});var o=a("#ha-dashboard-form"),c=o.find(".ha-dashboard-widgets"),d=o.find(".ha-dashboard-btn--save");o.on("submit",function(t){t.preventDefault(),a.post({url:e.ajaxUrl,data:{nonce:e.nonce,action:e.action,data:o.serialize()},beforeSend:function(){d.text(".....").css("animation","animateTextIndent infinite 2.5s")},success:function(a){if(a.success)var t=setTimeout(function(){d.css("animation","").attr("disabled",!0).text(e.savedLabel),clearTimeout(t)},500)}})}),o.on("change",":checkbox, :radio",function(){d.attr("disabled",!1).text(e.saveChangesLabel)}),a(".ha-action--btn").on("click",function(e){e.preventDefault();var t=a(this),n=t.data("filter"),i=t.data("action"),s=c.find(".ha-dashboard-widgets__item"),r=s.not(".item--is-pro"),o=s.filter(".item--is-pro"),d=s.not(".item--is-placeholder").find(":checkbox");if(n)switch(n){case"free":r.show(),o.hide();break;case"pro":r.hide(),o.show();break;case"*":default:s.show()}i&&("enable"===i?d.prop("checked",!0):"disable"===i&&d.prop("checked",!1),d.trigger("change"))}),a(".ha-feature-sub-title-a").magnificPopup({disableOn:700,type:"iframe",mainClass:"mfp-fade",removalDelay:160,preloader:!1,fixedContentPos:!1}),a(".btn-how-to-contribute").on("click",function(e){e.preventDefault(),a(this).next().show()})})}(jQuery,window.HappyDashboard);
assets/admin/js/editor.js CHANGED
@@ -119,6 +119,24 @@
119
  text = div.textContent || div.innerText || text;
120
 
121
  return text.length > 20 ? text.substring(0, 20) + "..." : text;
122
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
 
124
  }(elementor, jQuery, window));
119
  text = div.textContent || div.innerText || text;
120
 
121
  return text.length > 20 ? text.substring(0, 20) + "..." : text;
122
+ };
123
+
124
+ elementor.modules.layouts.panel.pages.menu.Menu.addItem({
125
+ name: 'happyaddons-home',
126
+ icon: 'hm hm-happyaddons',
127
+ title: HappyAddonsEditor.editorPanelHomeLinkTitle,
128
+ type: 'link',
129
+ link: HappyAddonsEditor.editorPanelHomeLinkURL,
130
+ newTab: true
131
+ }, 'settings');
132
+
133
+ elementor.modules.layouts.panel.pages.menu.Menu.addItem({
134
+ name: 'happyaddons-widgets',
135
+ icon: 'hm hm-cross-game',
136
+ title: HappyAddonsEditor.editorPanelWidgetsLinkTitle,
137
+ type: 'link',
138
+ link: HappyAddonsEditor.editorPanelWidgetsLinkURL,
139
+ newTab: true
140
+ }, 'settings');
141
 
142
  }(elementor, jQuery, window));
assets/admin/js/editor.min.js CHANGED
@@ -1 +1 @@
1
- !function(e,t,n){"use strict";function i(){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 a(t,n,i){t="ha_transform_fx_"+t,n="ha_transform_fx_"+n,i.on("change:"+t,function(t,a){if(!a){var o=e.getPanelView().getCurrentPageView().children.find(function(e){return e.model.get("name")===n});i.set(n,_.extend({},i.defaults[n])),o&&o.render()}})}function o(t){var n=elementorFrontend.config.elements.data[t.cid];_.each(i(),function(e,t){_.each(e,function(e){a(t+"_toggle",t+"_"+e,n)})}),e.getPanelView().getCurrentPageView().model.on("editor:close",function(){_.each(i(),function(e,t){n.off("change:ha_transform_fx_"+t+"_toggle")})})}if(e.on("panel:init",function(){t("#elementor-panel-elements-search-input").on("keyup",_.debounce(function(){t("#elementor-panel-elements").find(".hm").parents(".elementor-element").addClass("is-ha-widget")},100))}),e.hooks.addAction("panel/open_editor/widget",function(e,t){o(t)}),e.modules.controls.Icons){var l=e.modules.controls.Icons.extend({getControlValue:function(){var e=this.constructor.__super__.getControlValue.call(this),t=this.model,n=this.getValueToMigrate(),i={value:"",library:"happy-icons"};if(_.isObject(e)&&"svg"!==e.library&&0===e.value.indexOf("fashm"))return i.value=e.value.substr(e.value.indexOf("hm hm-")),this.elementSettingsModel.set(t.get("name"),i),i;if(!_.isObject(e)&&n&&0===n.indexOf("hm hm-"))return i.value=n,this.elementSettingsModel.set(t.get("name"),i),i;if(!this.isMigrationAllowed())return n;if(!n)return e;var a=this.elementSettingsModel.get(this.dataKeys.migratedKey),o=t.get("name");return this.cache.migratedFlag[o]?this.cache.migratedFlag[o]:a&&a[o]?e:this.migrateFa4toFa5(n)}});e.addControlView("icons",l)}n.ha_has_icon_library=function(){return e.helpers&&e.helpers.renderIcon},n.ha_get_feature_label=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}}(elementor,jQuery,window);
1
+ !function(e,t,n){"use strict";function i(){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 a(t,n,i){t="ha_transform_fx_"+t,n="ha_transform_fx_"+n,i.on("change:"+t,function(t,a){if(!a){var o=e.getPanelView().getCurrentPageView().children.find(function(e){return e.model.get("name")===n});i.set(n,_.extend({},i.defaults[n])),o&&o.render()}})}function o(t){var n=elementorFrontend.config.elements.data[t.cid];_.each(i(),function(e,t){_.each(e,function(e){a(t+"_toggle",t+"_"+e,n)})}),e.getPanelView().getCurrentPageView().model.on("editor:close",function(){_.each(i(),function(e,t){n.off("change:ha_transform_fx_"+t+"_toggle")})})}if(e.on("panel:init",function(){t("#elementor-panel-elements-search-input").on("keyup",_.debounce(function(){t("#elementor-panel-elements").find(".hm").parents(".elementor-element").addClass("is-ha-widget")},100))}),e.hooks.addAction("panel/open_editor/widget",function(e,t){o(t)}),e.modules.controls.Icons){var l=e.modules.controls.Icons.extend({getControlValue:function(){var e=this.constructor.__super__.getControlValue.call(this),t=this.model,n=this.getValueToMigrate(),i={value:"",library:"happy-icons"};if(_.isObject(e)&&"svg"!==e.library&&0===e.value.indexOf("fashm"))return i.value=e.value.substr(e.value.indexOf("hm hm-")),this.elementSettingsModel.set(t.get("name"),i),i;if(!_.isObject(e)&&n&&0===n.indexOf("hm hm-"))return i.value=n,this.elementSettingsModel.set(t.get("name"),i),i;if(!this.isMigrationAllowed())return n;if(!n)return e;var a=this.elementSettingsModel.get(this.dataKeys.migratedKey),o=t.get("name");return this.cache.migratedFlag[o]?this.cache.migratedFlag[o]:a&&a[o]?e:this.migrateFa4toFa5(n)}});e.addControlView("icons",l)}n.ha_has_icon_library=function(){return e.helpers&&e.helpers.renderIcon},n.ha_get_feature_label=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},e.modules.layouts.panel.pages.menu.Menu.addItem({name:"happyaddons-home",icon:"hm hm-happyaddons",title:HappyAddonsEditor.editorPanelHomeLinkTitle,type:"link",link:HappyAddonsEditor.editorPanelHomeLinkURL,newTab:!0},"settings"),e.modules.layouts.panel.pages.menu.Menu.addItem({name:"happyaddons-widgets",icon:"hm hm-cross-game",title:HappyAddonsEditor.editorPanelWidgetsLinkTitle,type:"link",link:HappyAddonsEditor.editorPanelWidgetsLinkURL,newTab:!0},"settings")}(elementor,jQuery,window);
assets/css/main.css CHANGED
@@ -13,14 +13,10 @@
13
  overflow-wrap: break-word;
14
  }
15
 
16
- .ha-logo-grid-wrapper:before,
17
  .ha-logo-grid-wrapper:after {
18
- display: table;
19
- content: " ";
20
- }
21
-
22
- .ha-logo-grid-wrapper:after {
23
- clear: both;
24
  }
25
 
26
  .ha-card > .elementor-widget-container,
@@ -38,14 +34,10 @@
38
  overflow-wrap: break-word;
39
  }
40
 
41
- .ha-logo-grid-wrapper:before,
42
- .ha-logo-grid-wrapper:after {
43
- display: table;
44
- content: " ";
45
- }
46
-
47
  .ha-logo-grid-wrapper:after {
48
- clear: both;
 
 
49
  }
50
 
51
  .happy-addon,
@@ -124,14 +116,10 @@
124
  overflow-wrap: break-word;
125
  }
126
 
127
- .ha-logo-grid-wrapper:before,
128
  .ha-logo-grid-wrapper:after {
129
- display: table;
130
- content: " ";
131
- }
132
-
133
- .ha-logo-grid-wrapper:after {
134
- clear: both;
135
  }
136
 
137
  .ha-btn {
@@ -239,14 +227,10 @@
239
  overflow-wrap: break-word;
240
  }
241
 
242
- .ha-logo-grid-wrapper:before,
243
  .ha-logo-grid-wrapper:after {
244
- display: table;
245
- content: " ";
246
- }
247
-
248
- .ha-logo-grid-wrapper:after {
249
- clear: both;
250
  }
251
 
252
  .ha-card-figure {
@@ -361,14 +345,10 @@
361
  overflow-wrap: break-word;
362
  }
363
 
364
- .ha-logo-grid-wrapper:before,
365
- .ha-logo-grid-wrapper:after {
366
- display: table;
367
- content: " ";
368
- }
369
-
370
  .ha-logo-grid-wrapper:after {
371
- clear: both;
 
 
372
  }
373
 
374
  .ha-infobox > .elementor-widget-container {
@@ -433,14 +413,10 @@
433
  overflow-wrap: break-word;
434
  }
435
 
436
- .ha-logo-grid-wrapper:before,
437
- .ha-logo-grid-wrapper:after {
438
- display: table;
439
- content: " ";
440
- }
441
-
442
  .ha-logo-grid-wrapper:after {
443
- clear: both;
 
 
444
  }
445
 
446
  .ha-icon-box > .elementor-widget-container {
@@ -514,14 +490,10 @@
514
  overflow-wrap: break-word;
515
  }
516
 
517
- .ha-logo-grid-wrapper:before,
518
- .ha-logo-grid-wrapper:after {
519
- display: table;
520
- content: " ";
521
- }
522
-
523
  .ha-logo-grid-wrapper:after {
524
- clear: both;
 
 
525
  }
526
 
527
  .ha-member > .elementor-widget-container {
@@ -592,14 +564,10 @@
592
  overflow-wrap: break-word;
593
  }
594
 
595
- .ha-logo-grid-wrapper:before,
596
- .ha-logo-grid-wrapper:after {
597
- display: table;
598
- content: " ";
599
- }
600
-
601
  .ha-logo-grid-wrapper:after {
602
- clear: both;
 
 
603
  }
604
 
605
  .ha-review-header {
@@ -733,14 +701,10 @@
733
  overflow-wrap: break-word;
734
  }
735
 
736
- .ha-logo-grid-wrapper:before,
737
  .ha-logo-grid-wrapper:after {
738
- display: table;
739
- content: " ";
740
- }
741
-
742
- .ha-logo-grid-wrapper:after {
743
- clear: both;
744
  }
745
 
746
  .ha-image-compare .twentytwenty-container,
@@ -763,14 +727,10 @@
763
  overflow-wrap: break-word;
764
  }
765
 
766
- .ha-logo-grid-wrapper:before,
767
- .ha-logo-grid-wrapper:after {
768
- display: table;
769
- content: " ";
770
- }
771
-
772
  .ha-logo-grid-wrapper:after {
773
- clear: both;
 
 
774
  }
775
 
776
  .ha-gallery-filter {
@@ -824,14 +784,10 @@
824
  overflow-wrap: break-word;
825
  }
826
 
827
- .ha-logo-grid-wrapper:before,
828
  .ha-logo-grid-wrapper:after {
829
- display: table;
830
- content: " ";
831
- }
832
-
833
- .ha-logo-grid-wrapper:after {
834
- clear: both;
835
  }
836
 
837
  .ha-image-grid-item {
@@ -874,14 +830,10 @@
874
  overflow-wrap: break-word;
875
  }
876
 
877
- .ha-logo-grid-wrapper:before,
878
  .ha-logo-grid-wrapper:after {
879
- display: table;
880
- content: " ";
881
- }
882
-
883
- .ha-logo-grid-wrapper:after {
884
- clear: both;
885
  }
886
 
887
  .ha-justified-gallery-item,
@@ -945,14 +897,10 @@
945
  overflow-wrap: break-word;
946
  }
947
 
948
- .ha-logo-grid-wrapper:before,
949
  .ha-logo-grid-wrapper:after {
950
- display: table;
951
- content: " ";
952
- }
953
-
954
- .ha-logo-grid-wrapper:after {
955
- clear: both;
956
  }
957
 
958
  .ha-slider .slick-vertical .slick-slide,
@@ -1101,14 +1049,10 @@
1101
  overflow-wrap: break-word;
1102
  }
1103
 
1104
- .ha-logo-grid-wrapper:before,
1105
- .ha-logo-grid-wrapper:after {
1106
- display: table;
1107
- content: " ";
1108
- }
1109
-
1110
  .ha-logo-grid-wrapper:after {
1111
- clear: both;
 
 
1112
  }
1113
 
1114
  .ha-skills > .elementor-widget-container {
@@ -1198,14 +1142,10 @@
1198
  overflow-wrap: break-word;
1199
  }
1200
 
1201
- .ha-logo-grid-wrapper:before,
1202
- .ha-logo-grid-wrapper:after {
1203
- display: table;
1204
- content: " ";
1205
- }
1206
-
1207
  .ha-logo-grid-wrapper:after {
1208
- clear: both;
 
 
1209
  }
1210
 
1211
  .ha-gradient-heading {
@@ -1232,14 +1172,10 @@
1232
  overflow-wrap: break-word;
1233
  }
1234
 
1235
- .ha-logo-grid-wrapper:before,
1236
- .ha-logo-grid-wrapper:after {
1237
- display: table;
1238
- content: " ";
1239
- }
1240
-
1241
  .ha-logo-grid-wrapper:after {
1242
- clear: both;
 
 
1243
  }
1244
 
1245
  .ha-logo-grid-item {
@@ -1710,21 +1646,10 @@
1710
  overflow-wrap: break-word;
1711
  }
1712
 
1713
- .ha-logo-grid-wrapper:before,
1714
- .ha-logo-grid-wrapper:after {
1715
- display: table;
1716
- content: " ";
1717
- }
1718
-
1719
  .ha-logo-grid-wrapper:after {
1720
- clear: both;
1721
- }
1722
-
1723
- .ha-dual-button > .elementor-widget-container {
1724
- display: -webkit-box;
1725
- display: -webkit-flex;
1726
- display: -ms-flexbox;
1727
- display: flex;
1728
  }
1729
 
1730
  .ha-dual-btn,
@@ -1746,29 +1671,25 @@
1746
  }
1747
 
1748
  .ha-dual-btn--left {
1749
- border-top-left-radius: 50px;
1750
- border-bottom-left-radius: 50px;
1751
  background-color: #562dd4;
1752
  }
1753
  .ha-dual-btn--left:hover,
1754
  .ha-dual-btn--left:focus {
1755
- background-color: #4423ab;
 
1756
  }
1757
 
1758
  .ha-dual-btn--right {
1759
- border-top-right-radius: 50px;
1760
- border-bottom-right-radius: 50px;
1761
  background-color: #e2498a;
1762
  }
1763
  .ha-dual-btn--right:hover,
1764
  .ha-dual-btn--right:focus {
1765
- background-color: #d6226e;
 
1766
  }
1767
 
1768
  .ha-dual-btn-connector {
1769
  position: absolute !important;
1770
- top: 50%;
1771
- right: 0;
1772
  z-index: 9;
1773
  width: 30px;
1774
  height: 30px;
@@ -1776,7 +1697,7 @@
1776
  background-color: #fff;
1777
  box-shadow: 0 0 0 5px rgba(255, 255, 255, .3);
1778
  color: #27374c;
1779
- text-transform: uppercase;
1780
  font-size: 12px;
1781
  line-height: 30px;
1782
  -webkit-transform: translate(50%, -50%);
@@ -1784,6 +1705,15 @@
1784
  transform: translate(50%, -50%);
1785
  }
1786
 
 
 
 
 
 
 
 
 
 
1787
  .ha-dual-btn-icon--before {
1788
  margin-right: 5px;
1789
  }
@@ -1792,6 +1722,243 @@
1792
  margin-left: 5px;
1793
  }
1794
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1795
  .ha-card > .elementor-widget-container,
1796
  .ha-infobox > .elementor-widget-container,
1797
  .ha-icon-box > .elementor-widget-container,
@@ -1807,14 +1974,10 @@
1807
  overflow-wrap: break-word;
1808
  }
1809
 
1810
- .ha-logo-grid-wrapper:before,
1811
- .ha-logo-grid-wrapper:after {
1812
- display: table;
1813
- content: " ";
1814
- }
1815
-
1816
  .ha-logo-grid-wrapper:after {
1817
- clear: both;
 
 
1818
  }
1819
 
1820
  .ha-testimonial--basic > .elementor-widget-container {
@@ -1954,14 +2117,10 @@
1954
  overflow-wrap: break-word;
1955
  }
1956
 
1957
- .ha-logo-grid-wrapper:before,
1958
- .ha-logo-grid-wrapper:after {
1959
- display: table;
1960
- content: " ";
1961
- }
1962
-
1963
  .ha-logo-grid-wrapper:after {
1964
- clear: both;
 
 
1965
  }
1966
 
1967
  .ha-number-body {
@@ -2017,14 +2176,10 @@
2017
  overflow-wrap: break-word;
2018
  }
2019
 
2020
- .ha-logo-grid-wrapper:before,
2021
- .ha-logo-grid-wrapper:after {
2022
- display: table;
2023
- content: " ";
2024
- }
2025
-
2026
  .ha-logo-grid-wrapper:after {
2027
- clear: both;
 
 
2028
  }
2029
 
2030
  .ha-flip-box-container:after {
@@ -2267,14 +2422,10 @@
2267
  overflow-wrap: break-word;
2268
  }
2269
 
2270
- .ha-logo-grid-wrapper:before,
2271
- .ha-logo-grid-wrapper:after {
2272
- display: table;
2273
- content: " ";
2274
- }
2275
-
2276
  .ha-logo-grid-wrapper:after {
2277
- clear: both;
 
 
2278
  }
2279
 
2280
  .ha-pricing-table > .elementor-widget-container {
@@ -2401,14 +2552,10 @@
2401
  overflow-wrap: break-word;
2402
  }
2403
 
2404
- .ha-logo-grid-wrapper:before,
2405
  .ha-logo-grid-wrapper:after {
2406
- display: table;
2407
- content: " ";
2408
- }
2409
-
2410
- .ha-logo-grid-wrapper:after {
2411
- clear: both;
2412
  }
2413
 
2414
  .ha-step-flow > .elementor-widget-container {
13
  overflow-wrap: break-word;
14
  }
15
 
 
16
  .ha-logo-grid-wrapper:after {
17
+ display: block;
18
+ clear: both;
19
+ content: "";
 
 
 
20
  }
21
 
22
  .ha-card > .elementor-widget-container,
34
  overflow-wrap: break-word;
35
  }
36
 
 
 
 
 
 
 
37
  .ha-logo-grid-wrapper:after {
38
+ display: block;
39
+ clear: both;
40
+ content: "";
41
  }
42
 
43
  .happy-addon,
116
  overflow-wrap: break-word;
117
  }
118
 
 
119
  .ha-logo-grid-wrapper:after {
120
+ display: block;
121
+ clear: both;
122
+ content: "";
 
 
 
123
  }
124
 
125
  .ha-btn {
227
  overflow-wrap: break-word;
228
  }
229
 
 
230
  .ha-logo-grid-wrapper:after {
231
+ display: block;
232
+ clear: both;
233
+ content: "";
 
 
 
234
  }
235
 
236
  .ha-card-figure {
345
  overflow-wrap: break-word;
346
  }
347
 
 
 
 
 
 
 
348
  .ha-logo-grid-wrapper:after {
349
+ display: block;
350
+ clear: both;
351
+ content: "";
352
  }
353
 
354
  .ha-infobox > .elementor-widget-container {
413
  overflow-wrap: break-word;
414
  }
415
 
 
 
 
 
 
 
416
  .ha-logo-grid-wrapper:after {
417
+ display: block;
418
+ clear: both;
419
+ content: "";
420
  }
421
 
422
  .ha-icon-box > .elementor-widget-container {
490
  overflow-wrap: break-word;
491
  }
492
 
 
 
 
 
 
 
493
  .ha-logo-grid-wrapper:after {
494
+ display: block;
495
+ clear: both;
496
+ content: "";
497
  }
498
 
499
  .ha-member > .elementor-widget-container {
564
  overflow-wrap: break-word;
565
  }
566
 
 
 
 
 
 
 
567
  .ha-logo-grid-wrapper:after {
568
+ display: block;
569
+ clear: both;
570
+ content: "";
571
  }
572
 
573
  .ha-review-header {
701
  overflow-wrap: break-word;
702
  }
703
 
 
704
  .ha-logo-grid-wrapper:after {
705
+ display: block;
706
+ clear: both;
707
+ content: "";
 
 
 
708
  }
709
 
710
  .ha-image-compare .twentytwenty-container,
727
  overflow-wrap: break-word;
728
  }
729
 
 
 
 
 
 
 
730
  .ha-logo-grid-wrapper:after {
731
+ display: block;
732
+ clear: both;
733
+ content: "";
734
  }
735
 
736
  .ha-gallery-filter {
784
  overflow-wrap: break-word;
785
  }
786
 
 
787
  .ha-logo-grid-wrapper:after {
788
+ display: block;
789
+ clear: both;
790
+ content: "";
 
 
 
791
  }
792
 
793
  .ha-image-grid-item {
830
  overflow-wrap: break-word;
831
  }
832
 
 
833
  .ha-logo-grid-wrapper:after {
834
+ display: block;
835
+ clear: both;
836
+ content: "";
 
 
 
837
  }
838
 
839
  .ha-justified-gallery-item,
897
  overflow-wrap: break-word;
898
  }
899
 
 
900
  .ha-logo-grid-wrapper:after {
901
+ display: block;
902
+ clear: both;
903
+ content: "";
 
 
 
904
  }
905
 
906
  .ha-slider .slick-vertical .slick-slide,
1049
  overflow-wrap: break-word;
1050
  }
1051
 
 
 
 
 
 
 
1052
  .ha-logo-grid-wrapper:after {
1053
+ display: block;
1054
+ clear: both;
1055
+ content: "";
1056
  }
1057
 
1058
  .ha-skills > .elementor-widget-container {
1142
  overflow-wrap: break-word;
1143
  }
1144
 
 
 
 
 
 
 
1145
  .ha-logo-grid-wrapper:after {
1146
+ display: block;
1147
+ clear: both;
1148
+ content: "";
1149
  }
1150
 
1151
  .ha-gradient-heading {
1172
  overflow-wrap: break-word;
1173
  }
1174
 
 
 
 
 
 
 
1175
  .ha-logo-grid-wrapper:after {
1176
+ display: block;
1177
+ clear: both;
1178
+ content: "";
1179
  }
1180
 
1181
  .ha-logo-grid-item {
1646
  overflow-wrap: break-word;
1647
  }
1648
 
 
 
 
 
 
 
1649
  .ha-logo-grid-wrapper:after {
1650
+ display: block;
1651
+ clear: both;
1652
+ content: "";
 
 
 
 
 
1653
  }
1654
 
1655
  .ha-dual-btn,
1671
  }
1672
 
1673
  .ha-dual-btn--left {
 
 
1674
  background-color: #562dd4;
1675
  }
1676
  .ha-dual-btn--left:hover,
1677
  .ha-dual-btn--left:focus {
1678
+ background-color: #4423ab;
1679
+ color: #fff;
1680
  }
1681
 
1682
  .ha-dual-btn--right {
 
 
1683
  background-color: #e2498a;
1684
  }
1685
  .ha-dual-btn--right:hover,
1686
  .ha-dual-btn--right:focus {
1687
+ background-color: #d6226e;
1688
+ color: #fff;
1689
  }
1690
 
1691
  .ha-dual-btn-connector {
1692
  position: absolute !important;
 
 
1693
  z-index: 9;
1694
  width: 30px;
1695
  height: 30px;
1697
  background-color: #fff;
1698
  box-shadow: 0 0 0 5px rgba(255, 255, 255, .3);
1699
  color: #27374c;
1700
+ text-transform: uppercase;
1701
  font-size: 12px;
1702
  line-height: 30px;
1703
  -webkit-transform: translate(50%, -50%);
1705
  transform: translate(50%, -50%);
1706
  }
1707
 
1708
+ .ha-dual-btn-icon > svg {
1709
+ width: 1em;
1710
+ height: auto;
1711
+ }
1712
+
1713
+ .ha-dual-btn-icon > i {
1714
+ font-size: 1em;
1715
+ }
1716
+
1717
  .ha-dual-btn-icon--before {
1718
  margin-right: 5px;
1719
  }
1722
  margin-left: 5px;
1723
  }
1724
 
1725
+ .ha-dual-button > .elementor-widget-container {
1726
+ display: -webkit-box;
1727
+ display: -webkit-flex;
1728
+ display: -ms-flexbox;
1729
+ display: flex;
1730
+ }
1731
+
1732
+ .ha-dual-button--mobile-layout-stack > .elementor-widget-container {
1733
+ -webkit-box-orient: vertical;
1734
+ -webkit-box-direction: normal;
1735
+ -webkit-flex-direction: column;
1736
+ -ms-flex-direction: column;
1737
+ flex-direction: column;
1738
+ }
1739
+
1740
+ .ha-dual-button--mobile-layout-stack .ha-dual-btn-connector {
1741
+ top: 100%;
1742
+ right: 50%;
1743
+ }
1744
+
1745
+ .ha-dual-button--mobile-layout-stack .ha-dual-btn--left {
1746
+ border-radius: 30px 30px 0 0;
1747
+ }
1748
+
1749
+ .ha-dual-button--mobile-layout-stack .ha-dual-btn--right {
1750
+ border-radius: 0 0 30px 30px;
1751
+ }
1752
+
1753
+ .ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left > .elementor-widget-container {
1754
+ -webkit-box-align: start;
1755
+ -webkit-align-items: flex-start;
1756
+ align-items: flex-start;
1757
+ -ms-flex-align: start;
1758
+ }
1759
+
1760
+ .ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center > .elementor-widget-container {
1761
+ -webkit-box-align: center;
1762
+ -webkit-align-items: center;
1763
+ align-items: center;
1764
+ -ms-flex-align: center;
1765
+ }
1766
+
1767
+ .ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-right > .elementor-widget-container {
1768
+ -webkit-box-align: end;
1769
+ -webkit-align-items: flex-end;
1770
+ align-items: flex-end;
1771
+ -ms-flex-align: end;
1772
+ }
1773
+
1774
+ .ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-left > .elementor-widget-container {
1775
+ -webkit-box-pack: start;
1776
+ -ms-flex-pack: start;
1777
+ -webkit-justify-content: flex-start;
1778
+ justify-content: flex-start;
1779
+ }
1780
+
1781
+ .ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-center > .elementor-widget-container {
1782
+ -webkit-box-pack: center;
1783
+ -ms-flex-pack: center;
1784
+ -webkit-justify-content: center;
1785
+ justify-content: center;
1786
+ }
1787
+
1788
+ .ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-right > .elementor-widget-container {
1789
+ -webkit-box-pack: end;
1790
+ -ms-flex-pack: end;
1791
+ -webkit-justify-content: flex-end;
1792
+ justify-content: flex-end;
1793
+ }
1794
+
1795
+ .ha-dual-button--mobile-layout-queue > .elementor-widget-container {
1796
+ -webkit-box-orient: horizontal;
1797
+ -webkit-box-direction: normal;
1798
+ -webkit-flex-direction: row;
1799
+ -ms-flex-direction: row;
1800
+ flex-direction: row;
1801
+ }
1802
+
1803
+ .ha-dual-button--mobile-layout-queue .ha-dual-btn-connector {
1804
+ top: 50%;
1805
+ right: 0;
1806
+ }
1807
+
1808
+ .ha-dual-button--mobile-layout-queue .ha-dual-btn--left {
1809
+ border-radius: 50px 0 0 50px;
1810
+ }
1811
+
1812
+ .ha-dual-button--mobile-layout-queue .ha-dual-btn--right {
1813
+ border-radius: 0 50px 50px 0;
1814
+ }
1815
+
1816
+ @media (min-width: 768px) {
1817
+ .ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-left > .elementor-widget-container {
1818
+ -webkit-box-align: start;
1819
+ -webkit-align-items: flex-start;
1820
+ align-items: flex-start;
1821
+ -ms-flex-align: start;
1822
+ }
1823
+ .ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-center > .elementor-widget-container {
1824
+ -webkit-box-align: center;
1825
+ -webkit-align-items: center;
1826
+ align-items: center;
1827
+ -ms-flex-align: center;
1828
+ }
1829
+ .ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-right > .elementor-widget-container {
1830
+ -webkit-box-align: end;
1831
+ -webkit-align-items: flex-end;
1832
+ align-items: flex-end;
1833
+ -ms-flex-align: end;
1834
+ }
1835
+ .ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-left > .elementor-widget-container {
1836
+ -webkit-box-pack: start;
1837
+ -ms-flex-pack: start;
1838
+ -webkit-justify-content: flex-start;
1839
+ justify-content: flex-start;
1840
+ }
1841
+ .ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-center > .elementor-widget-container {
1842
+ -webkit-box-pack: center;
1843
+ -ms-flex-pack: center;
1844
+ -webkit-justify-content: center;
1845
+ justify-content: center;
1846
+ }
1847
+ .ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-right > .elementor-widget-container {
1848
+ -webkit-box-pack: end;
1849
+ -ms-flex-pack: end;
1850
+ -webkit-justify-content: flex-end;
1851
+ justify-content: flex-end;
1852
+ }
1853
+ .ha-dual-button--tablet-layout-stack > .elementor-widget-container {
1854
+ -webkit-box-orient: vertical;
1855
+ -webkit-box-direction: normal;
1856
+ -webkit-flex-direction: column;
1857
+ -ms-flex-direction: column;
1858
+ flex-direction: column;
1859
+ }
1860
+ .ha-dual-button--tablet-layout-stack .ha-dual-btn-connector {
1861
+ top: 100%;
1862
+ right: 50%;
1863
+ }
1864
+ .ha-dual-button--tablet-layout-stack .ha-dual-btn--left {
1865
+ border-radius: 30px 30px 0 0;
1866
+ }
1867
+ .ha-dual-button--tablet-layout-stack .ha-dual-btn--right {
1868
+ border-radius: 0 0 30px 30px;
1869
+ }
1870
+ .ha-dual-button--tablet-layout-queue > .elementor-widget-container {
1871
+ -webkit-box-orient: horizontal;
1872
+ -webkit-box-direction: normal;
1873
+ -webkit-flex-direction: row;
1874
+ -ms-flex-direction: row;
1875
+ flex-direction: row;
1876
+ }
1877
+ .ha-dual-button--tablet-layout-queue .ha-dual-btn-connector {
1878
+ top: 50%;
1879
+ right: 0;
1880
+ }
1881
+ .ha-dual-button--tablet-layout-queue .ha-dual-btn--left {
1882
+ border-radius: 50px 0 0 50px;
1883
+ }
1884
+ .ha-dual-button--tablet-layout-queue .ha-dual-btn--right {
1885
+ border-radius: 0 50px 50px 0;
1886
+ }
1887
+ }
1888
+
1889
+ @media (min-width: 1025px) {
1890
+ .ha-dual-button--layout-stack.ha-dual-button--align-left > .elementor-widget-container {
1891
+ -webkit-box-align: start;
1892
+ -webkit-align-items: flex-start;
1893
+ align-items: flex-start;
1894
+ -ms-flex-align: start;
1895
+ }
1896
+ .ha-dual-button--layout-stack.ha-dual-button--align-center > .elementor-widget-container {
1897
+ -webkit-box-align: center;
1898
+ -webkit-align-items: center;
1899
+ align-items: center;
1900
+ -ms-flex-align: center;
1901
+ }
1902
+ .ha-dual-button--layout-stack.ha-dual-button--align-right > .elementor-widget-container {
1903
+ -webkit-box-align: end;
1904
+ -webkit-align-items: flex-end;
1905
+ align-items: flex-end;
1906
+ -ms-flex-align: end;
1907
+ }
1908
+ .ha-dual-button--layout-queue.ha-dual-button--align-left > .elementor-widget-container {
1909
+ -webkit-box-pack: start;
1910
+ -ms-flex-pack: start;
1911
+ -webkit-justify-content: flex-start;
1912
+ justify-content: flex-start;
1913
+ }
1914
+ .ha-dual-button--layout-queue.ha-dual-button--align-center > .elementor-widget-container {
1915
+ -webkit-box-pack: center;
1916
+ -ms-flex-pack: center;
1917
+ -webkit-justify-content: center;
1918
+ justify-content: center;
1919
+ }
1920
+ .ha-dual-button--layout-queue.ha-dual-button--align-right > .elementor-widget-container {
1921
+ -webkit-box-pack: end;
1922
+ -ms-flex-pack: end;
1923
+ -webkit-justify-content: flex-end;
1924
+ justify-content: flex-end;
1925
+ }
1926
+ .ha-dual-button--layout-stack > .elementor-widget-container {
1927
+ -webkit-box-orient: vertical;
1928
+ -webkit-box-direction: normal;
1929
+ -webkit-flex-direction: column;
1930
+ -ms-flex-direction: column;
1931
+ flex-direction: column;
1932
+ }
1933
+ .ha-dual-button--layout-stack .ha-dual-btn-connector {
1934
+ top: 100%;
1935
+ right: 50%;
1936
+ }
1937
+ .ha-dual-button--layout-stack .ha-dual-btn--left {
1938
+ border-radius: 30px 30px 0 0;
1939
+ }
1940
+ .ha-dual-button--layout-stack .ha-dual-btn--right {
1941
+ border-radius: 0 0 30px 30px;
1942
+ }
1943
+ .ha-dual-button--layout-queue > .elementor-widget-container {
1944
+ -webkit-box-orient: horizontal;
1945
+ -webkit-box-direction: normal;
1946
+ -webkit-flex-direction: row;
1947
+ -ms-flex-direction: row;
1948
+ flex-direction: row;
1949
+ }
1950
+ .ha-dual-button--layout-queue .ha-dual-btn-connector {
1951
+ top: 50%;
1952
+ right: 0;
1953
+ }
1954
+ .ha-dual-button--layout-queue .ha-dual-btn--left {
1955
+ border-radius: 50px 0 0 50px;
1956
+ }
1957
+ .ha-dual-button--layout-queue .ha-dual-btn--right {
1958
+ border-radius: 0 50px 50px 0;
1959
+ }
1960
+ }
1961
+
1962
  .ha-card > .elementor-widget-container,
1963
  .ha-infobox > .elementor-widget-container,
1964
  .ha-icon-box > .elementor-widget-container,
1974
  overflow-wrap: break-word;
1975
  }
1976
 
 
 
 
 
 
 
1977
  .ha-logo-grid-wrapper:after {
1978
+ display: block;
1979
+ clear: both;
1980
+ content: "";
1981
  }
1982
 
1983
  .ha-testimonial--basic > .elementor-widget-container {
2117
  overflow-wrap: break-word;
2118
  }
2119
 
 
 
 
 
 
 
2120
  .ha-logo-grid-wrapper:after {
2121
+ display: block;
2122
+ clear: both;
2123
+ content: "";
2124
  }
2125
 
2126
  .ha-number-body {
2176
  overflow-wrap: break-word;
2177
  }
2178
 
 
 
 
 
 
 
2179
  .ha-logo-grid-wrapper:after {
2180
+ display: block;
2181
+ clear: both;
2182
+ content: "";
2183
  }
2184
 
2185
  .ha-flip-box-container:after {
2422
  overflow-wrap: break-word;
2423
  }
2424
 
 
 
 
 
 
 
2425
  .ha-logo-grid-wrapper:after {
2426
+ display: block;
2427
+ clear: both;
2428
+ content: "";
2429
  }
2430
 
2431
  .ha-pricing-table > .elementor-widget-container {
2552
  overflow-wrap: break-word;
2553
  }
2554
 
 
2555
  .ha-logo-grid-wrapper:after {
2556
+ display: block;
2557
+ clear: both;
2558
+ content: "";
 
 
 
2559
  }
2560
 
2561
  .ha-step-flow > .elementor-widget-container {
assets/css/main.min.css CHANGED
@@ -1 +1 @@
1
- .happy-addon,.happy-addon *{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;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;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{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}.ha-gallery-filter>li:not(:last-child){margin-right:10px}.ha-gallery-filter>li>button{display:block;padding:10px 25px;border:2px solid #562dd4;border-radius:.25rem;background-color:transparent;color:#562dd4;text-transform:uppercase;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}.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-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-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.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;color:#fff;text-decoration:none;font-size:14px}.ha-dual-btn--left{border-top-left-radius:50px;border-bottom-left-radius:50px;background-color:#562dd4}.ha-dual-btn--left:focus,.ha-dual-btn--left:hover{background-color:#4423ab}.ha-dual-btn--right{border-top-right-radius:50px;border-bottom-right-radius:50px;background-color:#e2498a}.ha-dual-btn--right:focus,.ha-dual-btn--right:hover{background-color:#d6226e}.ha-dual-btn-connector{position:absolute!important;top:50%;right:0;z-index:9;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--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.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-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-testimonial__reviewer-thumb{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}.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-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);word-wrap:break-word;overflow-wrap:break-word}.ha-logo-grid-wrapper:after,.ha-logo-grid-wrapper:before{display:table;content:" "}.ha-logo-grid-wrapper:after{clear:both}.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;padding:12px 8px;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;font-size:12px;line-height:0}.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
+ .happy-addon,.happy-addon *{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;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;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{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}.ha-gallery-filter>li:not(:last-child){margin-right:10px}.ha-gallery-filter>li>button{display:block;padding:10px 25px;border:2px solid #562dd4;border-radius:.25rem;background-color:transparent;color:#562dd4;text-transform:uppercase;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}.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-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;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;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{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-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-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-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-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-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-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{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}.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);word-wrap:break-word;overflow-wrap:break-word}.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;padding:12px 8px;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;font-size:12px;line-height:0}.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/dual-btn.min.css CHANGED
@@ -1 +1 @@
1
- .ha-dual-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.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;color:#fff;text-decoration:none;font-size:14px}.ha-dual-btn--left{border-top-left-radius:50px;border-bottom-left-radius:50px;background-color:#562dd4}.ha-dual-btn--left:focus,.ha-dual-btn--left:hover{background-color:#4423ab}.ha-dual-btn--right{border-top-right-radius:50px;border-bottom-right-radius:50px;background-color:#e2498a}.ha-dual-btn--right:focus,.ha-dual-btn--right:hover{background-color:#d6226e}.ha-dual-btn-connector{position:absolute!important;top:50%;right:0;z-index:9;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--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}
1
+ .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;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;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{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-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{-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-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-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-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-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-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}}
assets/css/widgets/logo-grid.min.css CHANGED
@@ -1 +1 @@
1
- .ha-logo-grid-wrapper:after,.ha-logo-grid-wrapper:before{display:table;content:" "}.ha-logo-grid-wrapper:after{clear:both}.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)}}
1
+ .ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.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)}}
base.php CHANGED
@@ -10,12 +10,6 @@ defined( 'ABSPATH' ) || die();
10
 
11
  class Base {
12
 
13
- const MINIMUM_ELEMENTOR_VERSION = '2.5.0';
14
-
15
- const MINIMUM_PHP_VERSION = '5.4';
16
-
17
- const ACTIVATION_FLAG_DB_KEY = 'happyaddons_do_activation_direct';
18
-
19
  private static $instance = null;
20
 
21
  public $appsero = null;
@@ -23,19 +17,13 @@ class Base {
23
  public static function instance() {
24
  if ( is_null( self::$instance ) ) {
25
  self::$instance = new self();
 
26
  }
27
  return self::$instance;
28
  }
29
 
30
  private function __construct() {
31
  add_action( 'init', [ $this, 'i18n' ] );
32
- add_action( 'plugins_loaded', [ $this, 'init' ] );
33
-
34
- register_activation_hook( HAPPY_ADDONS__FILE__, [ $this, 'register_activation_hook' ] );
35
- }
36
-
37
- public function register_activation_hook() {
38
- add_option( self::ACTIVATION_FLAG_DB_KEY, true );
39
  }
40
 
41
  public function i18n() {
@@ -43,24 +31,6 @@ class Base {
43
  }
44
 
45
  public function init() {
46
- // Check if Elementor installed and activated
47
- if ( ! did_action( 'elementor/loaded' ) ) {
48
- add_action( 'admin_notices', [$this, 'admin_notice_missing_elementor'] );
49
- return;
50
- }
51
-
52
- // Check for required Elementor version
53
- if ( ! version_compare( ELEMENTOR_VERSION, self::MINIMUM_ELEMENTOR_VERSION, '>=' ) ) {
54
- add_action( 'admin_notices', [$this, 'admin_notice_minimum_elementor_version'] );
55
- return;
56
- }
57
-
58
- // Check for required PHP version
59
- if ( version_compare( PHP_VERSION, self::MINIMUM_PHP_VERSION, '<' ) ) {
60
- add_action( 'admin_notices', [$this, 'admin_notice_minimum_php_version'] );
61
- return;
62
- }
63
-
64
  $this->include_files();
65
 
66
  // Register custom category
@@ -69,6 +39,8 @@ class Base {
69
  // Register custom controls
70
  add_action( 'elementor/controls/controls_registered', [$this, 'register_controls'] );
71
 
 
 
72
  Widgets_Manager::init();
73
  Assets_Manager::init();
74
  Extensions_Manager::init();
@@ -95,11 +67,11 @@ class Base {
95
  * @return void
96
  */
97
  protected function init_appsero_tracking() {
98
- if ( ! class_exists( 'Appsero\Client' ) ) {
99
  require_once HAPPY_ADDONS_DIR_PATH . 'vendor/appsero/src/Client.php';
100
  }
101
 
102
- $this->appsero = new \Appsero\Client(
103
  '70b96801-94cc-4501-a005-8f9a4e20e152',
104
  'Happy Elementor Addons',
105
  HAPPY_ADDONS__FILE__
@@ -147,77 +119,6 @@ class Base {
147
  );
148
  }
149
 
150
- /**
151
- * Admin notice.
152
- *
153
- * Warning when the site doesn't have Elementor installed or activated.
154
- *
155
- * @since 1.0.0
156
- * @access public
157
- */
158
- public function admin_notice_missing_elementor() {
159
- if ( isset( $_GET['activate'] ) ) {
160
- unset( $_GET['activate'] );
161
- }
162
-
163
- $message = sprintf(
164
- /* translators: 1: Plugin name 2: Elementor */
165
- esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', 'happy-elementor-addons' ),
166
- '<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
167
- '<strong>' . esc_html__( 'Elementor', 'happy-elementor-addons' ) . '</strong>'
168
- );
169
-
170
- printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message );
171
- }
172
-
173
- /**
174
- * Admin notice
175
- *
176
- * Warning when the site doesn't have a minimum required Elementor version.
177
- *
178
- * @since 1.0.0
179
- * @access public
180
- */
181
- public function admin_notice_minimum_elementor_version() {
182
- if ( isset( $_GET['activate'] ) ) {
183
- unset( $_GET['activate'] );
184
- }
185
-
186
- $message = sprintf(
187
- /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
188
- esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons' ),
189
- '<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
190
- '<strong>' . esc_html__( 'Elementor', 'happy-elementor-addons' ) . '</strong>',
191
- self::MINIMUM_ELEMENTOR_VERSION
192
- );
193
-
194
- printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message );
195
- }
196
-
197
- /**
198
- * Admin notice
199
- *
200
- * Warning when the site doesn't have a minimum required PHP version.
201
- *
202
- * @since 1.0.0
203
- * @access public
204
- */
205
- public function admin_notice_minimum_php_version() {
206
- if ( isset( $_GET['activate'] ) ) {
207
- unset( $_GET['activate'] );
208
- }
209
-
210
- $message = sprintf(
211
- /* translators: 1: Plugin name 2: PHP 3: Required PHP version */
212
- esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons' ),
213
- '<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
214
- '<strong>' . esc_html__( 'PHP', 'happy-elementor-addons' ) . '</strong>',
215
- self::MINIMUM_PHP_VERSION
216
- );
217
-
218
- printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message );
219
- }
220
-
221
  /**
222
  * Register custom controls
223
  *
@@ -233,4 +134,17 @@ class Base {
233
 
234
  \Elementor\Plugin::instance()->controls_manager->add_group_control( $foreground::get_type(), new $foreground() );
235
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  }
10
 
11
  class Base {
12
 
 
 
 
 
 
 
13
  private static $instance = null;
14
 
15
  public $appsero = null;
17
  public static function instance() {
18
  if ( is_null( self::$instance ) ) {
19
  self::$instance = new self();
20
+ self::$instance->init();
21
  }
22
  return self::$instance;
23
  }
24
 
25
  private function __construct() {
26
  add_action( 'init', [ $this, 'i18n' ] );
 
 
 
 
 
 
 
27
  }
28
 
29
  public function i18n() {
31
  }
32
 
33
  public function init() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  $this->include_files();
35
 
36
  // Register custom category
39
  // Register custom controls
40
  add_action( 'elementor/controls/controls_registered', [$this, 'register_controls'] );
41
 
42
+ add_action( 'elementor/finder/categories/init', [ $this, 'register_finder' ] );
43
+
44
  Widgets_Manager::init();
45
  Assets_Manager::init();
46
  Extensions_Manager::init();
67
  * @return void
68
  */
69
  protected function init_appsero_tracking() {
70
+ if ( ! class_exists( 'Happy_Addons\Appsero\Client' ) ) {
71
  require_once HAPPY_ADDONS_DIR_PATH . 'vendor/appsero/src/Client.php';
72
  }
73
 
74
+ $this->appsero = new \Happy_Addons\Appsero\Client(
75
  '70b96801-94cc-4501-a005-8f9a4e20e152',
76
  'Happy Elementor Addons',
77
  HAPPY_ADDONS__FILE__
119
  );
120
  }
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  /**
123
  * Register custom controls
124
  *
134
 
135
  \Elementor\Plugin::instance()->controls_manager->add_group_control( $foreground::get_type(), new $foreground() );
136
  }
137
+
138
+ /**
139
+ * Register elementor finder
140
+ *
141
+ * @param $categories_manager
142
+ */
143
+ public function register_finder( $categories_manager ) {
144
+ // Include the Finder Category class file
145
+ require( HAPPY_ADDONS_DIR_PATH . 'classes/finder.php' );
146
+
147
+ // Add the category
148
+ $categories_manager->add_category( 'happyaddons', new \Happy_Addons\Elementor\Finder() );
149
+ }
150
  }
classes/assets-manager.php CHANGED
@@ -249,6 +249,17 @@ class Assets_Manager {
249
  HAPPY_ADDONS_VERSION,
250
  true
251
  );
 
 
 
 
 
 
 
 
 
 
 
252
  }
253
 
254
  public static function enqueue_preview_style() {
249
  HAPPY_ADDONS_VERSION,
250
  true
251
  );
252
+
253
+ wp_localize_script(
254
+ 'happy-elementor-addons-editor',
255
+ 'HappyAddonsEditor',
256
+ [
257
+ 'editorPanelHomeLinkURL' => ha_get_dashboard_link(),
258
+ 'editorPanelHomeLinkTitle' => __( 'HappyAddons - Home', 'happy-elementor-addons' ),
259
+ 'editorPanelWidgetsLinkURL' => ha_get_dashboard_link( '#widgets' ),
260
+ 'editorPanelWidgetsLinkTitle' => __( 'HappyAddons - Widgets', 'happy-elementor-addons' ),
261
+ ]
262
+ );
263
  }
264
 
265
  public static function enqueue_preview_style() {
classes/dashboard.php CHANGED
@@ -21,15 +21,17 @@ class Dashboard {
21
  add_action( 'admin_menu', [ __CLASS__, 'add_menu' ], 21 );
22
  add_action( 'admin_menu', [ __CLASS__, 'update_menu_items' ], 99 );
23
  add_action( 'admin_enqueue_scripts', [ __CLASS__, 'enqueue_scripts' ] );
24
- add_action( 'wp_ajax_' . self::WIDGETS_NONCE, [ __CLASS__, 'save_dashboard' ] );
25
 
26
  add_action( 'admin_init', [ __CLASS__, 'activation_redirect' ] );
27
  add_filter( 'plugin_action_links_' . plugin_basename( HAPPY_ADDONS__FILE__ ), [ __CLASS__, 'add_action_links' ] );
 
 
28
  }
29
 
30
  public static function activation_redirect() {
31
- if ( get_option( Base::ACTIVATION_FLAG_DB_KEY, false ) && ! isset( $_GET['activate-multi'] ) ) {
32
- delete_option( Base::ACTIVATION_FLAG_DB_KEY );
33
  die( wp_redirect( ha_get_dashboard_link() ) );
34
  }
35
  }
@@ -52,7 +54,7 @@ class Dashboard {
52
  return $links;
53
  }
54
 
55
- public static function save_dashboard() {
56
  if ( ! current_user_can( 'manage_options' ) ) {
57
  return;
58
  }
@@ -65,14 +67,12 @@ class Dashboard {
65
  $data = [];
66
  parse_str( $posted_data, $data );
67
 
68
- self::save_widgets_data( $data );
69
-
70
- do_action( 'happyaddons_save_dashboard', $data );
71
 
72
  wp_send_json_success();
73
  }
74
 
75
- private static function save_widgets_data( $data ) {
76
  $widgets = ! empty( $data['widgets'] ) ? $data['widgets'] : [];
77
  $inactive_widgets = array_values( array_diff( array_keys( self::get_real_widgets_map() ), $widgets ) );
78
  Widgets_Manager::save_inactive_widgets( $inactive_widgets );
@@ -187,7 +187,7 @@ class Dashboard {
187
  sprintf( __( '%s - Happy Elementor Addons', 'happy-elementor-addons' ), $data['title'] ),
188
  $data['title'],
189
  'manage_options',
190
- self::PAGE_SLUG . '#tab-content-' . $key,
191
  [ __CLASS__, 'render_main' ]
192
  );
193
  }
21
  add_action( 'admin_menu', [ __CLASS__, 'add_menu' ], 21 );
22
  add_action( 'admin_menu', [ __CLASS__, 'update_menu_items' ], 99 );
23
  add_action( 'admin_enqueue_scripts', [ __CLASS__, 'enqueue_scripts' ] );
24
+ add_action( 'wp_ajax_' . self::WIDGETS_NONCE, [ __CLASS__, 'save_data' ] );
25
 
26
  add_action( 'admin_init', [ __CLASS__, 'activation_redirect' ] );
27
  add_filter( 'plugin_action_links_' . plugin_basename( HAPPY_ADDONS__FILE__ ), [ __CLASS__, 'add_action_links' ] );
28
+
29
+ add_action( 'happyaddons_save_dashboard_data', [ __CLASS__, 'save_widgets_data' ] );
30
  }
31
 
32
  public static function activation_redirect() {
33
+ if ( get_option( HAPPY_ADDONS_REDIRECTION_FLAG, false ) && ! isset( $_GET['activate-multi'] ) ) {
34
+ delete_option( HAPPY_ADDONS_REDIRECTION_FLAG );
35
  die( wp_redirect( ha_get_dashboard_link() ) );
36
  }
37
  }
54
  return $links;
55
  }
56
 
57
+ public static function save_data() {
58
  if ( ! current_user_can( 'manage_options' ) ) {
59
  return;
60
  }
67
  $data = [];
68
  parse_str( $posted_data, $data );
69
 
70
+ do_action( 'happyaddons_save_dashboard_data', $data );
 
 
71
 
72
  wp_send_json_success();
73
  }
74
 
75
+ public static function save_widgets_data( $data ) {
76
  $widgets = ! empty( $data['widgets'] ) ? $data['widgets'] : [];
77
  $inactive_widgets = array_values( array_diff( array_keys( self::get_real_widgets_map() ), $widgets ) );
78
  Widgets_Manager::save_inactive_widgets( $inactive_widgets );
187
  sprintf( __( '%s - Happy Elementor Addons', 'happy-elementor-addons' ), $data['title'] ),
188
  $data['title'],
189
  'manage_options',
190
+ self::PAGE_SLUG . '#' . $key,
191
  [ __CLASS__, 'render_main' ]
192
  );
193
  }
classes/finder.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Finder class
4
+ *
5
+ * @package Happy_Addons
6
+ */
7
+ namespace Happy_Addons\Elementor;
8
+
9
+ use Elementor\Core\Common\Modules\Finder\Base_Category as Finder_Category;
10
+
11
+ defined( 'ABSPATH' ) || die();
12
+
13
+ class Finder extends Finder_Category {
14
+
15
+ /**
16
+ * Get title.
17
+ *
18
+ * @access public
19
+ *
20
+ * @return string
21
+ */
22
+ public function get_title() {
23
+ return __( 'Happy Addons', 'happy-elementor-addons' );
24
+ }
25
+
26
+ /**
27
+ * Get category items.
28
+ *
29
+ * @access public
30
+ *
31
+ * @param array $options
32
+ *
33
+ * @return array
34
+ */
35
+ public function get_category_items( array $options = [] ) {
36
+ $items = [
37
+ 'home' => [
38
+ 'title' => __( 'HappyAddons - Home', 'happy-elementor-addons' ),
39
+ 'url' => ha_get_dashboard_link(),
40
+ 'icon' => ' hm hm-happyaddons',
41
+ 'keywords' => [ 'happy', 'setting', 'happyaddons', 'dashboard', 'widget', 'control', 'panel' ],
42
+ ],
43
+ 'widgets' => [
44
+ 'title' => __( 'HappyAddons - Widgets Control Panel', 'happy-elementor-addons' ),
45
+ 'url' => ha_get_dashboard_link( '#widgets' ),
46
+ 'icon' => ' hm hm-cross-game',
47
+ 'keywords' => [ 'happy', 'setting', 'happyaddons', 'dashboard', 'widget', 'control', 'panel' ],
48
+ ],
49
+ ];
50
+
51
+ return $items;
52
+ }
53
+ }
classes/widgets-manager.php CHANGED
@@ -160,6 +160,26 @@ class Widgets_Manager {
160
  'icon' => 'hm hm-scrolling-image',
161
  'is_pro' => true,
162
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  ];
164
  }
165
 
160
  'icon' => 'hm hm-scrolling-image',
161
  'is_pro' => true,
162
  ],
163
+ 'toggle' => [
164
+ 'title' => __( 'Advanced Toggle', 'happy-addons-pro' ),
165
+ 'icon' => 'hm hm-accordion-vertical',
166
+ 'is_pro' => true,
167
+ ],
168
+ 'accordion' => [
169
+ 'title' => __( 'Advanced Accordion', 'happy-addons-pro' ),
170
+ 'icon' => 'hm hm-accordion-vertical',
171
+ 'is_pro' => true,
172
+ ],
173
+ 'advanced-pricing-table' => [
174
+ 'title' => __( 'Advanced Pricing Table', 'happy-addons-pro'),
175
+ 'icon' => 'hm hm-file-cabinet',
176
+ 'is_pro' => true,
177
+ ],
178
+ 'advanced-flip-box' => [
179
+ 'title' => __( 'Advanced Flip Box', 'happy-addons-pro' ),
180
+ 'icon' => 'hm hm-flip-card1',
181
+ 'is_pro' => true,
182
+ ],
183
  ];
184
  }
185
 
controls/foreground.php CHANGED
@@ -54,7 +54,7 @@ class Group_Control_Foreground extends Group_Control_Base {
54
  $fields = [];
55
 
56
  $fields['color_type'] = [
57
- 'label' => _x( 'Text Color', 'Background Control', 'elementor' ),
58
  'type' => Controls_Manager::CHOOSE,
59
  'label_block' => false,
60
  'render_type' => 'ui',
@@ -72,10 +72,10 @@ class Group_Control_Foreground extends Group_Control_Base {
72
  ];
73
 
74
  $fields['color'] = [
75
- 'label' => _x( 'Color', 'Background Control', 'elementor' ),
76
  'type' => Controls_Manager::COLOR,
77
  'default' => '',
78
- 'title' => _x( 'Text Color', 'Background Control', 'elementor' ),
79
  'selectors' => [
80
  '{{SELECTOR}}' => 'color: {{VALUE}};',
81
  ],
@@ -85,7 +85,7 @@ class Group_Control_Foreground extends Group_Control_Base {
85
  ];
86
 
87
  $fields['color_stop'] = [
88
- 'label' => _x( 'Location', 'Background Control', 'elementor' ),
89
  'type' => Controls_Manager::SLIDER,
90
  'size_units' => [ '%' ],
91
  'default' => [
@@ -100,7 +100,7 @@ class Group_Control_Foreground extends Group_Control_Base {
100
  ];
101
 
102
  $fields['color_b'] = [
103
- 'label' => _x( 'Second Color', 'Background Control', 'elementor' ),
104
  'type' => Controls_Manager::COLOR,
105
  'default' => '#f2295b',
106
  'render_type' => 'ui',
@@ -111,7 +111,7 @@ class Group_Control_Foreground extends Group_Control_Base {
111
  ];
112
 
113
  $fields['color_b_stop'] = [
114
- 'label' => _x( 'Location', 'Background Control', 'elementor' ),
115
  'type' => Controls_Manager::SLIDER,
116
  'size_units' => [ '%' ],
117
  'default' => [
@@ -126,11 +126,11 @@ class Group_Control_Foreground extends Group_Control_Base {
126
  ];
127
 
128
  $fields['gradient_type'] = [
129
- 'label' => _x( 'Type', 'Background Control', 'elementor' ),
130
  'type' => Controls_Manager::SELECT,
131
  'options' => [
132
- 'linear' => _x( 'Linear', 'Background Control', 'elementor' ),
133
- 'radial' => _x( 'Radial', 'Background Control', 'elementor' ),
134
  ],
135
  'default' => 'linear',
136
  'render_type' => 'ui',
@@ -141,7 +141,7 @@ class Group_Control_Foreground extends Group_Control_Base {
141
  ];
142
 
143
  $fields['gradient_angle'] = [
144
- 'label' => _x( 'Angle', 'Background Control', 'elementor' ),
145
  'type' => Controls_Manager::SLIDER,
146
  'size_units' => [ 'deg' ],
147
  'default' => [
@@ -164,18 +164,18 @@ class Group_Control_Foreground extends Group_Control_Base {
164
  ];
165
 
166
  $fields['gradient_position'] = [
167
- 'label' => _x( 'Position', 'Background Control', 'elementor' ),
168
  'type' => Controls_Manager::SELECT,
169
  'options' => [
170
- 'center center' => _x( 'Center Center', 'Background Control', 'elementor' ),
171
- 'center left' => _x( 'Center Left', 'Background Control', 'elementor' ),
172
- 'center right' => _x( 'Center Right', 'Background Control', 'elementor' ),
173
- 'top center' => _x( 'Top Center', 'Background Control', 'elementor' ),
174
- 'top left' => _x( 'Top Left', 'Background Control', 'elementor' ),
175
- 'top right' => _x( 'Top Right', 'Background Control', 'elementor' ),
176
- 'bottom center' => _x( 'Bottom Center', 'Background Control', 'elementor' ),
177
- 'bottom left' => _x( 'Bottom Left', 'Background Control', 'elementor' ),
178
- 'bottom right' => _x( 'Bottom Right', 'Background Control', 'elementor' ),
179
  ],
180
  'default' => 'center center',
181
  'selectors' => [
54
  $fields = [];
55
 
56
  $fields['color_type'] = [
57
+ 'label' => _x( 'Text Color', 'Background Control', 'happy-elementor-addons' ),
58
  'type' => Controls_Manager::CHOOSE,
59
  'label_block' => false,
60
  'render_type' => 'ui',
72
  ];
73
 
74
  $fields['color'] = [
75
+ 'label' => _x( 'Color', 'Background Control', 'happy-elementor-addons' ),
76
  'type' => Controls_Manager::COLOR,
77
  'default' => '',
78
+ 'title' => _x( 'Text Color', 'Background Control', 'happy-elementor-addons' ),
79
  'selectors' => [
80
  '{{SELECTOR}}' => 'color: {{VALUE}};',
81
  ],
85
  ];
86
 
87
  $fields['color_stop'] = [
88
+ 'label' => _x( 'Location', 'Background Control', 'happy-elementor-addons' ),
89
  'type' => Controls_Manager::SLIDER,
90
  'size_units' => [ '%' ],
91
  'default' => [
100
  ];
101
 
102
  $fields['color_b'] = [
103
+ 'label' => _x( 'Second Color', 'Background Control', 'happy-elementor-addons' ),
104
  'type' => Controls_Manager::COLOR,
105
  'default' => '#f2295b',
106
  'render_type' => 'ui',
111
  ];
112
 
113
  $fields['color_b_stop'] = [
114
+ 'label' => _x( 'Location', 'Background Control', 'happy-elementor-addons' ),
115
  'type' => Controls_Manager::SLIDER,
116
  'size_units' => [ '%' ],
117
  'default' => [
126
  ];
127
 
128
  $fields['gradient_type'] = [
129
+ 'label' => _x( 'Type', 'Background Control', 'happy-elementor-addons' ),
130
  'type' => Controls_Manager::SELECT,
131
  'options' => [
132
+ 'linear' => _x( 'Linear', 'Background Control', 'happy-elementor-addons' ),
133
+ 'radial' => _x( 'Radial', 'Background Control', 'happy-elementor-addons' ),
134
  ],
135
  'default' => 'linear',
136
  'render_type' => 'ui',
141
  ];
142
 
143
  $fields['gradient_angle'] = [
144
+ 'label' => _x( 'Angle', 'Background Control', 'happy-elementor-addons' ),
145
  'type' => Controls_Manager::SLIDER,
146
  'size_units' => [ 'deg' ],
147
  'default' => [
164
  ];
165
 
166
  $fields['gradient_position'] = [
167
+ 'label' => _x( 'Position', 'Background Control', 'happy-elementor-addons' ),
168
  'type' => Controls_Manager::SELECT,
169
  'options' => [
170
+ 'center center' => _x( 'Center Center', 'Background Control', 'happy-elementor-addons' ),
171
+ 'center left' => _x( 'Center Left', 'Background Control', 'happy-elementor-addons' ),
172
+ 'center right' => _x( 'Center Right', 'Background Control', 'happy-elementor-addons' ),
173
+ 'top center' => _x( 'Top Center', 'Background Control', 'happy-elementor-addons' ),
174
+ 'top left' => _x( 'Top Left', 'Background Control', 'happy-elementor-addons' ),
175
+ 'top right' => _x( 'Top Right', 'Background Control', 'happy-elementor-addons' ),
176
+ 'bottom center' => _x( 'Bottom Center', 'Background Control', 'happy-elementor-addons' ),
177
+ 'bottom left' => _x( 'Bottom Left', 'Background Control', 'happy-elementor-addons' ),
178
+ 'bottom right' => _x( 'Bottom Right', 'Background Control', 'happy-elementor-addons' ),
179
  ],
180
  'default' => 'center center',
181
  'selectors' => [
extensions/background-overlay.php CHANGED
@@ -41,7 +41,7 @@ class Background_Overlay {
41
  $element->start_controls_section(
42
  '_ha_section_background_overlay',
43
  [
44
- 'label' => __( 'Background Overlay', 'elementor' ),
45
  'tab' => Controls_Manager::TAB_ADVANCED,
46
  'condition' => [
47
  '_background_background' => [ 'classic', 'gradient' ],
@@ -54,7 +54,7 @@ class Background_Overlay {
54
  $element->start_controls_tab(
55
  '_ha_tab_background_overlay_normal',
56
  [
57
- 'label' => __( 'Normal', 'elementor' ),
58
  ]
59
  );
60
 
@@ -69,7 +69,7 @@ class Background_Overlay {
69
  $element->add_control(
70
  '_ha_background_overlay_opacity',
71
  [
72
- 'label' => __( 'Opacity', 'elementor' ),
73
  'type' => Controls_Manager::SLIDER,
74
  'default' => [
75
  'size' => .5,
@@ -100,10 +100,10 @@ class Background_Overlay {
100
  $element->add_control(
101
  '_ha_overlay_blend_mode',
102
  [
103
- 'label' => __( 'Blend Mode', 'elementor' ),
104
  'type' => Controls_Manager::SELECT,
105
  'options' => [
106
- '' => __( 'Normal', 'elementor' ),
107
  'multiply' => 'Multiply',
108
  'screen' => 'Screen',
109
  'overlay' => 'Overlay',
@@ -125,7 +125,7 @@ class Background_Overlay {
125
  $element->start_controls_tab(
126
  '_ha_tab_background_overlay_hover',
127
  [
128
- 'label' => __( 'Hover', 'elementor' ),
129
  ]
130
  );
131
 
@@ -140,7 +140,7 @@ class Background_Overlay {
140
  $element->add_control(
141
  '_ha_background_overlay_hover_opacity',
142
  [
143
- 'label' => __( 'Opacity', 'elementor' ),
144
  'type' => Controls_Manager::SLIDER,
145
  'default' => [
146
  'size' => .5,
@@ -171,7 +171,7 @@ class Background_Overlay {
171
  $element->add_control(
172
  '_ha_background_overlay_hover_transition',
173
  [
174
- 'label' => __( 'Transition Duration', 'elementor' ),
175
  'type' => Controls_Manager::SLIDER,
176
  'default' => [
177
  'size' => 0.3,
41
  $element->start_controls_section(
42
  '_ha_section_background_overlay',
43
  [
44
+ 'label' => __( 'Background Overlay', 'happy-elementor-addons' ),
45
  'tab' => Controls_Manager::TAB_ADVANCED,
46
  'condition' => [
47
  '_background_background' => [ 'classic', 'gradient' ],
54
  $element->start_controls_tab(
55
  '_ha_tab_background_overlay_normal',
56
  [
57
+ 'label' => __( 'Normal', 'happy-elementor-addons' ),
58
  ]
59
  );
60
 
69
  $element->add_control(
70
  '_ha_background_overlay_opacity',
71
  [
72
+ 'label' => __( 'Opacity', 'happy-elementor-addons' ),
73
  'type' => Controls_Manager::SLIDER,
74
  'default' => [
75
  'size' => .5,
100
  $element->add_control(
101
  '_ha_overlay_blend_mode',
102
  [
103
+ 'label' => __( 'Blend Mode', 'happy-elementor-addons' ),
104
  'type' => Controls_Manager::SELECT,
105
  'options' => [
106
+ '' => __( 'Normal', 'happy-elementor-addons' ),
107
  'multiply' => 'Multiply',
108
  'screen' => 'Screen',
109
  'overlay' => 'Overlay',
125
  $element->start_controls_tab(
126
  '_ha_tab_background_overlay_hover',
127
  [
128
+ 'label' => __( 'Hover', 'happy-elementor-addons' ),
129
  ]
130
  );
131
 
140
  $element->add_control(
141
  '_ha_background_overlay_hover_opacity',
142
  [
143
+ 'label' => __( 'Opacity', 'happy-elementor-addons' ),
144
  'type' => Controls_Manager::SLIDER,
145
  'default' => [
146
  'size' => .5,
171
  $element->add_control(
172
  '_ha_background_overlay_hover_transition',
173
  [
174
+ 'label' => __( 'Transition Duration', 'happy-elementor-addons' ),
175
  'type' => Controls_Manager::SLIDER,
176
  'default' => [
177
  'size' => 0.3,
inc/functions.php CHANGED
@@ -491,6 +491,6 @@ function ha_get_b64_icon() {
491
  return 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0iI0ZGRiI+PHBhdGggZD0iTTI4LjYgNy44aC44Yy41IDAgLjktLjUuOC0xIDAtLjUtLjUtLjktMS0uOC0zLjUuMy02LjgtMS45LTcuOC01LjMtLjEtLjUtLjYtLjctMS4xLS42cy0uNy42LS42IDEuMWMxLjIgMy45IDQuOSA2LjYgOC45IDYuNnoiLz48cGF0aCBkPSJNMzAgMTEuMWMtLjMtLjYtLjktMS0xLjYtMS0uOSAwLTEuOSAwLTIuOC0uMi00LS44LTctMy42LTguNC03LjEtLjMtLjYtLjktMS4xLTEuNi0xQzguMyAxLjkgMS44IDcuNC45IDE1LjEuMSAyMi4yIDQuNSAyOSAxMS4zIDMxLjIgMjAgMzQuMSAyOSAyOC43IDMwLjggMTkuOWMuNy0zLjEuMy02LjEtLjgtOC44em0tMTEuNiAxLjFjLjEtLjUuNi0uOCAxLjEtLjdsMy43LjhjLjUuMS44LjYuNyAxLjFzLS42LjgtMS4xLjdsLTMuNy0uOGMtLjQtLjEtLjgtLjYtLjctMS4xek0xMC4xIDExYy4yLTEuMSAxLjQtMS45IDIuNS0xLjYgMS4xLjIgMS45IDEuNCAxLjYgMi41LS4yIDEuMS0xLjQgMS45LTIuNSAxLjYtMS0uMi0xLjgtMS4zLTEuNi0yLjV6bTE0LjYgMTAuNkMyMi44IDI2IDE3LjggMjguNSAxMyAyN2MtMy42LTEuMi02LjItNC41LTYuNS04LjItLjEtMSAuOC0xLjcgMS43LTEuNmwxNS40IDIuNWMuOSAwIDEuNCAxIDEuMSAxLjl6Ii8+PHBhdGggZD0iTTE3LjEgMjIuOGMtMS45LS40LTMuNy4zLTQuNyAxLjctLjIuMy0uMS43LjIuOS42LjMgMS4yLjUgMS45LjcgMS44LjQgMy43LjEgNS4xLS43LjMtLjIuNC0uNi4yLS45LS43LS45LTEuNi0xLjUtMi43LTEuN3oiLz48L2c+PC9zdmc+';
492
  }
493
 
494
- function ha_get_dashboard_link() {
495
- return add_query_arg( [ 'page' => 'happy-addons#tab-content-home' ], admin_url( 'admin.php' ) );
496
  }
491
  return 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0iI0ZGRiI+PHBhdGggZD0iTTI4LjYgNy44aC44Yy41IDAgLjktLjUuOC0xIDAtLjUtLjUtLjktMS0uOC0zLjUuMy02LjgtMS45LTcuOC01LjMtLjEtLjUtLjYtLjctMS4xLS42cy0uNy42LS42IDEuMWMxLjIgMy45IDQuOSA2LjYgOC45IDYuNnoiLz48cGF0aCBkPSJNMzAgMTEuMWMtLjMtLjYtLjktMS0xLjYtMS0uOSAwLTEuOSAwLTIuOC0uMi00LS44LTctMy42LTguNC03LjEtLjMtLjYtLjktMS4xLTEuNi0xQzguMyAxLjkgMS44IDcuNC45IDE1LjEuMSAyMi4yIDQuNSAyOSAxMS4zIDMxLjIgMjAgMzQuMSAyOSAyOC43IDMwLjggMTkuOWMuNy0zLjEuMy02LjEtLjgtOC44em0tMTEuNiAxLjFjLjEtLjUuNi0uOCAxLjEtLjdsMy43LjhjLjUuMS44LjYuNyAxLjFzLS42LjgtMS4xLjdsLTMuNy0uOGMtLjQtLjEtLjgtLjYtLjctMS4xek0xMC4xIDExYy4yLTEuMSAxLjQtMS45IDIuNS0xLjYgMS4xLjIgMS45IDEuNCAxLjYgMi41LS4yIDEuMS0xLjQgMS45LTIuNSAxLjYtMS0uMi0xLjgtMS4zLTEuNi0yLjV6bTE0LjYgMTAuNkMyMi44IDI2IDE3LjggMjguNSAxMyAyN2MtMy42LTEuMi02LjItNC41LTYuNS04LjItLjEtMSAuOC0xLjcgMS43LTEuNmwxNS40IDIuNWMuOSAwIDEuNCAxIDEuMSAxLjl6Ii8+PHBhdGggZD0iTTE3LjEgMjIuOGMtMS45LS40LTMuNy4zLTQuNyAxLjctLjIuMy0uMS43LjIuOS42LjMgMS4yLjUgMS45LjcgMS44LjQgMy43LjEgNS4xLS43LjMtLjIuNC0uNi4yLS45LS43LS45LTEuNi0xLjUtMi43LTEuN3oiLz48L2c+PC9zdmc+';
492
  }
493
 
494
+ function ha_get_dashboard_link( $suffix = '#home' ) {
495
+ return add_query_arg( [ 'page' => 'happy-addons' . $suffix ], admin_url( 'admin.php' ) );
496
  }
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.0.0
7
  * Author: HappyMonster
8
  * Author URI: https://happyaddons.com/
9
  * License: GPLv2
@@ -34,12 +34,103 @@ Copyright 2019 HappyMonster <http://happymonster.me>
34
 
35
  defined( 'ABSPATH' ) || die();
36
 
37
- define( 'HAPPY_ADDONS_VERSION', '2.0.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__ ) );
41
  define( 'HAPPY_ADDONS_ASSETS', trailingslashit( HAPPY_ADDONS_DIR_URL . 'assets' ) );
 
42
 
43
- require HAPPY_ADDONS_DIR_PATH . 'base.php';
 
44
 
45
- \Happy_Addons\Elementor\Base::instance();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.1.0
7
  * Author: HappyMonster
8
  * Author URI: https://happyaddons.com/
9
  * License: GPLv2
34
 
35
  defined( 'ABSPATH' ) || die();
36
 
37
+ define( 'HAPPY_ADDONS_VERSION', '2.1.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__ ) );
41
  define( 'HAPPY_ADDONS_ASSETS', trailingslashit( HAPPY_ADDONS_DIR_URL . 'assets' ) );
42
+ define( 'HAPPY_ADDONS_REDIRECTION_FLAG', 'happyaddons_do_activation_direct' );
43
 
44
+ define( 'HAPPY_ADDONS_MINIMUM_ELEMENTOR_VERSION', '2.5.0' );
45
+ define( 'HAPPY_ADDONS_MINIMUM_PHP_VERSION', '5.4' );
46
 
47
+ /**
48
+ * The journey of a thousand miles starts here.
49
+ *
50
+ * @return void Some voids are not really void, you have to explore to figure out why not!
51
+ */
52
+ function ha_let_the_journey_begin() {
53
+ // Check for required PHP version
54
+ if ( version_compare( PHP_VERSION, HAPPY_ADDONS_MINIMUM_PHP_VERSION, '<' ) ) {
55
+ add_action( 'admin_notices', 'ha_required_php_version_missing_notice' );
56
+ return;
57
+ }
58
+
59
+ // Check if Elementor installed and activated
60
+ if ( ! did_action( 'elementor/loaded' ) ) {
61
+ add_action( 'admin_notices', 'ha_elementor_missing_notice' );
62
+ return;
63
+ }
64
+
65
+ // Check for required Elementor version
66
+ if ( ! version_compare( ELEMENTOR_VERSION, HAPPY_ADDONS_MINIMUM_ELEMENTOR_VERSION, '>=' ) ) {
67
+ add_action( 'admin_notices', 'ha_required_elementor_version_missing_notice' );
68
+ return;
69
+ }
70
+
71
+ require HAPPY_ADDONS_DIR_PATH . 'base.php';
72
+ \Happy_Addons\Elementor\Base::instance();
73
+ }
74
+
75
+ add_action( 'plugins_loaded', 'ha_let_the_journey_begin' );
76
+
77
+ /**
78
+ * Admin notice for required php version
79
+ *
80
+ * @return void
81
+ */
82
+ function ha_required_php_version_missing_notice() {
83
+ $notice = sprintf(
84
+ /* translators: 1: Plugin name 2: PHP 3: Required PHP version */
85
+ esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons' ),
86
+ '<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
87
+ '<strong>' . esc_html__( 'PHP', 'happy-elementor-addons' ) . '</strong>',
88
+ HAPPY_ADDONS_MINIMUM_PHP_VERSION
89
+ );
90
+
91
+ printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $notice );
92
+ }
93
+
94
+ /**
95
+ * Admin notice for elementor if missing
96
+ *
97
+ * @return void
98
+ */
99
+ function ha_elementor_missing_notice() {
100
+ $notice = sprintf(
101
+ /* translators: 1: Plugin name 2: Elementor */
102
+ esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', 'happy-elementor-addons' ),
103
+ '<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
104
+ '<strong>' . esc_html__( 'Elementor', 'happy-elementor-addons' ) . '</strong>'
105
+ );
106
+
107
+ printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $notice );
108
+ }
109
+
110
+ /**
111
+ * Admin notice for required elementor version
112
+ *
113
+ * @return void
114
+ */
115
+ function ha_required_elementor_version_missing_notice() {
116
+ $notice = sprintf(
117
+ /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
118
+ esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons' ),
119
+ '<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
120
+ '<strong>' . esc_html__( 'Elementor', 'happy-elementor-addons' ) . '</strong>',
121
+ HAPPY_ADDONS_MINIMUM_ELEMENTOR_VERSION
122
+ );
123
+
124
+ printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $notice );
125
+ }
126
+
127
+ /**
128
+ * Register actions that should run on activation
129
+ *
130
+ * @return void
131
+ */
132
+ function ha_register_activation_hook() {
133
+ add_option( HAPPY_ADDONS_REDIRECTION_FLAG, true );
134
+ }
135
+
136
+ register_activation_hook( HAPPY_ADDONS__FILE__, 'ha_register_activation_hook' );
readme.txt CHANGED
@@ -1,12 +1,12 @@
1
  === Happy Elementor Addons ===
2
  Plugin Name: Happy Elementor Addons
3
- Version: 2.0.0
4
  Author: HappyMonster
5
  Author URI: https://happyaddons.com/
6
  Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, obiplabon, sourav926, wedevs
7
  Tags: elementor, elementor addon, elementor widget, essential widget, elements
8
  Requires at least: 4.7
9
- Tested up to: 5.2.2
10
  Stable tag: trunk
11
  Requires PHP: 5.4
12
  License: GPLv2
@@ -140,9 +140,20 @@ It's really easy and super simple to install **Happy Elementor Addons** plugin b
140
 
141
  == Changelog ==
142
 
 
 
 
 
 
 
 
 
 
 
 
143
  = 2.0.0 - 24 September 2019 =
144
 
145
- - New: Dashboard
146
  - New: Image popup support for Justified Grid
147
  - New: Image popup support for Image Grid
148
  - Update: Improved HTML tag support for description and title fields
1
  === Happy Elementor Addons ===
2
  Plugin Name: Happy Elementor Addons
3
+ Version: 2.1.0
4
  Author: HappyMonster
5
  Author URI: https://happyaddons.com/
6
  Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, obiplabon, sourav926, wedevs
7
  Tags: elementor, elementor addon, elementor widget, essential widget, elements
8
  Requires at least: 4.7
9
+ Tested up to: 5.2.3
10
  Stable tag: trunk
11
  Requires PHP: 5.4
12
  License: GPLv2
140
 
141
  == Changelog ==
142
 
143
+ = 2.1.0 - 3 October 2019 =
144
+
145
+ - New: Widgets control panel link in Elementor Finder
146
+ - New: Widgets control panel link in Elementor editor panel
147
+ - Update: Added Dual Button layout (Stack and Queue layout)
148
+ - Fix: Image Grid and Justified Gallery filter issue for non english languages
149
+ - Fix: Justified gallery image alt attribute missing issue
150
+ - Fix: Dual Button responsive issue - using layout feature
151
+ - Fix: Dual Button default hover text color
152
+ - Fix: Widgets Control Panel navigation jump issue
153
+
154
  = 2.0.0 - 24 September 2019 =
155
 
156
+ - New: Dashboard - Widgets Control Panel
157
  - New: Image popup support for Justified Grid
158
  - New: Image popup support for Image Grid
159
  - Update: Improved HTML tag support for description and title fields
templates/admin/dashboard-main.php CHANGED
@@ -27,7 +27,7 @@ defined( 'ABSPATH' ) || die();
27
  if ( ! empty( $data['href'] ) ) {
28
  $href = esc_url( $data['href'] );
29
  } else {
30
- $href = '#tab-content-' . $slug;
31
  }
32
 
33
  printf( '<a href="%1$s" aria-controls="tab-content-%2$s" id="tab-nav-%2$s" class="%3$s" role="tab">%4$s</a>',
27
  if ( ! empty( $data['href'] ) ) {
28
  $href = esc_url( $data['href'] );
29
  } else {
30
+ $href = '#' . $slug;
31
  }
32
 
33
  printf( '<a href="%1$s" aria-controls="tab-content-%2$s" id="tab-nav-%2$s" class="%3$s" role="tab">%4$s</a>',
templates/admin/dashboard-widgets.php CHANGED
@@ -9,7 +9,7 @@ defined( 'ABSPATH' ) || die();
9
  <div class="ha-dashboard-panel__header">
10
  <div class="ha-dashboard-panel__header-content">
11
  <h2><?php esc_html_e( 'Happy Widgets', 'happy-elementor-addons' ); ?></h2>
12
- <p class="f16"><?php _e( 'Here is the list of our all widgets. You can enable or disable widgets from here to optimize loading speed and Elementor editor experience. <strong>After enabling or disabling any widget make sure to click the save button.</strong>', 'happy-elementor-addons' ); ?></p>
13
 
14
  <div class="ha-action-list">
15
  <button type="button" class="ha-action--btn" data-filter="*"><?php esc_html_e( 'All', 'happy-elementor-addons' ); ?></button>
9
  <div class="ha-dashboard-panel__header">
10
  <div class="ha-dashboard-panel__header-content">
11
  <h2><?php esc_html_e( 'Happy Widgets', 'happy-elementor-addons' ); ?></h2>
12
+ <p class="f16"><?php _e( 'Here is the list of our all widgets. You can enable or disable widgets from here to optimize loading speed and Elementor editor experience. <strong>After enabling or disabling any widget make sure to click the Save Changes button.</strong>', 'happy-elementor-addons' ); ?></p>
13
 
14
  <div class="ha-action-list">
15
  <button type="button" class="ha-action--btn" data-filter="*"><?php esc_html_e( 'All', 'happy-elementor-addons' ); ?></button>
vendor/appsero/src/Client.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace Appsero;
3
 
4
  /**
5
  * Appsero Client
1
  <?php
2
+ namespace Happy_Addons\Appsero;
3
 
4
  /**
5
  * Appsero Client
vendor/appsero/src/Insights.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace Appsero;
3
 
4
  /**
5
  * Appsero Insights
@@ -49,7 +49,7 @@ class Insights {
49
  $client = new Client( $client, $name, $file );
50
  }
51
 
52
- if ( is_object( $client ) && is_a( $client, 'Appsero\Client' ) ) {
53
  $this->client = $client;
54
  }
55
  }
1
  <?php
2
+ namespace Happy_Addons\Appsero;
3
 
4
  /**
5
  * Appsero Insights
49
  $client = new Client( $client, $name, $file );
50
  }
51
 
52
+ if ( is_object( $client ) && is_a( $client, 'Happy_Addons\Appsero\Client' ) ) {
53
  $this->client = $client;
54
  }
55
  }
vendor/appsero/src/License.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace Appsero;
3
 
4
  /**
5
  * Appsero License Checker
1
  <?php
2
+ namespace Happy_Addons\Appsero;
3
 
4
  /**
5
  * Appsero License Checker
vendor/appsero/src/Updater.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace Appsero;
3
 
4
  /**
5
  * Appsero Updater
1
  <?php
2
+ namespace Happy_Addons\Appsero;
3
 
4
  /**
5
  * Appsero Updater
widgets/dual-button/widget.php CHANGED
@@ -56,9 +56,9 @@ class Dual_Button extends Base {
56
  $this->start_controls_tabs( '_tabs_buttons' );
57
 
58
  $this->start_controls_tab(
59
- '_tab_button_left',
60
  [
61
- 'label' => __( 'Left', 'happy-elementor-addons' ),
62
  ]
63
  );
64
 
@@ -233,9 +233,9 @@ class Dual_Button extends Base {
233
  $this->end_controls_tab();
234
 
235
  $this->start_controls_tab(
236
- '_tab_button_right',
237
  [
238
- 'label' => __( 'Right', 'happy-elementor-addons' ),
239
  ]
240
  );
241
 
@@ -326,6 +326,31 @@ class Dual_Button extends Base {
326
  $this->end_controls_tab();
327
  $this->end_controls_tabs();
328
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
  $this->end_controls_section();
330
  }
331
 
@@ -357,8 +382,10 @@ class Dual_Button extends Base {
357
  'type' => Controls_Manager::SLIDER,
358
  'size_units' => ['px'],
359
  'selectors' => [
360
- '{{WRAPPER}} .ha-dual-btn--left' => 'margin-right: calc({{SIZE}}{{UNIT}}/2);',
361
- '{{WRAPPER}} .ha-dual-btn--right' => 'margin-left: calc({{SIZE}}{{UNIT}}/2);',
 
 
362
  ],
363
  ]
364
  );
@@ -381,14 +408,14 @@ class Dual_Button extends Base {
381
  ]
382
  );
383
 
384
- $this->add_control(
385
  'button_align_x',
386
  [
387
- 'label' => __( 'Horizontal Alignment', 'happy-elementor-addons' ),
388
  'type' => Controls_Manager::CHOOSE,
389
  'label_block' => false,
390
  'options' => [
391
- 'flex-start' => [
392
  'title' => __( 'Left', 'happy-elementor-addons' ),
393
  'icon' => 'eicon-h-align-left',
394
  ],
@@ -396,43 +423,13 @@ class Dual_Button extends Base {
396
  'title' => __( 'Center', 'happy-elementor-addons' ),
397
  'icon' => 'eicon-h-align-center',
398
  ],
399
- 'flex-end' => [
400
  'title' => __( 'Right', 'happy-elementor-addons' ),
401
  'icon' => 'eicon-h-align-right',
402
  ]
403
  ],
404
  'toggle' => true,
405
- 'selectors' => [
406
- '{{WRAPPER}} .elementor-widget-container' => 'justify-content: {{VALUE}};',
407
- ],
408
- ]
409
- );
410
-
411
- $this->add_control(
412
- 'button_align_y',
413
- [
414
- 'label' => __( 'Vertical Alignment', 'happy-elementor-addons' ),
415
- 'description' => __( 'Only works when buttons have different height', 'happy-elementor-addons' ),
416
- 'type' => Controls_Manager::CHOOSE,
417
- 'label_block' => false,
418
- 'options' => [
419
- 'flex-start' => [
420
- 'title' => __( 'Left', 'happy-elementor-addons' ),
421
- 'icon' => 'eicon-v-align-top',
422
- ],
423
- 'center' => [
424
- 'title' => __( 'Center', 'happy-elementor-addons' ),
425
- 'icon' => 'eicon-v-align-middle',
426
- ],
427
- 'flex-end' => [
428
- 'title' => __( 'Right', 'happy-elementor-addons' ),
429
- 'icon' => 'eicon-v-align-bottom',
430
- ]
431
- ],
432
- 'toggle' => true,
433
- 'selectors' => [
434
- '{{WRAPPER}} .elementor-widget-container' => 'align-items: {{VALUE}};',
435
- ],
436
  ]
437
  );
438
 
@@ -441,7 +438,7 @@ class Dual_Button extends Base {
441
  $this->start_controls_section(
442
  '_section_style_left_button',
443
  [
444
- 'label' => __( 'Left Button', 'happy-elementor-addons' ),
445
  'tab' => Controls_Manager::TAB_STYLE,
446
  ]
447
  );
@@ -505,24 +502,24 @@ class Dual_Button extends Base {
505
  ]
506
  );
507
 
508
- $this->add_control(
509
- 'left_button_bg_color',
510
  [
511
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
512
  'type' => Controls_Manager::COLOR,
513
  'selectors' => [
514
- '{{WRAPPER}} .ha-dual-btn--left' => 'background-color: {{VALUE}}',
515
  ],
516
  ]
517
  );
518
 
519
  $this->add_control(
520
- 'left_button_text_color',
521
  [
522
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
523
  'type' => Controls_Manager::COLOR,
524
  'selectors' => [
525
- '{{WRAPPER}} .ha-dual-btn--left' => 'color: {{VALUE}}',
526
  ],
527
  ]
528
  );
@@ -537,23 +534,23 @@ class Dual_Button extends Base {
537
  );
538
 
539
  $this->add_control(
540
- 'left_button_hover_bg_color',
541
  [
542
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
543
  'type' => Controls_Manager::COLOR,
544
  'selectors' => [
545
- '{{WRAPPER}} .ha-dual-btn--left:hover' => 'background-color: {{VALUE}}',
546
  ],
547
  ]
548
  );
549
 
550
- $this->add_control(
551
- 'left_button_hover_text_color',
552
  [
553
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
554
  'type' => Controls_Manager::COLOR,
555
  'selectors' => [
556
- '{{WRAPPER}} .ha-dual-btn--left:hover' => 'color: {{VALUE}}',
557
  ],
558
  ]
559
  );
@@ -642,7 +639,7 @@ class Dual_Button extends Base {
642
  $this->start_controls_section(
643
  '_section_style_right_button',
644
  [
645
- 'label' => __( 'Right Button', 'happy-elementor-addons' ),
646
  'tab' => Controls_Manager::TAB_STYLE,
647
  ]
648
  );
@@ -707,23 +704,23 @@ class Dual_Button extends Base {
707
  );
708
 
709
  $this->add_control(
710
- 'right_button_bg_color',
711
  [
712
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
713
  'type' => Controls_Manager::COLOR,
714
  'selectors' => [
715
- '{{WRAPPER}} .ha-dual-btn--right' => 'background-color: {{VALUE}}',
716
  ],
717
  ]
718
  );
719
 
720
  $this->add_control(
721
- 'right_button_text_color',
722
  [
723
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
724
  'type' => Controls_Manager::COLOR,
725
  'selectors' => [
726
- '{{WRAPPER}} .ha-dual-btn--right' => 'color: {{VALUE}}',
727
  ],
728
  ]
729
  );
@@ -738,23 +735,23 @@ class Dual_Button extends Base {
738
  );
739
 
740
  $this->add_control(
741
- 'right_button_hover_bg_color',
742
  [
743
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
744
  'type' => Controls_Manager::COLOR,
745
  'selectors' => [
746
- '{{WRAPPER}} .ha-dual-btn--right:hover' => 'background-color: {{VALUE}}',
747
  ],
748
  ]
749
  );
750
 
751
  $this->add_control(
752
- 'right_button_hover_text_color',
753
  [
754
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
755
  'type' => Controls_Manager::COLOR,
756
  'selectors' => [
757
- '{{WRAPPER}} .ha-dual-btn--right:hover' => 'color: {{VALUE}}',
758
  ],
759
  ]
760
  );
@@ -793,12 +790,11 @@ class Dual_Button extends Base {
793
  }
794
  $this->add_inline_editing_attributes( 'left_button_text', 'none' );
795
 
796
- $left_button_atts = [];
797
  if ( ! empty( $settings['left_button_icon'] ) || ! empty( $settings['left_button_selected_icon'] ) ) {
798
- $left_button_atts['class'] = [
799
  'ha-dual-btn-icon',
800
  'ha-dual-btn-icon--' . esc_attr( $settings['left_button_icon_position'] )
801
- ];
802
  }
803
 
804
  // Button connector
@@ -821,28 +817,31 @@ class Dual_Button extends Base {
821
  }
822
  $this->add_inline_editing_attributes( 'right_button_text', 'none' );
823
 
824
- $right_button_atts = [];
825
  if ( ! empty( $settings['right_button_icon'] ) || ! empty( $settings['right_button_selected_icon'] ) ) {
826
- $right_button_atts['class'] = [
827
  'ha-dual-btn-icon',
828
  'ha-dual-btn-icon--' . esc_attr( $settings['right_button_icon_position'] )
829
- ];
830
  }
831
  ?>
832
  <div class="ha-dual-btn-wrapper">
833
- <a <?php echo $this->get_render_attribute_string( 'left_button' ); ?>>
834
  <?php if ( $settings['left_button_icon_position'] === 'before' && ( ! empty( $settings['left_button_icon'] ) || ! empty( $settings['left_button_selected_icon'] ) ) ) : ?>
835
- <?php ha_render_icon( $settings, 'left_button_icon', 'left_button_selected_icon', $left_button_atts ); ?>
 
 
836
  <?php endif; ?>
837
  <?php if ( $settings['left_button_text'] ) : ?>
838
- <span <?php echo $this->get_render_attribute_string( 'left_button_text' ); ?>><?php echo esc_html( $settings['left_button_text'] ); ?></span>
839
  <?php endif; ?>
840
  <?php if ( $settings['left_button_icon_position'] === 'after' && ( ! empty( $settings['left_button_icon'] ) || ! empty( $settings['left_button_selected_icon'] ) ) ) : ?>
841
- <?php ha_render_icon( $settings, 'left_button_icon', 'left_button_selected_icon', $left_button_atts ); ?>
 
 
842
  <?php endif; ?>
843
  </a>
844
  <?php if ( $settings['button_connector_hide'] !== 'yes' ) : ?>
845
- <span <?php echo $this->get_render_attribute_string( 'button_connector_text' ); ?>>
846
  <?php if ( $settings['button_connector_type'] === 'icon' && ( ! empty( $settings['button_connector_icon'] ) || ! empty( $settings['button_connector_selected_icon'] ) ) ) : ?>
847
  <?php ha_render_icon( $settings, 'button_connector_icon', 'button_connector_selected_icon' ); ?>
848
  <?php else :
@@ -852,15 +851,19 @@ class Dual_Button extends Base {
852
  <?php endif; ?>
853
  </div>
854
  <div class="ha-dual-btn-wrapper">
855
- <a <?php echo $this->get_render_attribute_string( 'right_button' ); ?>>
856
  <?php if ( $settings['right_button_icon_position'] === 'before' && ( ! empty( $settings['right_button_icon'] ) || ! empty( $settings['right_button_selected_icon'] ) ) ) : ?>
857
- <?php ha_render_icon( $settings, 'right_button_icon', 'right_button_selected_icon', $right_button_atts ); ?>
 
 
858
  <?php endif; ?>
859
  <?php if ( $settings['right_button_text'] ) : ?>
860
- <span <?php echo $this->get_render_attribute_string( 'right_button_text' ); ?>><?php echo esc_html( $settings['right_button_text'] ); ?></span>
861
  <?php endif; ?>
862
  <?php if ( $settings['right_button_icon_position'] === 'after' && ( ! empty( $settings['right_button_icon'] ) || ! empty( $settings['right_button_selected_icon'] ) ) ) : ?>
863
- <?php ha_render_icon( $settings, 'right_button_icon', 'right_button_selected_icon', $right_button_atts ); ?>
 
 
864
  <?php endif; ?>
865
  </a>
866
  </div>
56
  $this->start_controls_tabs( '_tabs_buttons' );
57
 
58
  $this->start_controls_tab(
59
+ '_tab_button_primary',
60
  [
61
+ 'label' => __( 'Primary', 'happy-elementor-addons' ),
62
  ]
63
  );
64
 
233
  $this->end_controls_tab();
234
 
235
  $this->start_controls_tab(
236
+ '_tab_button_secondary',
237
  [
238
+ 'label' => __( 'Secondary', 'happy-elementor-addons' ),
239
  ]
240
  );
241
 
326
  $this->end_controls_tab();
327
  $this->end_controls_tabs();
328
 
329
+ $this->add_responsive_control(
330
+ 'buttons_layout',
331
+ [
332
+ 'label' => __( 'Layout', 'happy-elementor-addons' ),
333
+ 'type' => Controls_Manager::CHOOSE,
334
+ 'label_block' => false,
335
+ 'options' => [
336
+ 'queue' => [
337
+ 'title' => __( 'Queue', 'happy-elementor-addons' ),
338
+ 'icon' => 'eicon-navigation-horizontal',
339
+ ],
340
+ 'stack' => [
341
+ 'title' => __( 'Stack', 'happy-elementor-addons' ),
342
+ 'icon' => 'eicon-navigation-vertical',
343
+ ]
344
+ ],
345
+ 'toggle' => false,
346
+ 'desktop_default' => 'queue',
347
+ 'tablet_default' => 'queue',
348
+ 'mobile_default' => 'queue',
349
+ 'separator' => 'before',
350
+ 'prefix_class' => 'ha-dual-button-%s-layout-'
351
+ ]
352
+ );
353
+
354
  $this->end_controls_section();
355
  }
356
 
382
  'type' => Controls_Manager::SLIDER,
383
  'size_units' => ['px'],
384
  'selectors' => [
385
+ '{{WRAPPER}}.ha-dual-button--layout-queue .ha-dual-btn--left' => 'margin-right: calc({{SIZE}}{{UNIT}}/2);',
386
+ '{{WRAPPER}}.ha-dual-button--layout-queue .ha-dual-btn--right' => 'margin-left: calc({{SIZE}}{{UNIT}}/2);',
387
+ '{{WRAPPER}}.ha-dual-button--layout-stack .ha-dual-btn--left' => 'margin-bottom: calc({{SIZE}}{{UNIT}}/2);',
388
+ '{{WRAPPER}}.ha-dual-button--layout-stack .ha-dual-btn--right' => 'margin-top: calc({{SIZE}}{{UNIT}}/2);',
389
  ],
390
  ]
391
  );
408
  ]
409
  );
410
 
411
+ $this->add_responsive_control(
412
  'button_align_x',
413
  [
414
+ 'label' => __( 'Alignment', 'happy-elementor-addons' ),
415
  'type' => Controls_Manager::CHOOSE,
416
  'label_block' => false,
417
  'options' => [
418
+ 'left' => [
419
  'title' => __( 'Left', 'happy-elementor-addons' ),
420
  'icon' => 'eicon-h-align-left',
421
  ],
423
  'title' => __( 'Center', 'happy-elementor-addons' ),
424
  'icon' => 'eicon-h-align-center',
425
  ],
426
+ 'right' => [
427
  'title' => __( 'Right', 'happy-elementor-addons' ),
428
  'icon' => 'eicon-h-align-right',
429
  ]
430
  ],
431
  'toggle' => true,
432
+ 'prefix_class' => 'ha-dual-button-%s-align-'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
433
  ]
434
  );
435
 
438
  $this->start_controls_section(
439
  '_section_style_left_button',
440
  [
441
+ 'label' => __( 'Primary Button', 'happy-elementor-addons' ),
442
  'tab' => Controls_Manager::TAB_STYLE,
443
  ]
444
  );
502
  ]
503
  );
504
 
505
+ $this->add_control(
506
+ 'left_button_text_color',
507
  [
508
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
509
  'type' => Controls_Manager::COLOR,
510
  'selectors' => [
511
+ '{{WRAPPER}} .ha-dual-btn--left' => 'color: {{VALUE}}',
512
  ],
513
  ]
514
  );
515
 
516
  $this->add_control(
517
+ 'left_button_bg_color',
518
  [
519
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
520
  'type' => Controls_Manager::COLOR,
521
  'selectors' => [
522
+ '{{WRAPPER}} .ha-dual-btn--left' => 'background-color: {{VALUE}}',
523
  ],
524
  ]
525
  );
534
  );
535
 
536
  $this->add_control(
537
+ 'left_button_hover_text_color',
538
  [
539
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
540
  'type' => Controls_Manager::COLOR,
541
  'selectors' => [
542
+ '{{WRAPPER}} .ha-dual-btn--left:hover' => 'color: {{VALUE}}',
543
  ],
544
  ]
545
  );
546
 
547
+ $this->add_control(
548
+ 'left_button_hover_bg_color',
549
  [
550
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
551
  'type' => Controls_Manager::COLOR,
552
  'selectors' => [
553
+ '{{WRAPPER}} .ha-dual-btn--left:hover' => 'background-color: {{VALUE}}',
554
  ],
555
  ]
556
  );
639
  $this->start_controls_section(
640
  '_section_style_right_button',
641
  [
642
+ 'label' => __( 'Secondary Button', 'happy-elementor-addons' ),
643
  'tab' => Controls_Manager::TAB_STYLE,
644
  ]
645
  );
704
  );
705
 
706
  $this->add_control(
707
+ 'right_button_text_color',
708
  [
709
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
710
  'type' => Controls_Manager::COLOR,
711
  'selectors' => [
712
+ '{{WRAPPER}} .ha-dual-btn--right' => 'color: {{VALUE}}',
713
  ],
714
  ]
715
  );
716
 
717
  $this->add_control(
718
+ 'right_button_bg_color',
719
  [
720
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
721
  'type' => Controls_Manager::COLOR,
722
  'selectors' => [
723
+ '{{WRAPPER}} .ha-dual-btn--right' => 'background-color: {{VALUE}}',
724
  ],
725
  ]
726
  );
735
  );
736
 
737
  $this->add_control(
738
+ 'right_button_hover_text_color',
739
  [
740
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
741
  'type' => Controls_Manager::COLOR,
742
  'selectors' => [
743
+ '{{WRAPPER}} .ha-dual-btn--right:hover' => 'color: {{VALUE}}',
744
  ],
745
  ]
746
  );
747
 
748
  $this->add_control(
749
+ 'right_button_hover_bg_color',
750
  [
751
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
752
  'type' => Controls_Manager::COLOR,
753
  'selectors' => [
754
+ '{{WRAPPER}} .ha-dual-btn--right:hover' => 'background-color: {{VALUE}}',
755
  ],
756
  ]
757
  );
790
  }
791
  $this->add_inline_editing_attributes( 'left_button_text', 'none' );
792
 
 
793
  if ( ! empty( $settings['left_button_icon'] ) || ! empty( $settings['left_button_selected_icon'] ) ) {
794
+ $this->add_render_attribute( 'left_button_icon', 'class', [
795
  'ha-dual-btn-icon',
796
  'ha-dual-btn-icon--' . esc_attr( $settings['left_button_icon_position'] )
797
+ ] );
798
  }
799
 
800
  // Button connector
817
  }
818
  $this->add_inline_editing_attributes( 'right_button_text', 'none' );
819
 
 
820
  if ( ! empty( $settings['right_button_icon'] ) || ! empty( $settings['right_button_selected_icon'] ) ) {
821
+ $this->add_render_attribute( 'right_button_icon', 'class', [
822
  'ha-dual-btn-icon',
823
  'ha-dual-btn-icon--' . esc_attr( $settings['right_button_icon_position'] )
824
+ ] );
825
  }
826
  ?>
827
  <div class="ha-dual-btn-wrapper">
828
+ <a <?php $this->print_render_attribute_string( 'left_button' ); ?>>
829
  <?php if ( $settings['left_button_icon_position'] === 'before' && ( ! empty( $settings['left_button_icon'] ) || ! empty( $settings['left_button_selected_icon'] ) ) ) : ?>
830
+ <span <?php $this->print_render_attribute_string( 'left_button_icon' ); ?>>
831
+ <?php ha_render_icon( $settings, 'left_button_icon', 'left_button_selected_icon' ); ?>
832
+ </span>
833
  <?php endif; ?>
834
  <?php if ( $settings['left_button_text'] ) : ?>
835
+ <span <?php $this->print_render_attribute_string( 'left_button_text' ); ?>><?php echo esc_html( $settings['left_button_text'] ); ?></span>
836
  <?php endif; ?>
837
  <?php if ( $settings['left_button_icon_position'] === 'after' && ( ! empty( $settings['left_button_icon'] ) || ! empty( $settings['left_button_selected_icon'] ) ) ) : ?>
838
+ <span <?php $this->print_render_attribute_string( 'left_button_icon' ); ?>>
839
+ <?php ha_render_icon( $settings, 'left_button_icon', 'left_button_selected_icon' ); ?>
840
+ </span>
841
  <?php endif; ?>
842
  </a>
843
  <?php if ( $settings['button_connector_hide'] !== 'yes' ) : ?>
844
+ <span <?php $this->print_render_attribute_string( 'button_connector_text' ); ?>>
845
  <?php if ( $settings['button_connector_type'] === 'icon' && ( ! empty( $settings['button_connector_icon'] ) || ! empty( $settings['button_connector_selected_icon'] ) ) ) : ?>
846
  <?php ha_render_icon( $settings, 'button_connector_icon', 'button_connector_selected_icon' ); ?>
847
  <?php else :
851
  <?php endif; ?>
852
  </div>
853
  <div class="ha-dual-btn-wrapper">
854
+ <a <?php $this->print_render_attribute_string( 'right_button' ); ?>>
855
  <?php if ( $settings['right_button_icon_position'] === 'before' && ( ! empty( $settings['right_button_icon'] ) || ! empty( $settings['right_button_selected_icon'] ) ) ) : ?>
856
+ <span <?php $this->print_render_attribute_string( 'right_button_icon' ); ?>>
857
+ <?php ha_render_icon( $settings, 'right_button_icon', 'right_button_selected_icon' ); ?>
858
+ </span>
859
  <?php endif; ?>
860
  <?php if ( $settings['right_button_text'] ) : ?>
861
+ <span <?php $this->print_render_attribute_string( 'right_button_text' ); ?>><?php echo esc_html( $settings['right_button_text'] ); ?></span>
862
  <?php endif; ?>
863
  <?php if ( $settings['right_button_icon_position'] === 'after' && ( ! empty( $settings['right_button_icon'] ) || ! empty( $settings['right_button_selected_icon'] ) ) ) : ?>
864
+ <span <?php $this->print_render_attribute_string( 'right_button_icon' ); ?>>
865
+ <?php ha_render_icon( $settings, 'right_button_icon', 'right_button_selected_icon' ); ?>
866
+ </span>
867
  <?php endif; ?>
868
  </a>
869
  </div>
widgets/image-grid/widget.php CHANGED
@@ -665,13 +665,13 @@ class Image_Grid extends Base {
665
  $menu = [];
666
  $items = [];
667
 
668
- foreach ( $gallery as $item ) {
669
  if ( empty( $item['images'] ) ) {
670
  continue;
671
  }
672
 
673
  $images = $item['images'];
674
- $filter = 'ha-is--' . sanitize_title_with_dashes( $item['filter'] );
675
 
676
  if ( $filter && ! isset( $data[ $filter ] ) ) {
677
  $menu[ $filter ] = $item['filter'];
665
  $menu = [];
666
  $items = [];
667
 
668
+ foreach ( $gallery as $key => $item ) {
669
  if ( empty( $item['images'] ) ) {
670
  continue;
671
  }
672
 
673
  $images = $item['images'];
674
+ $filter = 'ha-is--filter-' . ( $key + 1 );
675
 
676
  if ( $filter && ! isset( $data[ $filter ] ) ) {
677
  $menu[ $filter ] = $item['filter'];
widgets/justified-gallery/widget.php CHANGED
@@ -748,13 +748,13 @@ class Justified_Gallery extends Base {
748
  $menu = [];
749
  $items = [];
750
 
751
- foreach ( $gallery as $item ) {
752
  if ( empty( $item['images'] ) ) {
753
  continue;
754
  }
755
 
756
  $images = $item['images'];
757
- $filter = 'ha-filter-is--' . sanitize_title_with_dashes( $item['filter'] );
758
 
759
  if ( $filter && ! isset( $data[ $filter ] ) ) {
760
  $menu[ $filter ] = $item['filter'];
@@ -811,11 +811,12 @@ class Justified_Gallery extends Base {
811
 
812
  <div <?php echo $this->get_render_attribute_string( 'container' ); ?>>
813
  <?php foreach ( $gallery['items'] as $id => $filters ) :
814
- $caption = $settings['show_caption'] ? esc_attr( wp_get_attachment_caption( $id ) ) : '';
 
815
  $popup = $has_popup ? sprintf( 'href="%s"', esc_url( wp_get_attachment_image_url( $id, $settings['popup_image_size'] ) ) ) : '';
816
  ?>
817
- <<?php echo $item_html_tag; ?> <?php echo $popup; ?> class="ha-justified-gallery-item ha-js-popup <?php echo esc_attr( implode( ' ', $filters ) ); ?>">
818
- <?php echo wp_get_attachment_image( $id, $settings['thumbnail_size'], false, [ 'alt' => $caption, 'class' => 'elementor-animation-' . esc_attr( $settings['image_hover_animation'] ) ] ); ?>
819
  </<?php echo $item_html_tag; ?>>
820
  <?php endforeach; ?>
821
  </div>
748
  $menu = [];
749
  $items = [];
750
 
751
+ foreach ( $gallery as $key => $item ) {
752
  if ( empty( $item['images'] ) ) {
753
  continue;
754
  }
755
 
756
  $images = $item['images'];
757
+ $filter = 'ha-is--filter-' . ( $key + 1 );
758
 
759
  if ( $filter && ! isset( $data[ $filter ] ) ) {
760
  $menu[ $filter ] = $item['filter'];
811
 
812
  <div <?php echo $this->get_render_attribute_string( 'container' ); ?>>
813
  <?php foreach ( $gallery['items'] as $id => $filters ) :
814
+ $alt = esc_attr( wp_get_attachment_caption( $id ) );
815
+ $caption = $settings['show_caption'] ? $alt : '';
816
  $popup = $has_popup ? sprintf( 'href="%s"', esc_url( wp_get_attachment_image_url( $id, $settings['popup_image_size'] ) ) ) : '';
817
  ?>
818
+ <<?php echo $item_html_tag; ?> <?php echo $popup; ?> class="ha-justified-gallery-item ha-js-popup <?php echo esc_attr( implode( ' ', $filters ) ); ?>" title="<?php echo $caption; ?>">
819
+ <?php echo wp_get_attachment_image( $id, $settings['thumbnail_size'], false, [ 'alt' => $alt, 'class' => 'elementor-animation-' . esc_attr( $settings['image_hover_animation'] ) ] ); ?>
820
  </<?php echo $item_html_tag; ?>>
821
  <?php endforeach; ?>
822
  </div>
widgets/pricing-table/widget.php CHANGED
@@ -175,9 +175,9 @@ class Pricing_Table extends Base {
175
  $repeater->add_control(
176
  'text',
177
  [
178
- 'label' => __( 'Text', 'elementor-pro' ),
179
  'type' => Controls_Manager::TEXTAREA,
180
- 'default' => __( 'Exciting Feature', 'elementor-pro' ),
181
  'dynamic' => [
182
  'active' => true
183
  ]
@@ -188,7 +188,7 @@ class Pricing_Table extends Base {
188
  $repeater->add_control(
189
  'icon',
190
  [
191
- 'label' => __( 'Icon', 'elementor-pro' ),
192
  'type' => Controls_Manager::ICON,
193
  'label_block' => false,
194
  'options' => ha_get_happy_icons(),
@@ -203,7 +203,7 @@ class Pricing_Table extends Base {
203
  $repeater->add_control(
204
  'selected_icon',
205
  [
206
- 'label' => __( 'Icon', 'elementor-pro' ),
207
  'type' => Controls_Manager::ICONS,
208
  'fa4compatibility' => 'icon',
209
  'default' => [
@@ -231,19 +231,19 @@ class Pricing_Table extends Base {
231
  'show_label' => false,
232
  'default' => [
233
  [
234
- 'text' => __( 'Standard Feature', 'elementor-pro' ),
235
  'icon' => 'fa fa-check',
236
  ],
237
  [
238
- 'text' => __( 'Another Great Feature', 'elementor-pro' ),
239
  'icon' => 'fa fa-check',
240
  ],
241
  [
242
- 'text' => __( 'Obsolete Feature', 'elementor-pro' ),
243
  'icon' => 'fa fa-close',
244
  ],
245
  [
246
- 'text' => __( 'Exciting Feature', 'elementor-pro' ),
247
  'icon' => 'fa fa-check',
248
  ],
249
  ],
175
  $repeater->add_control(
176
  'text',
177
  [
178
+ 'label' => __( 'Text', 'happy-elementor-addons' ),
179
  'type' => Controls_Manager::TEXTAREA,
180
+ 'default' => __( 'Exciting Feature', 'happy-elementor-addons' ),
181
  'dynamic' => [
182
  'active' => true
183
  ]
188
  $repeater->add_control(
189
  'icon',
190
  [
191
+ 'label' => __( 'Icon', 'happy-elementor-addons' ),
192
  'type' => Controls_Manager::ICON,
193
  'label_block' => false,
194
  'options' => ha_get_happy_icons(),
203
  $repeater->add_control(
204
  'selected_icon',
205
  [
206
+ 'label' => __( 'Icon', 'happy-elementor-addons' ),
207
  'type' => Controls_Manager::ICONS,
208
  'fa4compatibility' => 'icon',
209
  'default' => [
231
  'show_label' => false,
232
  'default' => [
233
  [
234
+ 'text' => __( 'Standard Feature', 'happy-elementor-addons' ),
235
  'icon' => 'fa fa-check',
236
  ],
237
  [
238
+ 'text' => __( 'Another Great Feature', 'happy-elementor-addons' ),
239
  'icon' => 'fa fa-check',
240
  ],
241
  [
242
+ 'text' => __( 'Obsolete Feature', 'happy-elementor-addons' ),
243
  'icon' => 'fa fa-close',
244
  ],
245
  [
246
+ 'text' => __( 'Exciting Feature', 'happy-elementor-addons' ),
247
  'icon' => 'fa fa-check',
248
  ],
249
  ],
widgets/step-flow/widget.php CHANGED
@@ -524,7 +524,7 @@ class Step_Flow extends Base {
524
  $this->add_control(
525
  'direction_style',
526
  [
527
- 'label' => __( 'Style', 'elementor' ),
528
  'type' => Controls_Manager::SELECT,
529
  'options' => [
530
  'solid' => __( 'Solid', 'happy-elementor-addons' ),
524
  $this->add_control(
525
  'direction_style',
526
  [
527
+ 'label' => __( 'Style', 'happy-elementor-addons' ),
528
  'type' => Controls_Manager::SELECT,
529
  'options' => [
530
  'solid' => __( 'Solid', 'happy-elementor-addons' ),