Version Description
6 November 2019 =
Update: Improved support for image optimization plugins. ex: Shortpixel Image Optimiser
Update: Widgets default styles
Fix: WPForms Pro compatibility issue
Fix: Image border radius style issue
Download this release
Release Info
Developer | thehappymonster |
Plugin | Happy Addons for Elementor (Mega Menu, Post Grid, Woocommerce Product Grid, Table, Event Calendar, Slider Elementor Widget) |
Version | 2.2.3 |
Comparing to | |
See all releases |
Code changes from version 2.2.2 to 2.2.3
- assets/css/main.css +8 -8
- assets/css/main.min.css +1 -1
- assets/css/widgets/card.min.css +1 -1
- assets/css/widgets/common.min.css +1 -1
- assets/css/widgets/image-grid.min.css +1 -1
- assets/css/widgets/infobox.min.css +1 -1
- assets/css/widgets/review.min.css +1 -1
- assets/css/widgets/testimonial.min.css +1 -1
- base.php +1 -2
- classes/assets-manager.php +7 -4
- inc/functions-forms.php +160 -0
- inc/functions.php +41 -237
- plugin.php +17 -14
- readme.txt +13 -1
- widgets/calderaform/widget.php +18 -8
- widgets/card/widget.php +9 -9
- widgets/cf7/widget.php +15 -5
- widgets/image-grid/widget.php +6 -6
- widgets/infobox/widget.php +4 -4
- widgets/justified-gallery/widget.php +7 -7
- widgets/logo-grid/widget.php +21 -9
- widgets/member/widget.php +5 -5
- widgets/ninjaform/widget.php +17 -8
- widgets/review/widget.php +4 -4
- widgets/testimonial/widget.php +4 -4
- widgets/weform/widget.php +18 -8
- widgets/wpform/widget.php +18 -8
assets/css/main.css
CHANGED
@@ -86,7 +86,7 @@
|
|
86 |
}
|
87 |
|
88 |
.ha-popup--is-enabled .ha-js-popup,
|
89 |
-
.ha-popup--is-enabled .ha-js-popup
|
90 |
cursor: -webkit-zoom-in !important;
|
91 |
cursor: zoom-in !important;
|
92 |
}
|
@@ -232,7 +232,7 @@
|
|
232 |
position: relative;
|
233 |
height: 250px;
|
234 |
}
|
235 |
-
.ha-card-figure
|
236 |
width: 100%;
|
237 |
height: 100%;
|
238 |
border-top-left-radius: calc(.5rem - 1px);
|
@@ -304,7 +304,7 @@
|
|
304 |
max-width: 50%;
|
305 |
}
|
306 |
|
307 |
-
.ha-card--left .ha-card-figure
|
308 |
border-radius: calc(.5rem - 1px) 0 0 calc(.5rem - 1px);
|
309 |
}
|
310 |
|
@@ -317,7 +317,7 @@
|
|
317 |
text-align: right;
|
318 |
}
|
319 |
|
320 |
-
.ha-card--right .ha-card-figure
|
321 |
border-radius: 0 calc(.5rem - 1px) calc(.5rem - 1px) 0;
|
322 |
}
|
323 |
|
@@ -375,7 +375,7 @@
|
|
375 |
-ms-transform: translateX(-50%);
|
376 |
transform: translateX(-50%);
|
377 |
}
|
378 |
-
.ha-infobox-figure
|
379 |
width: 100%;
|
380 |
height: 100%;
|
381 |
vertical-align: bottom;
|
@@ -560,7 +560,7 @@
|
|
560 |
.ha-review-figure {
|
561 |
margin: 0;
|
562 |
}
|
563 |
-
.ha-review-figure
|
564 |
width: 100%;
|
565 |
height: 100%;
|
566 |
border-radius: 50%;
|
@@ -789,7 +789,7 @@
|
|
789 |
.ha-image-grid--layout-even .ha-image-grid-inner {
|
790 |
height: 250px;
|
791 |
}
|
792 |
-
.ha-image-grid--layout-even .ha-image-grid-inner
|
793 |
height: 100%;
|
794 |
}
|
795 |
|
@@ -2035,7 +2035,7 @@
|
|
2035 |
max-width: 65px;
|
2036 |
height: 65px;
|
2037 |
}
|
2038 |
-
.ha-testimonial__reviewer-thumb
|
2039 |
width: 100%;
|
2040 |
height: 100%;
|
2041 |
border-radius: 50%;
|
86 |
}
|
87 |
|
88 |
.ha-popup--is-enabled .ha-js-popup,
|
89 |
+
.ha-popup--is-enabled .ha-js-popup img {
|
90 |
cursor: -webkit-zoom-in !important;
|
91 |
cursor: zoom-in !important;
|
92 |
}
|
232 |
position: relative;
|
233 |
height: 250px;
|
234 |
}
|
235 |
+
.ha-card-figure img {
|
236 |
width: 100%;
|
237 |
height: 100%;
|
238 |
border-top-left-radius: calc(.5rem - 1px);
|
304 |
max-width: 50%;
|
305 |
}
|
306 |
|
307 |
+
.ha-card--left .ha-card-figure img {
|
308 |
border-radius: calc(.5rem - 1px) 0 0 calc(.5rem - 1px);
|
309 |
}
|
310 |
|
317 |
text-align: right;
|
318 |
}
|
319 |
|
320 |
+
.ha-card--right .ha-card-figure img {
|
321 |
border-radius: 0 calc(.5rem - 1px) calc(.5rem - 1px) 0;
|
322 |
}
|
323 |
|
375 |
-ms-transform: translateX(-50%);
|
376 |
transform: translateX(-50%);
|
377 |
}
|
378 |
+
.ha-infobox-figure img {
|
379 |
width: 100%;
|
380 |
height: 100%;
|
381 |
vertical-align: bottom;
|
560 |
.ha-review-figure {
|
561 |
margin: 0;
|
562 |
}
|
563 |
+
.ha-review-figure img {
|
564 |
width: 100%;
|
565 |
height: 100%;
|
566 |
border-radius: 50%;
|
789 |
.ha-image-grid--layout-even .ha-image-grid-inner {
|
790 |
height: 250px;
|
791 |
}
|
792 |
+
.ha-image-grid--layout-even .ha-image-grid-inner img {
|
793 |
height: 100%;
|
794 |
}
|
795 |
|
2035 |
max-width: 65px;
|
2036 |
height: 65px;
|
2037 |
}
|
2038 |
+
.ha-testimonial__reviewer-thumb img {
|
2039 |
width: 100%;
|
2040 |
height: 100%;
|
2041 |
border-radius: 50%;
|
assets/css/main.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.happy-addon>.elementor-widget-container{word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.happy-addon>.elementor-widget-container *{box-sizing:border-box}.happy-addon img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.happy-addon p:empty{display:none}.ha-screen-reader-text{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);margin:-1px;padding:0;width:1px;height:1px;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.ha-has-background-overlay>.elementor-widget-container{position:relative;z-index:1}.ha-has-background-overlay>.elementor-widget-container:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-popup--is-enabled .ha-js-popup,.ha-popup--is-enabled .ha-js-popup>img{cursor:-webkit-zoom-in!important;cursor:zoom-in!important}.mfp-wrap .mfp-arrow,.mfp-wrap .mfp-close{background-color:transparent}.mfp-wrap .mfp-arrow:focus,.mfp-wrap .mfp-close:focus{outline-width:thin}.ha-btn{display:inline-block;max-width:100%;vertical-align:middle;text-align:center;text-decoration:none;font-size:14px;line-height:1;-webkit-transition:all .3s;transition:all .3s}.ha-btn:not(.ha-btn--link){padding:15px 25px;border-radius:.25rem;background-color:#562dd4;color:#fff}.ha-btn:not(.ha-btn--link):focus,.ha-btn:not(.ha-btn--link):hover{background-color:#e2498a}.ha-btn.ha-btn--link{color:#562dd4}.ha-btn.ha-btn--link:focus,.ha-btn.ha-btn--link:hover{color:#e2498a}.ha-btn-icon+.ha-btn-text,.ha-btn-text+.ha-btn-icon{margin-left:5px}.ha-badge{padding:.475rem 1.1rem;max-width:100%;border-radius:50px;background-color:#fff;font-size:12px}.ha-badge--top-left{top:1rem;left:1rem}.ha-badge--top-center{top:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--top-right{top:1rem;right:1rem}.ha-badge--middle-left{top:50%;left:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--middle-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ha-badge--middle-right{top:50%;right:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--bottom-left{bottom:1rem;left:1rem}.ha-badge--bottom-center{bottom:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--bottom-right{right:1rem;bottom:1rem}.ha-card-figure{position:relative;height:250px}.ha-card-figure>img{border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.ha-card-body{padding:1.5rem}.ha-card-title{margin-top:0;margin-bottom:.75rem;color:#151515;font-weight:700;font-size:22px}.ha-card-text{margin-bottom:2rem;color:#616161;font-size:16px;line-height:1.7}.ha-card-text>p,.ha-infobox-text>p{margin-top:0;margin-bottom:0}.ha-card--top .ha-card-figure{display:inline-block;width:100%}.ha-card--left>.elementor-widget-container,.ha-card--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-card--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-card--left .ha-card-body,.ha-card--left .ha-card-figure,.ha-card--right .ha-card-body,.ha-card--right .ha-card-figure{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.ha-card--left .ha-card-body,.ha-card--right .ha-card-body{padding:2.5rem}.ha-card--left .ha-card-figure>img{border-radius:calc(.5rem - 1px) 0 0 calc(.5rem - 1px)}.ha-card--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-card--right .ha-card-figure>img{border-radius:0 calc(.5rem - 1px) calc(.5rem - 1px) 0}.ha-card .ha-badge{position:absolute}.ha-infobox>.elementor-widget-container{padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem}.ha-icon-box-icon>i,.ha-infobox-figure>i{position:relative;display:block;width:1em;height:1em}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before,.ha-icon-box-icon>i:before,.ha-infobox-figure>i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-card-figure>img,.ha-infobox-figure>img,.ha-member-figure img{width:100%;height:100%;vertical-align:bottom}.ha-infobox-text+.ha-btn--link{margin-top:1rem}.ha-icon-box>.elementor-widget-container{position:relative;padding:1.25rem}.ha-icon-box-title{margin-top:0;margin-bottom:0;color:#151515;font-size:24px;-webkit-transition:color .3s;transition:color .3s}.ha-icon-box-icon{display:inline-block;margin-bottom:1rem;color:#151515;text-align:center;font-size:3rem;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon>i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}.ha-member>.elementor-widget-container{padding:1.25rem}.ha-member-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-member-name{margin-top:0;margin-bottom:.5rem;color:#151515;font-size:18px}.ha-member-position{margin-bottom:1.5rem;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:1.5rem;font-size:14px;line-height:1.6}.ha-member-links>a{display:inline-block;color:#9895ad;text-align:center;line-height:1;-webkit-transition:all .2s;transition:all .2s}.ha-member-links>a:focus,.ha-member-links>a:hover{color:#222}.ha-member-links>a>i{width:1em;height:1em}.ha-member-links>a:not(:last-child){margin-right:.3rem}.ha-review-header{margin-top:1.5rem}.ha-review-desc p,.ha-review-figure{margin:0}.ha-review-figure>img{width:100%;height:100%;border-radius:50%;vertical-align:bottom}.ha-review-reviewer{margin-top:0;margin-bottom:.3rem;color:#151515;font-size:18px}.ha-review-position{margin-bottom:.5rem;color:#7f7f7f;font-size:15px}.ha-review-ratting{display:inline-block;font-size:12px;line-height:1}.ha-review-ratting--num{padding:.25em .66em;border-radius:2.5em;background-color:#562dd4;color:#fff}.ha-review-ratting--star{color:#ffbf36}.ha-review-desc{margin-top:1.5rem;font-size:16px;line-height:1.6}.ha-review--top>.elementor-widget-container{padding:2rem}.ha-review--top .ha-review-figure{display:inline-block;max-width:70px;height:70px}.ha-review--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-review--left>.elementor-widget-container,.ha-review--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding-left:2rem}.ha-review--left .ha-review-figure,.ha-review--right .ha-review-figure{-webkit-box-flex:0;-webkit-flex:0 0 150px;-ms-flex:0 0 150px;flex:0 0 150px;max-width:150px;height:150px}.ha-review--left .ha-review-body,.ha-review--right .ha-review-body{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 150px);-ms-flex:0 0 calc(100% - 150px);flex:0 0 calc(100% - 150px);padding:2rem;max-width:calc(100% - 150px)}.ha-review--left .ha-review-body>:first-child,.ha-review--right .ha-review-body>:first-child{margin-top:0}.ha-review--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-right:2rem;padding-left:0;text-align:right}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper{border-radius:inherit}.ha-gallery-filter{margin:0 10px 2rem;padding:0;list-style:none}.ha-gallery-filter>li{display:inline-block;margin-bottom:10px;max-width:100%}.ha-gallery-filter>li:not(:last-child){margin-right:10px}.ha-gallery-filter>li>button{display:block;overflow:hidden;padding:10px 25px;max-width:100%;border:2px solid #562dd4;border-radius:.25rem;background-color:transparent;color:#562dd4;text-transform:uppercase;text-overflow:ellipsis;font-size:14px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ha-gallery-filter>li>button:focus,.ha-gallery-filter>li>button:hover{outline:0;background-color:#562dd4;color:#fff}.ha-gallery-filter>.ha-filter-active>button{background-color:#562dd4;color:#fff}.ha-image-grid-item{float:left}.ha-image-grid-inner{position:relative;display:block;overflow:hidden;margin:10px;text-decoration:none}.ha-image-grid-inner img{display:block;width:100%;-webkit-transition:all .25s;transition:all .25s}.ha-image-grid--layout-even .ha-image-grid-inner{height:250px}.ha-image-grid--layout-even .ha-image-grid-inner>img{height:100%}.ha-justified-gallery-item,.ha-justified-gallery-item>img{border-radius:6px}.ha-justified-gallery .justified-gallery>.ha-justified-gallery-item>.caption{bottom:-100px!important;padding:10px;-webkit-transition:all .25s!important;transition:all .25s!important;-webkit-animation:haSmoothReveal .3s forwards;animation:haSmoothReveal .3s forwards}.ha-justified-gallery .justified-gallery>.ha-justified-gallery-item>.caption.caption-visible{bottom:0!important}.ha-justified-gallery .justified-gallery>.entry-visible>a>img,.ha-justified-gallery .justified-gallery>.entry-visible>img{-webkit-transition:all 300ms,opacity 500ms ease-in;transition:all 300ms,opacity 500ms ease-in}@-webkit-keyframes haSmoothReveal{0%{-webkit-transform:translateY(100px);transform:translateY(100px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes haSmoothReveal{0%{-webkit-transform:translateY(100px);transform:translateY(100px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.ha-carousel .slick-vertical .slick-slide,.ha-slider .slick-vertical .slick-slide{border:0}.ha-carousel .slick-next,.ha-carousel .slick-prev,.ha-slider .slick-next,.ha-slider .slick-prev{z-index:999;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background-color:rgba(255,255,255,.8);color:#8c8c8c;text-align:center;font-size:12px;opacity:1}.ha-carousel .slick-next:focus,.ha-carousel .slick-next:hover,.ha-carousel .slick-prev:focus,.ha-carousel .slick-prev:hover,.ha-slider .slick-next:focus,.ha-slider .slick-next:hover,.ha-slider .slick-prev:focus,.ha-slider .slick-prev:hover{background-color:#fff}.ha-carousel .slick-next:before,.ha-carousel .slick-prev:before,.ha-slider .slick-next:before,.ha-slider .slick-prev:before{content:""}.ha-carousel .slick-disabled,.ha-slider .slick-disabled{opacity:.7}.ha-carousel .slick-prev,.ha-slider .slick-prev{left:25px}.ha-carousel .slick-next,.ha-slider .slick-next{right:25px}.ha-carousel .slick-dots,.ha-slider .slick-dots{bottom:-40px}.ha-carousel .slick-dots li,.ha-slider .slick-dots li{margin-right:2px;margin-left:2px}.ha-carousel .slick-dots li button:focus,.ha-carousel .slick-dots li button:hover,.ha-slider .slick-dots li button:focus,.ha-slider .slick-dots li button:hover{background-color:transparent}.ha-carousel .slick-dots li button:before,.ha-slider .slick-dots li button:before{color:#1b1b1b;opacity:1}.ha-carousel .slick-dots .slick-active button:before,.ha-carousel .slick-dots li button:hover:before,.ha-slider .slick-dots .slick-active button:before,.ha-slider .slick-dots li button:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.ha-carousel .slick-next,.ha-carousel .slick-prev{width:40px;height:40px;line-height:40px}.ha-slider .slick-next,.ha-slider .slick-prev{width:50px;height:50px;line-height:50px}.ha-carousel .slick-slider:not(.slick-vertical) .slick-slide{padding-right:5px;padding-left:5px}.ha-carousel .slick-slider.slick-vertical .slick-slide{padding-top:5px;padding-bottom:5px}.ha-slick-item{position:relative;overflow:hidden;vertical-align:bottom}.ha-slick-content{position:absolute;bottom:0;padding:1.5rem;width:100%;background:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3))}.ha-slick-title{margin-top:0;margin-bottom:.2rem;color:#fff;font-size:20px}.ha-slick-subtitle{margin:0;color:#fff}.ha-skills>.elementor-widget-container{padding-top:1px}.ha-skill{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:15px;background-color:#e9ecef;font-size:.75rem}.ha-skill--inside .ha-skill-info,.ha-skill--outside .ha-skill-info{text-align:left;font-size:14px;line-height:1}.ha-skill--inside .ha-skill-level-text,.ha-skill--outside .ha-skill-level-text{float:right}.ha-skill--outside{height:2px}.ha-skill--outside .ha-skill-level{position:relative}.ha-skill--outside .ha-skill-info{position:absolute;top:-25px;width:100%;color:#242424}.ha-skill--inside{height:30px}.ha-skill--inside .ha-skill-info{padding-right:1rem;padding-left:1rem;color:#fff}.ha-skill-level{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:10%;border-radius:inherit;background-color:#562dd4;color:#fff;text-align:center;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.ha-skill--outside{margin-top:40px}.ha-skill--inside:not(:first-child){margin-top:20px}.ha-skill-name{display:inline-block;overflow:hidden;max-width:70%;text-overflow:ellipsis}.ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}.ha-logo-grid-item{float:left;overflow:hidden;height:180px;border-color:#e7e7e7}.ha-logo-grid-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;padding:30px;width:100%;height:100%}.ha-logo-grid-img{max-height:100%}@media (min-width:1025px){.ha-logo-grid--col-2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col-3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col-4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col-5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col-6 .ha-logo-grid-item{width:calc(100%/6)}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--col--tablet2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col--tablet3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col--tablet4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col--tablet5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col--tablet6 .ha-logo-grid-item{width:calc(100%/6)}}@media (max-width:767px){.ha-logo-grid--col--mobile2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col--mobile3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col--mobile4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col--mobile5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col--mobile6 .ha-logo-grid-item{width:calc(100%/6)}}.ha-logo-grid--tictactoe .ha-logo-grid-item{border-width:2px 2px 0 0;border-style:solid}@media (min-width:1025px){.ha-logo-grid--tictactoe.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}@media (max-width:767px){.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}.ha-logo-grid--border .ha-logo-grid-item{border-width:0 2px 2px 0;border-style:solid}.ha-logo-grid--border .ha-logo-grid-item:first-child{border-top-left-radius:10px}.ha-logo-grid--border .ha-logo-grid-item:last-child{border-bottom-right-radius:10px}@media (min-width:1025px){.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}@media (max-width:767px){.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}.ha-logo-grid--box .ha-logo-grid-wrapper{margin:-.5rem}.ha-logo-grid--box .ha-logo-grid-item{margin:.5rem;border-width:2px;border-style:solid;border-radius:.5rem}@media (min-width:1025px){.ha-logo-grid--box.ha-logo-grid--col-2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--box.ha-logo-grid--col--tablet2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}@media (max-width:767px){.ha-logo-grid--box.ha-logo-grid--col--mobile2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}.ha-dual-btn,.ha-dual-btn-connector{display:inline-block}.ha-dual-btn-wrapper{position:relative;text-align:center;font-weight:400}.ha-dual-btn{padding:1.2rem 3rem;max-width:100%;color:#fff;text-decoration:none;font-size:14px}.ha-dual-btn--left{background-color:#562dd4}.ha-dual-btn--left:focus,.ha-dual-btn--left:hover{background-color:#4423ab;color:#fff}.ha-dual-btn--right{background-color:#e2498a}.ha-dual-btn--right:focus,.ha-dual-btn--right:hover{background-color:#d6226e;color:#fff}.ha-dual-btn-connector{position:absolute!important;z-index:9;overflow:hidden;width:30px;height:30px;border-radius:100%;background-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.3);color:#27374c;text-transform:uppercase;font-size:12px;line-height:30px;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ha-dual-btn-icon>svg{width:1em;height:auto}.ha-dual-btn-icon>i{font-size:1em}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.ha-dual-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container,.ha-testimonial__reviewer{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--mobile-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--mobile-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--mobile-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--mobile-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--mobile-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}@media (min-width:768px){.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--tablet-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--tablet-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--tablet-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--tablet-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--tablet-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--tablet-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--tablet-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--tablet-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--tablet-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--tablet-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}@media (min-width:1025px){.ha-dual-button--layout-stack.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--layout-stack.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--layout-stack.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--layout-queue.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--layout-queue.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--layout-queue.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}.ha-testimonial--basic>.elementor-widget-container{padding:2rem;border:1px solid #ececec;border-radius:.5rem}.ha-testimonial--basic .ha-testimonial__content{margin-bottom:2.5em}.ha-testimonial--bubble .ha-testimonial__content{position:relative;margin-bottom:1.5rem;padding:2rem;border-radius:6px;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);line-height:1.6rem}.ha-testimonial--bubble .ha-testimonial__content:after{position:absolute;bottom:-14px;color:#fff;content:"\e911";font-style:normal;font-size:36px;font-family:"Happy Icons";-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.ha-testimonial--left.ha-testimonial--bubble .ha-testimonial__content:after{left:15px}.ha-testimonial--center.ha-testimonial--bubble .ha-testimonial__content:after{left:50%;-webkit-transform:translateX(-50%) rotate(-180deg);-ms-transform:translateX(-50%) rotate(-180deg);transform:translateX(-50%) rotate(-180deg)}.ha-testimonial--right.ha-testimonial--bubble .ha-testimonial__content:after{right:15px}.ha-testimonial__reviewer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-testimonial__reviewer-thumb{-webkit-box-flex:0;-webkit-flex:0 0 65px;-ms-flex:0 0 65px;flex:0 0 65px;max-width:65px;height:65px}.ha-testimonial__reviewer-thumb>img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.ha-testimonial__reviewer-name{margin-bottom:.3rem;color:#562dd4;font-weight:700;font-size:18px}.ha-testimonial__reviewer-title{color:#8c8c8c;font-size:16px}.ha-testimonial--left .ha-testimonial__reviewer-meta{padding-left:1em}.ha-testimonial--center .ha-testimonial__reviewer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-testimonial--center .ha-testimonial__reviewer-meta{padding-top:1em;max-width:100%}.ha-testimonial--left .ha-testimonial__reviewer-meta,.ha-testimonial--right .ha-testimonial__reviewer-meta{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 65px);-ms-flex:0 0 calc(100% - 65px);flex:0 0 calc(100% - 65px);max-width:calc(100% - 65px)}.ha-testimonial--right .ha-testimonial__reviewer{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-testimonial--right .ha-testimonial__reviewer-meta{padding-right:1em}.ha-testimonial--left{text-align:left}.ha-testimonial--right{text-align:right}.ha-number-body,.ha-testimonial--center{text-align:center}.ha-number-body{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding:6px;width:50px;height:50px;border-radius:100%;background-color:#562dd4;color:#fff;font-size:20px}.ha-number-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ha-number-text{position:relative;z-index:1;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-box-heading{margin:0;font-weight:700;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner p{margin-bottom:0;font-size:16px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-box-heading-back{margin:0;color:#fff;font-size:18px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;color:#fff;font-size:20px}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-back{-webkit-transform:rotateY(0);transform:rotateY(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-back{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-front{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-back{-webkit-transform:rotateX(0);transform:rotateX(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-back{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-front{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-back,.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-front{-webkit-transition:-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275),-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275)}.ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-pricing-table>.elementor-widget-container{position:relative;overflow:hidden;padding:3em 4em}.ha-pricing-table-badge{position:absolute;top:-1px;padding:.8rem 1rem;background-color:#e2498a;color:#fff;line-height:1}.ha-pricing-table-badge--left{left:0;-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ha-pricing-table-badge--right{right:0;-webkit-transform:rotate(-90deg) translateY(-100%);-ms-transform:rotate(-90deg) translateY(-100%);transform:rotate(-90deg) translateY(-100%);-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.ha-pricing-table-title{margin-top:0;margin-bottom:.5rem;color:#242424;font-weight:400;font-size:24px}.ha-pricing-table-price{margin-bottom:3rem}.ha-pricing-table-price-tag{margin-bottom:.5rem;color:#242424;font-weight:700;font-size:60px;line-height:normal}.ha-pricing-table-currency{font-size:24px}.ha-pricing-table-period{color:#8c8c8c;font-size:16px}.ha-pricing-table-body{margin-bottom:3rem}.ha-pricing-table-features-title{margin-top:0;margin-bottom:1rem;font-weight:700;font-size:16px}.ha-pricing-table-features-list{margin:0;padding:0;list-style:none}.ha-pricing-table-features-list li{margin-bottom:1rem;font-size:16px}.ha-pricing-table-features-list i{margin-right:.5rem;min-width:15px;font-size:.8em}.ha-pricing-table-feature-text{display:inline-block}.ha-pricing-table-btn{display:inline-block;padding:.8rem 2rem;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;-webkit-transition:all .3s;transition:all .3s}.ha-pricing-table-btn:hover{background-color:#562dd4;color:#fff}.ha-card>.elementor-widget-container,.ha-icon-box>.elementor-widget-container,.ha-image-compare>.elementor-widget-container,.ha-infobox>.elementor-widget-container,.ha-member>.elementor-widget-container,.ha-pricing-table>.elementor-widget-container,.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-step-flow>.elementor-widget-container{padding:30px;text-align:center}.ha-step-arrow,.ha-step-arrow:after{position:absolute;display:inline-block;border-top:1px solid #ddd}.ha-step-arrow{left:calc(100% + 20px);top:49%;width:100px}.ha-step-arrow:after{top:-2px;right:5px;width:12px;height:12px;border-right:1px solid #ddd;color:#ddd;content:"";-webkit-transform:rotate(45deg) translateY(-50%);-ms-transform:rotate(45deg) translateY(-50%);transform:rotate(45deg) translateY(-50%)}.ha-steps-icon{position:relative;display:inline-block;margin-bottom:2rem;padding:40px;border-radius:50%;background-color:#e9ecf0;box-shadow:0 2px 6px -2px #989898;color:#8056ee;text-align:center;font-size:46px}.ha-steps-icon i{position:relative;display:block;width:1em;height:1em}.ha-steps-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-steps-icon .ha-steps-label{position:absolute;top:5px;right:0;overflow:hidden;padding:12px 8px;max-width:200%;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.ha-steps-title{margin-top:0;margin-bottom:30px;font-weight:700;font-size:16px}.ha-steps-title a{display:block;color:#562dd4}.ha-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>.elementor-widget-container{word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.happy-addon>.elementor-widget-container *{box-sizing:border-box}.happy-addon img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.happy-addon p:empty{display:none}.ha-screen-reader-text{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);margin:-1px;padding:0;width:1px;height:1px;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.ha-has-background-overlay>.elementor-widget-container{position:relative;z-index:1}.ha-has-background-overlay>.elementor-widget-container:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-popup--is-enabled .ha-js-popup,.ha-popup--is-enabled .ha-js-popup img{cursor:-webkit-zoom-in!important;cursor:zoom-in!important}.mfp-wrap .mfp-arrow,.mfp-wrap .mfp-close{background-color:transparent}.mfp-wrap .mfp-arrow:focus,.mfp-wrap .mfp-close:focus{outline-width:thin}.ha-btn{display:inline-block;max-width:100%;vertical-align:middle;text-align:center;text-decoration:none;font-size:14px;line-height:1;-webkit-transition:all .3s;transition:all .3s}.ha-btn:not(.ha-btn--link){padding:15px 25px;border-radius:.25rem;background-color:#562dd4;color:#fff}.ha-btn:not(.ha-btn--link):focus,.ha-btn:not(.ha-btn--link):hover{background-color:#e2498a}.ha-btn.ha-btn--link{color:#562dd4}.ha-btn.ha-btn--link:focus,.ha-btn.ha-btn--link:hover{color:#e2498a}.ha-btn-icon+.ha-btn-text,.ha-btn-text+.ha-btn-icon{margin-left:5px}.ha-badge{padding:.475rem 1.1rem;max-width:100%;border-radius:50px;background-color:#fff;font-size:12px}.ha-badge--top-left{top:1rem;left:1rem}.ha-badge--top-center{top:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--top-right{top:1rem;right:1rem}.ha-badge--middle-left{top:50%;left:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--middle-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ha-badge--middle-right{top:50%;right:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--bottom-left{bottom:1rem;left:1rem}.ha-badge--bottom-center{bottom:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--bottom-right{right:1rem;bottom:1rem}.ha-card-figure{position:relative;height:250px}.ha-card-figure img{border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.ha-card-body{padding:1.5rem}.ha-card-title{margin-top:0;margin-bottom:.75rem;color:#151515;font-weight:700;font-size:22px}.ha-card-text{margin-bottom:2rem;color:#616161;font-size:16px;line-height:1.7}.ha-card-text>p,.ha-infobox-text>p{margin-top:0;margin-bottom:0}.ha-card--top .ha-card-figure{display:inline-block;width:100%}.ha-card--left>.elementor-widget-container,.ha-card--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-card--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-card--left .ha-card-body,.ha-card--left .ha-card-figure,.ha-card--right .ha-card-body,.ha-card--right .ha-card-figure{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.ha-card--left .ha-card-body,.ha-card--right .ha-card-body{padding:2.5rem}.ha-card--left .ha-card-figure img{border-radius:calc(.5rem - 1px) 0 0 calc(.5rem - 1px)}.ha-card--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-card--right .ha-card-figure img{border-radius:0 calc(.5rem - 1px) calc(.5rem - 1px) 0}.ha-card .ha-badge{position:absolute}.ha-infobox>.elementor-widget-container{padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem}.ha-icon-box-icon>i,.ha-infobox-figure>i{position:relative;display:block;width:1em;height:1em}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before,.ha-icon-box-icon>i:before,.ha-infobox-figure>i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-card-figure img,.ha-infobox-figure img,.ha-member-figure img{width:100%;height:100%;vertical-align:bottom}.ha-infobox-text+.ha-btn--link{margin-top:1rem}.ha-icon-box>.elementor-widget-container{position:relative;padding:1.25rem}.ha-icon-box-title{margin-top:0;margin-bottom:0;color:#151515;font-size:24px;-webkit-transition:color .3s;transition:color .3s}.ha-icon-box-icon{display:inline-block;margin-bottom:1rem;color:#151515;text-align:center;font-size:3rem;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon>i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}.ha-member>.elementor-widget-container{padding:1.25rem}.ha-member-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-member-name{margin-top:0;margin-bottom:.5rem;color:#151515;font-size:18px}.ha-member-position{margin-bottom:1.5rem;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:1.5rem;font-size:14px;line-height:1.6}.ha-member-links>a{display:inline-block;color:#9895ad;text-align:center;line-height:1;-webkit-transition:all .2s;transition:all .2s}.ha-member-links>a:focus,.ha-member-links>a:hover{color:#222}.ha-member-links>a>i{width:1em;height:1em}.ha-member-links>a:not(:last-child){margin-right:.3rem}.ha-review-header{margin-top:1.5rem}.ha-review-desc p,.ha-review-figure{margin:0}.ha-review-figure img{width:100%;height:100%;border-radius:50%;vertical-align:bottom}.ha-review-reviewer{margin-top:0;margin-bottom:.3rem;color:#151515;font-size:18px}.ha-review-position{margin-bottom:.5rem;color:#7f7f7f;font-size:15px}.ha-review-ratting{display:inline-block;font-size:12px;line-height:1}.ha-review-ratting--num{padding:.25em .66em;border-radius:2.5em;background-color:#562dd4;color:#fff}.ha-review-ratting--star{color:#ffbf36}.ha-review-desc{margin-top:1.5rem;font-size:16px;line-height:1.6}.ha-review--top>.elementor-widget-container{padding:2rem}.ha-review--top .ha-review-figure{display:inline-block;max-width:70px;height:70px}.ha-review--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-review--left>.elementor-widget-container,.ha-review--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding-left:2rem}.ha-review--left .ha-review-figure,.ha-review--right .ha-review-figure{-webkit-box-flex:0;-webkit-flex:0 0 150px;-ms-flex:0 0 150px;flex:0 0 150px;max-width:150px;height:150px}.ha-review--left .ha-review-body,.ha-review--right .ha-review-body{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 150px);-ms-flex:0 0 calc(100% - 150px);flex:0 0 calc(100% - 150px);padding:2rem;max-width:calc(100% - 150px)}.ha-review--left .ha-review-body>:first-child,.ha-review--right .ha-review-body>:first-child{margin-top:0}.ha-review--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-right:2rem;padding-left:0;text-align:right}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper{border-radius:inherit}.ha-gallery-filter{margin:0 10px 2rem;padding:0;list-style:none}.ha-gallery-filter>li{display:inline-block;margin-bottom:10px;max-width:100%}.ha-gallery-filter>li:not(:last-child){margin-right:10px}.ha-gallery-filter>li>button{display:block;overflow:hidden;padding:10px 25px;max-width:100%;border:2px solid #562dd4;border-radius:.25rem;background-color:transparent;color:#562dd4;text-transform:uppercase;text-overflow:ellipsis;font-size:14px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ha-gallery-filter>li>button:focus,.ha-gallery-filter>li>button:hover{outline:0;background-color:#562dd4;color:#fff}.ha-gallery-filter>.ha-filter-active>button{background-color:#562dd4;color:#fff}.ha-image-grid-item{float:left}.ha-image-grid-inner{position:relative;display:block;overflow:hidden;margin:10px;text-decoration:none}.ha-image-grid-inner img{display:block;width:100%;-webkit-transition:all .25s;transition:all .25s}.ha-image-grid--layout-even .ha-image-grid-inner{height:250px}.ha-image-grid--layout-even .ha-image-grid-inner img{height:100%}.ha-justified-gallery-item,.ha-justified-gallery-item>img{border-radius:6px}.ha-justified-gallery .justified-gallery>.ha-justified-gallery-item>.caption{bottom:-100px!important;padding:10px;-webkit-transition:all .25s!important;transition:all .25s!important;-webkit-animation:haSmoothReveal .3s forwards;animation:haSmoothReveal .3s forwards}.ha-justified-gallery .justified-gallery>.ha-justified-gallery-item>.caption.caption-visible{bottom:0!important}.ha-justified-gallery .justified-gallery>.entry-visible>a>img,.ha-justified-gallery .justified-gallery>.entry-visible>img{-webkit-transition:all 300ms,opacity 500ms ease-in;transition:all 300ms,opacity 500ms ease-in}@-webkit-keyframes haSmoothReveal{0%{-webkit-transform:translateY(100px);transform:translateY(100px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes haSmoothReveal{0%{-webkit-transform:translateY(100px);transform:translateY(100px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.ha-carousel .slick-vertical .slick-slide,.ha-slider .slick-vertical .slick-slide{border:0}.ha-carousel .slick-next,.ha-carousel .slick-prev,.ha-slider .slick-next,.ha-slider .slick-prev{z-index:999;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background-color:rgba(255,255,255,.8);color:#8c8c8c;text-align:center;font-size:12px;opacity:1}.ha-carousel .slick-next:focus,.ha-carousel .slick-next:hover,.ha-carousel .slick-prev:focus,.ha-carousel .slick-prev:hover,.ha-slider .slick-next:focus,.ha-slider .slick-next:hover,.ha-slider .slick-prev:focus,.ha-slider .slick-prev:hover{background-color:#fff}.ha-carousel .slick-next:before,.ha-carousel .slick-prev:before,.ha-slider .slick-next:before,.ha-slider .slick-prev:before{content:""}.ha-carousel .slick-disabled,.ha-slider .slick-disabled{opacity:.7}.ha-carousel .slick-prev,.ha-slider .slick-prev{left:25px}.ha-carousel .slick-next,.ha-slider .slick-next{right:25px}.ha-carousel .slick-dots,.ha-slider .slick-dots{bottom:-40px}.ha-carousel .slick-dots li,.ha-slider .slick-dots li{margin-right:2px;margin-left:2px}.ha-carousel .slick-dots li button:focus,.ha-carousel .slick-dots li button:hover,.ha-slider .slick-dots li button:focus,.ha-slider .slick-dots li button:hover{background-color:transparent}.ha-carousel .slick-dots li button:before,.ha-slider .slick-dots li button:before{color:#1b1b1b;opacity:1}.ha-carousel .slick-dots .slick-active button:before,.ha-carousel .slick-dots li button:hover:before,.ha-slider .slick-dots .slick-active button:before,.ha-slider .slick-dots li button:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.ha-carousel .slick-next,.ha-carousel .slick-prev{width:40px;height:40px;line-height:40px}.ha-slider .slick-next,.ha-slider .slick-prev{width:50px;height:50px;line-height:50px}.ha-carousel .slick-slider:not(.slick-vertical) .slick-slide{padding-right:5px;padding-left:5px}.ha-carousel .slick-slider.slick-vertical .slick-slide{padding-top:5px;padding-bottom:5px}.ha-slick-item{position:relative;overflow:hidden;vertical-align:bottom}.ha-slick-content{position:absolute;bottom:0;padding:1.5rem;width:100%;background:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.3))}.ha-slick-title{margin-top:0;margin-bottom:.2rem;color:#fff;font-size:20px}.ha-slick-subtitle{margin:0;color:#fff}.ha-skills>.elementor-widget-container{padding-top:1px}.ha-skill{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:15px;background-color:#e9ecef;font-size:.75rem}.ha-skill--inside .ha-skill-info,.ha-skill--outside .ha-skill-info{text-align:left;font-size:14px;line-height:1}.ha-skill--inside .ha-skill-level-text,.ha-skill--outside .ha-skill-level-text{float:right}.ha-skill--outside{height:2px}.ha-skill--outside .ha-skill-level{position:relative}.ha-skill--outside .ha-skill-info{position:absolute;top:-25px;width:100%;color:#242424}.ha-skill--inside{height:30px}.ha-skill--inside .ha-skill-info{padding-right:1rem;padding-left:1rem;color:#fff}.ha-skill-level{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:10%;border-radius:inherit;background-color:#562dd4;color:#fff;text-align:center;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.ha-skill--outside{margin-top:40px}.ha-skill--inside:not(:first-child){margin-top:20px}.ha-skill-name{display:inline-block;overflow:hidden;max-width:70%;text-overflow:ellipsis}.ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}.ha-logo-grid-item{float:left;overflow:hidden;height:180px;border-color:#e7e7e7}.ha-logo-grid-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;padding:30px;width:100%;height:100%}.ha-logo-grid-img{max-height:100%}@media (min-width:1025px){.ha-logo-grid--col-2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col-3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col-4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col-5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col-6 .ha-logo-grid-item{width:calc(100%/6)}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--col--tablet2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col--tablet3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col--tablet4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col--tablet5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col--tablet6 .ha-logo-grid-item{width:calc(100%/6)}}@media (max-width:767px){.ha-logo-grid--col--mobile2 .ha-logo-grid-item{width:calc(100%/2)}.ha-logo-grid--col--mobile3 .ha-logo-grid-item{width:calc(100%/3)}.ha-logo-grid--col--mobile4 .ha-logo-grid-item{width:calc(100%/4)}.ha-logo-grid--col--mobile5 .ha-logo-grid-item{width:calc(100%/5)}.ha-logo-grid--col--mobile6 .ha-logo-grid-item{width:calc(100%/6)}}.ha-logo-grid--tictactoe .ha-logo-grid-item{border-width:2px 2px 0 0;border-style:solid}@media (min-width:1025px){.ha-logo-grid--tictactoe.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}@media (max-width:767px){.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6n){border-right-width:0!important}.ha-logo-grid--tictactoe.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:0!important}}.ha-logo-grid--border .ha-logo-grid-item{border-width:0 2px 2px 0;border-style:solid}.ha-logo-grid--border .ha-logo-grid-item:first-child{border-top-left-radius:10px}.ha-logo-grid--border .ha-logo-grid-item:last-child{border-bottom-right-radius:10px}@media (min-width:1025px){.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col-6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--tablet6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}@media (max-width:767px){.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(-n+2){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-child(2){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile2 .ha-logo-grid-item:nth-last-child(2){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(-n+3){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-child(3){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile3 .ha-logo-grid-item:nth-last-child(3){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(-n+4){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-child(4){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile4 .ha-logo-grid-item:nth-last-child(4){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(-n+5){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-child(5){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile5 .ha-logo-grid-item:nth-last-child(5){border-bottom-left-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(-n+6){border-top-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6n+1){border-left-width:2px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-child(6){border-top-right-radius:10px}.ha-logo-grid--border.ha-logo-grid--col--mobile6 .ha-logo-grid-item:nth-last-child(6){border-bottom-left-radius:10px}}.ha-logo-grid--box .ha-logo-grid-wrapper{margin:-.5rem}.ha-logo-grid--box .ha-logo-grid-item{margin:.5rem;border-width:2px;border-style:solid;border-radius:.5rem}@media (min-width:1025px){.ha-logo-grid--box.ha-logo-grid--col-2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col-6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}@media (max-width:1024px) and (min-width:768px){.ha-logo-grid--box.ha-logo-grid--col--tablet2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--tablet6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}@media (max-width:767px){.ha-logo-grid--box.ha-logo-grid--col--mobile2 .ha-logo-grid-item{width:calc((100%/2) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile3 .ha-logo-grid-item{width:calc((100%/3) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile4 .ha-logo-grid-item{width:calc((100%/4) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile5 .ha-logo-grid-item{width:calc((100%/5) - 1rem)}.ha-logo-grid--box.ha-logo-grid--col--mobile6 .ha-logo-grid-item{width:calc((100%/6) - 1rem)}}.ha-dual-btn,.ha-dual-btn-connector{display:inline-block}.ha-dual-btn-wrapper{position:relative;text-align:center;font-weight:400}.ha-dual-btn{padding:1.2rem 3rem;max-width:100%;color:#fff;text-decoration:none;font-size:14px}.ha-dual-btn--left{background-color:#562dd4}.ha-dual-btn--left:focus,.ha-dual-btn--left:hover{background-color:#4423ab;color:#fff}.ha-dual-btn--right{background-color:#e2498a}.ha-dual-btn--right:focus,.ha-dual-btn--right:hover{background-color:#d6226e;color:#fff}.ha-dual-btn-connector{position:absolute!important;z-index:9;overflow:hidden;width:30px;height:30px;border-radius:100%;background-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.3);color:#27374c;text-transform:uppercase;font-size:12px;line-height:30px;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ha-dual-btn-icon>svg{width:1em;height:auto}.ha-dual-btn-icon>i{font-size:1em}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.ha-dual-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container,.ha-testimonial__reviewer{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--mobile-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--mobile-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--mobile-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--mobile-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--mobile-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}@media (min-width:768px){.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--tablet-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--tablet-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--tablet-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--tablet-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--tablet-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--tablet-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--tablet-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--tablet-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--tablet-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--tablet-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}@media (min-width:1025px){.ha-dual-button--layout-stack.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--layout-stack.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--layout-stack.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--layout-queue.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--layout-queue.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--layout-queue.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}.ha-testimonial--basic>.elementor-widget-container{padding:2rem;border:1px solid #ececec;border-radius:.5rem}.ha-testimonial--basic .ha-testimonial__content{margin-bottom:2.5em}.ha-testimonial--bubble .ha-testimonial__content{position:relative;margin-bottom:1.5rem;padding:2rem;border-radius:6px;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);line-height:1.6rem}.ha-testimonial--bubble .ha-testimonial__content:after{position:absolute;bottom:-14px;color:#fff;content:"\e911";font-style:normal;font-size:36px;font-family:"Happy Icons";-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.ha-testimonial--left.ha-testimonial--bubble .ha-testimonial__content:after{left:15px}.ha-testimonial--center.ha-testimonial--bubble .ha-testimonial__content:after{left:50%;-webkit-transform:translateX(-50%) rotate(-180deg);-ms-transform:translateX(-50%) rotate(-180deg);transform:translateX(-50%) rotate(-180deg)}.ha-testimonial--right.ha-testimonial--bubble .ha-testimonial__content:after{right:15px}.ha-testimonial__reviewer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-testimonial__reviewer-thumb{-webkit-box-flex:0;-webkit-flex:0 0 65px;-ms-flex:0 0 65px;flex:0 0 65px;max-width:65px;height:65px}.ha-testimonial__reviewer-thumb img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.ha-testimonial__reviewer-name{margin-bottom:.3rem;color:#562dd4;font-weight:700;font-size:18px}.ha-testimonial__reviewer-title{color:#8c8c8c;font-size:16px}.ha-testimonial--left .ha-testimonial__reviewer-meta{padding-left:1em}.ha-testimonial--center .ha-testimonial__reviewer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-testimonial--center .ha-testimonial__reviewer-meta{padding-top:1em;max-width:100%}.ha-testimonial--left .ha-testimonial__reviewer-meta,.ha-testimonial--right .ha-testimonial__reviewer-meta{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 65px);-ms-flex:0 0 calc(100% - 65px);flex:0 0 calc(100% - 65px);max-width:calc(100% - 65px)}.ha-testimonial--right .ha-testimonial__reviewer{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-testimonial--right .ha-testimonial__reviewer-meta{padding-right:1em}.ha-testimonial--left{text-align:left}.ha-testimonial--right{text-align:right}.ha-number-body,.ha-testimonial--center{text-align:center}.ha-number-body{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding:6px;width:50px;height:50px;border-radius:100%;background-color:#562dd4;color:#fff;font-size:20px}.ha-number-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ha-number-text{position:relative;z-index:1;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-box-heading{margin:0;font-weight:700;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner p{margin-bottom:0;font-size:16px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-box-heading-back{margin:0;color:#fff;font-size:18px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;color:#fff;font-size:20px}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-back{-webkit-transform:rotateY(0);transform:rotateY(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-back{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-front{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-back{-webkit-transform:rotateX(0);transform:rotateX(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-back{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-front{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-back,.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-front{-webkit-transition:-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275),-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275)}.ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-pricing-table>.elementor-widget-container{position:relative;overflow:hidden;padding:3em 4em}.ha-pricing-table-badge{position:absolute;top:-1px;padding:.8rem 1rem;background-color:#e2498a;color:#fff;line-height:1}.ha-pricing-table-badge--left{left:0;-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ha-pricing-table-badge--right{right:0;-webkit-transform:rotate(-90deg) translateY(-100%);-ms-transform:rotate(-90deg) translateY(-100%);transform:rotate(-90deg) translateY(-100%);-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.ha-pricing-table-title{margin-top:0;margin-bottom:.5rem;color:#242424;font-weight:400;font-size:24px}.ha-pricing-table-price{margin-bottom:3rem}.ha-pricing-table-price-tag{margin-bottom:.5rem;color:#242424;font-weight:700;font-size:60px;line-height:normal}.ha-pricing-table-currency{font-size:24px}.ha-pricing-table-period{color:#8c8c8c;font-size:16px}.ha-pricing-table-body{margin-bottom:3rem}.ha-pricing-table-features-title{margin-top:0;margin-bottom:1rem;font-weight:700;font-size:16px}.ha-pricing-table-features-list{margin:0;padding:0;list-style:none}.ha-pricing-table-features-list li{margin-bottom:1rem;font-size:16px}.ha-pricing-table-features-list i{margin-right:.5rem;min-width:15px;font-size:.8em}.ha-pricing-table-feature-text{display:inline-block}.ha-pricing-table-btn{display:inline-block;padding:.8rem 2rem;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;-webkit-transition:all .3s;transition:all .3s}.ha-pricing-table-btn:hover{background-color:#562dd4;color:#fff}.ha-card>.elementor-widget-container,.ha-icon-box>.elementor-widget-container,.ha-image-compare>.elementor-widget-container,.ha-infobox>.elementor-widget-container,.ha-member>.elementor-widget-container,.ha-pricing-table>.elementor-widget-container,.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-step-flow>.elementor-widget-container{padding:30px;text-align:center}.ha-step-arrow,.ha-step-arrow:after{position:absolute;display:inline-block;border-top:1px solid #ddd}.ha-step-arrow{left:calc(100% + 20px);top:49%;width:100px}.ha-step-arrow:after{top:-2px;right:5px;width:12px;height:12px;border-right:1px solid #ddd;color:#ddd;content:"";-webkit-transform:rotate(45deg) translateY(-50%);-ms-transform:rotate(45deg) translateY(-50%);transform:rotate(45deg) translateY(-50%)}.ha-steps-icon{position:relative;display:inline-block;margin-bottom:2rem;padding:40px;border-radius:50%;background-color:#e9ecf0;box-shadow:0 2px 6px -2px #989898;color:#8056ee;text-align:center;font-size:46px}.ha-steps-icon i{position:relative;display:block;width:1em;height:1em}.ha-steps-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-steps-icon .ha-steps-label{position:absolute;top:5px;right:0;overflow:hidden;padding:12px 8px;max-width:200%;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.ha-steps-title{margin-top:0;margin-bottom:30px;font-weight:700;font-size:16px}.ha-steps-title a{display:block;color:#562dd4}.ha-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/card.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-card>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-card-figure{position:relative;height:250px}.ha-card-figure
|
1 |
+
.ha-card>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-card-figure{position:relative;height:250px}.ha-card-figure img{width:100%;height:100%;border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px);vertical-align:bottom}.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{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}
|
assets/css/widgets/common.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.happy-addon>.elementor-widget-container{word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.happy-addon>.elementor-widget-container *{box-sizing:border-box}.happy-addon img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.happy-addon p:empty{display:none}.ha-screen-reader-text{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);margin:-1px;padding:0;width:1px;height:1px;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.ha-has-background-overlay>.elementor-widget-container{position:relative;z-index:1}.ha-has-background-overlay>.elementor-widget-container:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-popup--is-enabled .ha-js-popup,.ha-popup--is-enabled .ha-js-popup
|
1 |
+
.happy-addon>.elementor-widget-container{word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.happy-addon>.elementor-widget-container *{box-sizing:border-box}.happy-addon img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.happy-addon p:empty{display:none}.ha-screen-reader-text{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);margin:-1px;padding:0;width:1px;height:1px;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.ha-has-background-overlay>.elementor-widget-container{position:relative;z-index:1}.ha-has-background-overlay>.elementor-widget-container:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-popup--is-enabled .ha-js-popup,.ha-popup--is-enabled .ha-js-popup img{cursor:-webkit-zoom-in!important;cursor:zoom-in!important}.mfp-wrap .mfp-arrow,.mfp-wrap .mfp-close{background-color:transparent}.mfp-wrap .mfp-arrow:focus,.mfp-wrap .mfp-close:focus{outline-width:thin}
|
assets/css/widgets/image-grid.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.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
|
1 |
+
.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%}
|
assets/css/widgets/infobox.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-infobox>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem}.ha-infobox-figure>i{position:relative;display:block;width:1em;height:1em}.ha-infobox-figure>i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-infobox-figure
|
1 |
+
.ha-infobox>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem}.ha-infobox-figure>i{position:relative;display:block;width:1em;height:1em}.ha-infobox-figure>i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-infobox-figure img{width:100%;height:100%;vertical-align:bottom}.ha-infobox-text+.ha-btn--link{margin-top:1rem}.ha-infobox-text>p{margin-top:0;margin-bottom:0}
|
assets/css/widgets/review.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-review-header{margin-top:1.5rem}.ha-review-desc p,.ha-review-figure{margin:0}.ha-review-figure
|
1 |
+
.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.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}
|
assets/css/widgets/testimonial.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.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{-webkit-box-flex:0;-webkit-flex:0 0 65px;-ms-flex:0 0 65px;flex:0 0 65px;max-width:65px;height:65px}.ha-testimonial__reviewer-thumb
|
1 |
+
.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{-webkit-box-flex:0;-webkit-flex:0 0 65px;-ms-flex:0 0 65px;flex:0 0 65px;max-width:65px;height:65px}.ha-testimonial__reviewer-thumb img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.ha-testimonial__reviewer-name{margin-bottom:.3rem;color:#562dd4;font-weight:700;font-size:18px}.ha-testimonial__reviewer-title{color:#8c8c8c;font-size:16px}.ha-testimonial--left .ha-testimonial__reviewer-meta{padding-left:1em}.ha-testimonial--center .ha-testimonial__reviewer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-testimonial--center .ha-testimonial__reviewer-meta{padding-top:1em;max-width:100%}.ha-testimonial--left .ha-testimonial__reviewer-meta,.ha-testimonial--right .ha-testimonial__reviewer-meta{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 65px);-ms-flex:0 0 calc(100% - 65px);flex:0 0 calc(100% - 65px);max-width:calc(100% - 65px)}.ha-testimonial--right .ha-testimonial__reviewer{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-testimonial--right .ha-testimonial__reviewer-meta{padding-right:1em}.ha-testimonial--left{text-align:left}.ha-testimonial--right{text-align:right}.ha-testimonial--center{text-align:center}
|
base.php
CHANGED
@@ -87,8 +87,7 @@ class Base {
|
|
87 |
}
|
88 |
|
89 |
public function include_files() {
|
90 |
-
require( HAPPY_ADDONS_DIR_PATH . 'inc/functions.php' );
|
91 |
-
|
92 |
require( HAPPY_ADDONS_DIR_PATH . 'classes/icons-manager.php' );
|
93 |
require( HAPPY_ADDONS_DIR_PATH . 'classes/widgets-manager.php' );
|
94 |
require( HAPPY_ADDONS_DIR_PATH . 'classes/assets-manager.php' );
|
87 |
}
|
88 |
|
89 |
public function include_files() {
|
90 |
+
require( HAPPY_ADDONS_DIR_PATH . 'inc/functions-forms.php' );
|
|
|
91 |
require( HAPPY_ADDONS_DIR_PATH . 'classes/icons-manager.php' );
|
92 |
require( HAPPY_ADDONS_DIR_PATH . 'classes/widgets-manager.php' );
|
93 |
require( HAPPY_ADDONS_DIR_PATH . 'classes/assets-manager.php' );
|
classes/assets-manager.php
CHANGED
@@ -209,6 +209,9 @@ class Assets_Manager {
|
|
209 |
* @param Post_CSS $file
|
210 |
*/
|
211 |
public static function frontend_elementor_enqueue( Post_CSS $file ) {
|
|
|
|
|
|
|
212 |
if ( get_post_type( $file->get_post_id() ) === 'elementor_library' ) {
|
213 |
$should_enqueue = Cache_Manager::should_enqueue( $file->get_post_id() );
|
214 |
if ( ! $should_enqueue && $file->get_post_id() === get_the_ID() ) {
|
@@ -263,7 +266,7 @@ class Assets_Manager {
|
|
263 |
}
|
264 |
|
265 |
public static function enqueue_preview_style() {
|
266 |
-
if (
|
267 |
wp_enqueue_style(
|
268 |
'happy-elementor-weform-preview',
|
269 |
plugins_url( '/weforms/assets/wpuf/css/frontend-forms.css', 'weforms' ),
|
@@ -272,16 +275,16 @@ class Assets_Manager {
|
|
272 |
);
|
273 |
}
|
274 |
|
275 |
-
if (
|
276 |
wp_enqueue_style(
|
277 |
'happy-elementor-wpform-preview',
|
278 |
-
plugins_url( '/
|
279 |
null,
|
280 |
HAPPY_ADDONS_VERSION
|
281 |
);
|
282 |
}
|
283 |
|
284 |
-
if (
|
285 |
wp_enqueue_style(
|
286 |
'happy-elementor-caldera-preview',
|
287 |
plugins_url( '/caldera-forms/assets/css/caldera-forms-front.css', 'caldera-forms' ),
|
209 |
* @param Post_CSS $file
|
210 |
*/
|
211 |
public static function frontend_elementor_enqueue( Post_CSS $file ) {
|
212 |
+
/**
|
213 |
+
* Todo: Fix exclusive or unknown cpt cache support issue, 1 possible solution is get_queried_object_id() !== $file->get_post_id()
|
214 |
+
*/
|
215 |
if ( get_post_type( $file->get_post_id() ) === 'elementor_library' ) {
|
216 |
$should_enqueue = Cache_Manager::should_enqueue( $file->get_post_id() );
|
217 |
if ( ! $should_enqueue && $file->get_post_id() === get_the_ID() ) {
|
266 |
}
|
267 |
|
268 |
public static function enqueue_preview_style() {
|
269 |
+
if ( ha_is_weforms_activated() ) {
|
270 |
wp_enqueue_style(
|
271 |
'happy-elementor-weform-preview',
|
272 |
plugins_url( '/weforms/assets/wpuf/css/frontend-forms.css', 'weforms' ),
|
275 |
);
|
276 |
}
|
277 |
|
278 |
+
if ( ha_is_wpforms_activated() && defined( 'WPFORMS_PLUGIN_SLUG' ) ) {
|
279 |
wp_enqueue_style(
|
280 |
'happy-elementor-wpform-preview',
|
281 |
+
plugins_url( '/'. WPFORMS_PLUGIN_SLUG . '/assets/css/wpforms-full.css', WPFORMS_PLUGIN_SLUG ),
|
282 |
null,
|
283 |
HAPPY_ADDONS_VERSION
|
284 |
);
|
285 |
}
|
286 |
|
287 |
+
if ( ha_is_calderaforms_activated() ) {
|
288 |
wp_enqueue_style(
|
289 |
'happy-elementor-caldera-preview',
|
290 |
plugins_url( '/caldera-forms/assets/css/caldera-forms-front.css', 'caldera-forms' ),
|
inc/functions-forms.php
ADDED
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* All the form related functions definitions are here
|
4 |
+
*
|
5 |
+
* @package Happy_Addons
|
6 |
+
* @author HappyMonster
|
7 |
+
*/
|
8 |
+
defined( 'ABSPATH' ) || die();
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Check if contact form 7 is activated
|
12 |
+
*
|
13 |
+
* @return bool
|
14 |
+
*/
|
15 |
+
function ha_is_cf7_activated() {
|
16 |
+
return class_exists( 'WPCF7' );
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Check if WPForms is activated
|
21 |
+
*
|
22 |
+
* @return bool
|
23 |
+
*/
|
24 |
+
function ha_is_wpforms_activated() {
|
25 |
+
return class_exists( '\WPForms\WPForms' ) ;
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Check if Ninja Form is activated
|
30 |
+
*
|
31 |
+
* @return bool
|
32 |
+
*/
|
33 |
+
function ha_is_ninjaforms_activated() {
|
34 |
+
return class_exists( 'Ninja_Forms' );
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Check if Caldera Form is activated
|
39 |
+
*
|
40 |
+
* @return bool
|
41 |
+
*/
|
42 |
+
function ha_is_calderaforms_activated() {
|
43 |
+
return class_exists( 'Caldera_Forms' );
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Check if We Form is activated
|
48 |
+
*
|
49 |
+
* @return bool
|
50 |
+
*/
|
51 |
+
function ha_is_weforms_activated() {
|
52 |
+
return class_exists( 'WeForms' );
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Get a list of all CF7 forms
|
57 |
+
*
|
58 |
+
* @return array
|
59 |
+
*/
|
60 |
+
function ha_get_cf7_forms() {
|
61 |
+
$forms = [];
|
62 |
+
if ( ha_is_cf7_activated() ) {
|
63 |
+
$_forms = get_posts( [
|
64 |
+
'post_type' => 'wpcf7_contact_form',
|
65 |
+
'post_status' => 'publish',
|
66 |
+
'posts_per_page' => -1,
|
67 |
+
'orderby' => 'title',
|
68 |
+
'order' => 'ASC',
|
69 |
+
] );
|
70 |
+
|
71 |
+
if ( ! empty( $_forms ) ) {
|
72 |
+
$forms = wp_list_pluck( $_forms, 'post_title', 'ID' );
|
73 |
+
}
|
74 |
+
}
|
75 |
+
return $forms;
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Get a list of all WPForms
|
80 |
+
*
|
81 |
+
* @return array
|
82 |
+
*/
|
83 |
+
function ha_get_wpforms() {
|
84 |
+
$forms = [];
|
85 |
+
if ( ha_is_wpforms_activated() ) {
|
86 |
+
$_forms = get_posts( [
|
87 |
+
'post_type' => 'wpforms',
|
88 |
+
'post_status' => 'publish',
|
89 |
+
'posts_per_page' => -1,
|
90 |
+
'orderby' => 'title',
|
91 |
+
'order' => 'ASC',
|
92 |
+
] );
|
93 |
+
|
94 |
+
if ( ! empty( $_forms ) ) {
|
95 |
+
$forms = wp_list_pluck( $_forms, 'post_title', 'ID' );
|
96 |
+
}
|
97 |
+
}
|
98 |
+
return $forms;
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Get a list of all Ninja Form
|
103 |
+
*
|
104 |
+
* @return array
|
105 |
+
*/
|
106 |
+
function ha_get_ninjaform() {
|
107 |
+
$forms = [];
|
108 |
+
if ( ha_is_ninjaforms_activated() ) {
|
109 |
+
$_forms = \Ninja_Forms()->form()->get_forms();
|
110 |
+
|
111 |
+
if ( ! empty( $_forms ) && ! is_wp_error( $_forms ) ) {
|
112 |
+
foreach ( $_forms as $form ) {
|
113 |
+
$forms[ $form->get_id( )] = $form->get_setting('title');
|
114 |
+
}
|
115 |
+
}
|
116 |
+
}
|
117 |
+
return $forms;
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Get a list of all Caldera Form
|
122 |
+
*
|
123 |
+
* @return array
|
124 |
+
*/
|
125 |
+
function ha_get_caldera_form() {
|
126 |
+
$forms = [];
|
127 |
+
if ( ha_is_calderaforms_activated() ) {
|
128 |
+
$_forms = \Caldera_Forms_Forms::get_forms(true, true);
|
129 |
+
|
130 |
+
if ( ! empty( $_forms ) && ! is_wp_error( $_forms ) ) {
|
131 |
+
foreach ( $_forms as $form ) {
|
132 |
+
$forms[ $form['ID'] ] = $form['name'];
|
133 |
+
}
|
134 |
+
}
|
135 |
+
}
|
136 |
+
return $forms;
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Get a list of all WeForm
|
141 |
+
*
|
142 |
+
* @return array
|
143 |
+
*/
|
144 |
+
function ha_get_we_forms() {
|
145 |
+
$forms = [];
|
146 |
+
if ( ha_is_weforms_activated() ) {
|
147 |
+
$_forms = get_posts( [
|
148 |
+
'post_type' => 'wpuf_contact_form',
|
149 |
+
'post_status' => 'publish',
|
150 |
+
'posts_per_page' => -1,
|
151 |
+
'orderby' => 'title',
|
152 |
+
'order' => 'ASC',
|
153 |
+
] );
|
154 |
+
|
155 |
+
if ( ! empty( $_forms ) ) {
|
156 |
+
$forms = wp_list_pluck( $_forms, 'post_title', 'ID' );
|
157 |
+
}
|
158 |
+
}
|
159 |
+
return $forms;
|
160 |
+
}
|
inc/functions.php
CHANGED
@@ -6,249 +6,44 @@
|
|
6 |
*/
|
7 |
defined( 'ABSPATH' ) || die();
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
return false;
|
25 |
-
}
|
26 |
-
return call_user_func( $shortcode_tags[ $tag ], $atts, $content, $tag );
|
27 |
-
}
|
28 |
-
}
|
29 |
-
|
30 |
-
if ( ! function_exists( 'ha_get_cf7_forms' ) ) {
|
31 |
-
/**
|
32 |
-
* Get a list of all CF7 forms
|
33 |
-
*
|
34 |
-
* @return array
|
35 |
-
*/
|
36 |
-
function ha_get_cf7_forms() {
|
37 |
-
$forms = get_posts( [
|
38 |
-
'post_type' => 'wpcf7_contact_form',
|
39 |
-
'post_status' => 'publish',
|
40 |
-
'posts_per_page' => -1,
|
41 |
-
'orderby' => 'title',
|
42 |
-
'order' => 'ASC',
|
43 |
-
] );
|
44 |
-
|
45 |
-
if ( ! empty( $forms ) ) {
|
46 |
-
return wp_list_pluck( $forms, 'post_title', 'ID' );
|
47 |
-
}
|
48 |
-
return [];
|
49 |
-
}
|
50 |
-
}
|
51 |
-
|
52 |
-
if ( ! function_exists( 'ha_get_wpforms' ) ) {
|
53 |
-
/**
|
54 |
-
* Get a list of all WPForms
|
55 |
-
*
|
56 |
-
* @return array
|
57 |
-
*/
|
58 |
-
function ha_get_wpforms() {
|
59 |
-
$forms = get_posts( [
|
60 |
-
'post_type' => 'wpforms',
|
61 |
-
'post_status' => 'publish',
|
62 |
-
'posts_per_page' => -1,
|
63 |
-
'orderby' => 'title',
|
64 |
-
'order' => 'ASC',
|
65 |
-
] );
|
66 |
-
|
67 |
-
if ( ! empty( $forms ) ) {
|
68 |
-
return wp_list_pluck( $forms, 'post_title', 'ID' );
|
69 |
-
}
|
70 |
-
return [];
|
71 |
-
}
|
72 |
-
}
|
73 |
-
|
74 |
-
if ( ! function_exists( 'ha_get_ninjaform' ) ) {
|
75 |
-
/**
|
76 |
-
* Get a list of all Ninja Form
|
77 |
-
*
|
78 |
-
* @return array
|
79 |
-
*/
|
80 |
-
function ha_get_ninjaform() {
|
81 |
-
$options = array();
|
82 |
-
|
83 |
-
if ( class_exists( 'Ninja_Forms' ) ) {
|
84 |
-
$contact_forms = Ninja_Forms()->form()->get_forms();
|
85 |
-
|
86 |
-
if ( !empty($contact_forms) && !is_wp_error( $contact_forms ) ) {
|
87 |
-
|
88 |
-
$options[0] = esc_html__( 'Select Ninja Form', 'happy-elementor-addons' );
|
89 |
-
|
90 |
-
foreach ( $contact_forms as $form ) {
|
91 |
-
$options[$form->get_id()] = $form->get_setting('title');
|
92 |
-
}
|
93 |
-
}
|
94 |
-
} else {
|
95 |
-
$options[0] = esc_html__( 'Create a Form First', 'happy-elementor-addons' );
|
96 |
-
}
|
97 |
-
|
98 |
-
return $options;
|
99 |
-
}
|
100 |
-
}
|
101 |
-
|
102 |
-
if ( ! function_exists( 'ha_get_caldera_form' ) ) {
|
103 |
-
/**
|
104 |
-
* Get a list of all Caldera Form
|
105 |
-
*
|
106 |
-
* @return array
|
107 |
-
*/
|
108 |
-
function ha_get_caldera_form() {
|
109 |
-
$options = array();
|
110 |
-
|
111 |
-
if ( class_exists( 'Caldera_Forms' ) ) {
|
112 |
-
$contact_forms = \Caldera_Forms_Forms::get_forms(true, true);
|
113 |
-
|
114 |
-
if ( !empty( $contact_forms ) && !is_wp_error( $contact_forms ) ) {
|
115 |
-
$options[0] = esc_html__( 'Select a Caldera Form', 'happy-elementor-addons' );
|
116 |
-
foreach ( $contact_forms as $form ) {
|
117 |
-
$options[$form['ID']] = $form['name'];
|
118 |
-
}
|
119 |
-
}
|
120 |
-
} else {
|
121 |
-
$options[0] = esc_html__( 'Create a Form First', 'happy-elementor-addons' );
|
122 |
-
}
|
123 |
-
|
124 |
-
return $options;
|
125 |
-
}
|
126 |
-
}
|
127 |
-
|
128 |
-
if ( ! function_exists( 'ha_get_we_form' ) ) {
|
129 |
-
/**
|
130 |
-
* Get a list of all WeForm
|
131 |
-
*
|
132 |
-
* @return array
|
133 |
-
*/
|
134 |
-
function ha_get_we_forms() {
|
135 |
-
$forms = get_posts( [
|
136 |
-
'post_type' => 'wpuf_contact_form',
|
137 |
-
'post_status' => 'publish',
|
138 |
-
'posts_per_page' => -1,
|
139 |
-
'orderby' => 'title',
|
140 |
-
'order' => 'ASC',
|
141 |
-
] );
|
142 |
-
|
143 |
-
if ( ! empty( $forms ) ) {
|
144 |
-
return wp_list_pluck( $forms, 'post_title', 'ID' );
|
145 |
-
}
|
146 |
-
return [];
|
147 |
-
}
|
148 |
-
}
|
149 |
-
|
150 |
-
if ( ! function_exists( 'ha_get_modula_gallery' ) ) {
|
151 |
-
/**
|
152 |
-
* Get a list of all Modula Gallery
|
153 |
-
*
|
154 |
-
* @return array
|
155 |
-
*/
|
156 |
-
function ha_get_modula_gallery() {
|
157 |
-
$gallery = get_posts( [
|
158 |
-
'post_type' => 'modula-gallery',
|
159 |
-
'post_status' => 'publish',
|
160 |
-
'posts_per_page' => -1,
|
161 |
-
'orderby' => 'title',
|
162 |
-
'order' => 'ASC',
|
163 |
-
] );
|
164 |
-
|
165 |
-
if ( ! empty( $gallery ) ) {
|
166 |
-
return wp_list_pluck( $gallery, 'post_title', 'ID' );
|
167 |
-
} else {
|
168 |
-
__( 'Create a Gallery', 'happy-elementor-addons' );
|
169 |
-
}
|
170 |
-
return [];
|
171 |
-
}
|
172 |
-
}
|
173 |
-
|
174 |
-
if ( ! function_exists( 'ha_sanitize_html_class_param' ) ) {
|
175 |
-
/**
|
176 |
-
* Sanitize html class string
|
177 |
-
*
|
178 |
-
* @param $class
|
179 |
-
* @return string
|
180 |
-
*/
|
181 |
-
function ha_sanitize_html_class_param( $class ) {
|
182 |
-
$classes = ! empty( $class ) ? explode( ' ', $class ) : [];
|
183 |
-
$sanitized = [];
|
184 |
-
if ( ! empty( $classes ) ) {
|
185 |
-
$sanitized = array_map( function( $cls ) {
|
186 |
-
return sanitize_html_class( $cls );
|
187 |
-
}, $classes );
|
188 |
-
}
|
189 |
-
return implode( ' ', $sanitized );
|
190 |
-
}
|
191 |
-
}
|
192 |
-
|
193 |
-
if ( ! function_exists( 'ha_is_cf7_activated' ) ) {
|
194 |
-
/**
|
195 |
-
* Check if contact form 7 is activated
|
196 |
-
*
|
197 |
-
* @return bool
|
198 |
-
*/
|
199 |
-
function ha_is_cf7_activated() {
|
200 |
-
return class_exists( 'WPCF7' );
|
201 |
-
}
|
202 |
-
}
|
203 |
-
|
204 |
-
if ( ! function_exists( 'ha_is_wpf_activated' ) ) {
|
205 |
-
/**
|
206 |
-
* Check if WPForms is activated
|
207 |
-
*
|
208 |
-
* @return bool
|
209 |
-
*/
|
210 |
-
function ha_is_wpf_activated() {
|
211 |
-
return class_exists( 'WPForms_Lite' );
|
212 |
-
}
|
213 |
-
}
|
214 |
-
|
215 |
-
if ( ! function_exists( 'ha_is_ninjaf_activated' ) ) {
|
216 |
-
/**
|
217 |
-
* Check if Ninja Form is activated
|
218 |
-
*
|
219 |
-
* @return bool
|
220 |
-
*/
|
221 |
-
function ha_is_ninjaf_activated() {
|
222 |
-
return class_exists( 'Ninja_Forms' );
|
223 |
-
}
|
224 |
-
}
|
225 |
-
|
226 |
-
if ( ! function_exists( 'ha_is_calderaf_activated' ) ) {
|
227 |
-
/**
|
228 |
-
* Check if Caldera Form is activated
|
229 |
-
*
|
230 |
-
* @return bool
|
231 |
-
*/
|
232 |
-
function ha_is_calderaf_activated() {
|
233 |
-
return class_exists( 'Caldera_Forms' );
|
234 |
}
|
|
|
235 |
}
|
236 |
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
|
|
|
|
|
|
|
|
|
|
245 |
}
|
|
|
246 |
}
|
247 |
|
248 |
-
|
249 |
-
|
250 |
-
return ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG );
|
251 |
-
}
|
252 |
}
|
253 |
|
254 |
function ha_prepare_data_prop_settings( &$settings, $field_map = [] ) {
|
@@ -494,3 +289,12 @@ function ha_get_b64_icon() {
|
|
494 |
function ha_get_dashboard_link( $suffix = '#home' ) {
|
495 |
return add_query_arg( [ 'page' => 'happy-addons' . $suffix ], admin_url( 'admin.php' ) );
|
496 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
*/
|
7 |
defined( 'ABSPATH' ) || die();
|
8 |
|
9 |
+
/**
|
10 |
+
* Call a shortcode function by tag name.
|
11 |
+
*
|
12 |
+
* @since 1.0.0
|
13 |
+
*
|
14 |
+
* @param string $tag The shortcode whose function to call.
|
15 |
+
* @param array $atts The attributes to pass to the shortcode function. Optional.
|
16 |
+
* @param array $content The shortcode's content. Default is null (none).
|
17 |
+
*
|
18 |
+
* @return string|bool False on failure, the result of the shortcode on success.
|
19 |
+
*/
|
20 |
+
function ha_do_shortcode( $tag, array $atts = array(), $content = null ) {
|
21 |
+
global $shortcode_tags;
|
22 |
+
if ( ! isset( $shortcode_tags[ $tag ] ) ) {
|
23 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
}
|
25 |
+
return call_user_func( $shortcode_tags[ $tag ], $atts, $content, $tag );
|
26 |
}
|
27 |
|
28 |
+
/**
|
29 |
+
* Sanitize html class string
|
30 |
+
*
|
31 |
+
* @param $class
|
32 |
+
* @return string
|
33 |
+
*/
|
34 |
+
function ha_sanitize_html_class_param( $class ) {
|
35 |
+
$classes = ! empty( $class ) ? explode( ' ', $class ) : [];
|
36 |
+
$sanitized = [];
|
37 |
+
if ( ! empty( $classes ) ) {
|
38 |
+
$sanitized = array_map( function( $cls ) {
|
39 |
+
return sanitize_html_class( $cls );
|
40 |
+
}, $classes );
|
41 |
}
|
42 |
+
return implode( ' ', $sanitized );
|
43 |
}
|
44 |
|
45 |
+
function ha_is_script_debug_enabled() {
|
46 |
+
return ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG );
|
|
|
|
|
47 |
}
|
48 |
|
49 |
function ha_prepare_data_prop_settings( &$settings, $field_map = [] ) {
|
289 |
function ha_get_dashboard_link( $suffix = '#home' ) {
|
290 |
return add_query_arg( [ 'page' => 'happy-addons' . $suffix ], admin_url( 'admin.php' ) );
|
291 |
}
|
292 |
+
|
293 |
+
function ha_get_current_user_display_name() {
|
294 |
+
$user = wp_get_current_user();
|
295 |
+
$name = 'user';
|
296 |
+
if ( $user->exists() && $user->display_name ) {
|
297 |
+
$name = $user->display_name;
|
298 |
+
}
|
299 |
+
return $name;
|
300 |
+
}
|
plugin.php
CHANGED
@@ -3,8 +3,8 @@
|
|
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.2.
|
7 |
-
* Author:
|
8 |
* Author URI: https://happyaddons.com/
|
9 |
* License: GPLv2
|
10 |
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
@@ -34,7 +34,7 @@ Copyright 2019 HappyMonster <http://happymonster.me>
|
|
34 |
|
35 |
defined( 'ABSPATH' ) || die();
|
36 |
|
37 |
-
define( 'HAPPY_ADDONS_VERSION', '2.2.
|
38 |
define( 'HAPPY_ADDONS__FILE__', __FILE__ );
|
39 |
define( 'HAPPY_ADDONS_DIR_PATH', plugin_dir_path( HAPPY_ADDONS__FILE__ ) );
|
40 |
define( 'HAPPY_ADDONS_DIR_URL', plugin_dir_url( HAPPY_ADDONS__FILE__ ) );
|
@@ -50,6 +50,8 @@ define( 'HAPPY_ADDONS_MINIMUM_PHP_VERSION', '5.4' );
|
|
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' );
|
@@ -88,7 +90,7 @@ function ha_required_php_version_missing_notice() {
|
|
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 |
/**
|
@@ -97,14 +99,15 @@ function ha_required_php_version_missing_notice() {
|
|
97 |
* @return void
|
98 |
*/
|
99 |
function ha_elementor_missing_notice() {
|
100 |
-
$notice = sprintf(
|
101 |
-
/* translators: 1: Plugin name 2: Elementor */
|
102 |
-
|
103 |
-
'<strong>' .
|
104 |
-
'<strong>' .
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
108 |
}
|
109 |
|
110 |
/**
|
@@ -121,7 +124,7 @@ function ha_required_elementor_version_missing_notice() {
|
|
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 |
/**
|
@@ -130,7 +133,7 @@ function ha_required_elementor_version_missing_notice() {
|
|
130 |
* @return void
|
131 |
*/
|
132 |
function ha_register_activation_hook() {
|
133 |
-
|
134 |
}
|
135 |
|
136 |
register_activation_hook( HAPPY_ADDONS__FILE__, 'ha_register_activation_hook' );
|
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.2.3
|
7 |
+
* Author: weDevs
|
8 |
* Author URI: https://happyaddons.com/
|
9 |
* License: GPLv2
|
10 |
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
34 |
|
35 |
defined( 'ABSPATH' ) || die();
|
36 |
|
37 |
+
define( 'HAPPY_ADDONS_VERSION', '2.2.3' );
|
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__ ) );
|
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 |
+
require( HAPPY_ADDONS_DIR_PATH . 'inc/functions.php' );
|
54 |
+
|
55 |
// Check for required PHP version
|
56 |
if ( version_compare( PHP_VERSION, HAPPY_ADDONS_MINIMUM_PHP_VERSION, '<' ) ) {
|
57 |
add_action( 'admin_notices', 'ha_required_php_version_missing_notice' );
|
90 |
HAPPY_ADDONS_MINIMUM_PHP_VERSION
|
91 |
);
|
92 |
|
93 |
+
printf( '<div class="notice notice-warning is-dismissible"><p style="padding: 13px 0">%1$s</p></div>', $notice );
|
94 |
}
|
95 |
|
96 |
/**
|
99 |
* @return void
|
100 |
*/
|
101 |
function ha_elementor_missing_notice() {
|
102 |
+
$notice = ha_kses_intermediate( sprintf(
|
103 |
+
/* translators: 1: Plugin name 2: Elementor 3: Elementor installation link */
|
104 |
+
__( '%1$s requires %2$s to be installed and activated to function properly. %3$s', 'happy-elementor-addons' ),
|
105 |
+
'<strong>' . __( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
|
106 |
+
'<strong>' . __( 'Elementor', 'happy-elementor-addons' ) . '</strong>',
|
107 |
+
'<a href="' . esc_url( admin_url( 'plugin-install.php?s=Elementor&tab=search&type=term' ) ) . '">' . __( 'Please click on this link and install Elementor', 'happy-elementor-addons' ) . '</a>'
|
108 |
+
) );
|
109 |
+
|
110 |
+
printf( '<div class="notice notice-warning is-dismissible"><p style="padding: 13px 0">%1$s</p></div>', $notice );
|
111 |
}
|
112 |
|
113 |
/**
|
124 |
HAPPY_ADDONS_MINIMUM_ELEMENTOR_VERSION
|
125 |
);
|
126 |
|
127 |
+
printf( '<div class="notice notice-warning is-dismissible"><p style="padding: 13px 0">%1$s</p></div>', $notice );
|
128 |
}
|
129 |
|
130 |
/**
|
133 |
* @return void
|
134 |
*/
|
135 |
function ha_register_activation_hook() {
|
136 |
+
add_option( HAPPY_ADDONS_REDIRECTION_FLAG, true );
|
137 |
}
|
138 |
|
139 |
register_activation_hook( HAPPY_ADDONS__FILE__, 'ha_register_activation_hook' );
|
readme.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
=== Happy Elementor Addons ===
|
2 |
Plugin Name: Happy Elementor Addons
|
3 |
-
Version: 2.2.
|
4 |
Author: weDevs
|
5 |
Author URI: https://happyaddons.com/
|
6 |
Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, sourav926, wedevs, iqbalrony, obiplabon
|
@@ -18,6 +18,11 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
18 |
|
19 |
[HappyAddons](https://happyaddons.com/) 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. [HappyAddons](https://happyaddons.com/) is free, rapidly growing and comes with great support.
|
20 |
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
### Included 25 Free Widgets
|
23 |
|
@@ -141,6 +146,13 @@ It's really easy and super simple to install **Happy Elementor Addons** plugin b
|
|
141 |
|
142 |
== Changelog ==
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
= 2.2.2 - 16 October 2019 =
|
145 |
|
146 |
- Fix: Widget Control Panel link issue
|
1 |
=== Happy Elementor Addons ===
|
2 |
Plugin Name: Happy Elementor Addons
|
3 |
+
Version: 2.2.3
|
4 |
Author: weDevs
|
5 |
Author URI: https://happyaddons.com/
|
6 |
Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, sourav926, wedevs, iqbalrony, obiplabon
|
18 |
|
19 |
[HappyAddons](https://happyaddons.com/) 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. [HappyAddons](https://happyaddons.com/) is free, rapidly growing and comes with great support.
|
20 |
|
21 |
+
https://www.youtube.com/watch?v=XpWm7zdvUoM
|
22 |
+
|
23 |
+
> HappyAddons is a unique Elementor Addon
|
24 |
+
— Adam Preiser founder of WP Crafter
|
25 |
+
|
26 |
|
27 |
### Included 25 Free Widgets
|
28 |
|
146 |
|
147 |
== Changelog ==
|
148 |
|
149 |
+
= 2.2.3 - 6 November 2019 =
|
150 |
+
|
151 |
+
- Update: Improved support for image optimization plugins. ex: Shortpixel Image Optimiser
|
152 |
+
- Update: Widgets default styles
|
153 |
+
- Fix: WPForms Pro compatibility issue
|
154 |
+
- Fix: Image border radius style issue
|
155 |
+
|
156 |
= 2.2.2 - 16 October 2019 =
|
157 |
|
158 |
- Fix: Widget Control Panel link issue
|
widgets/calderaform/widget.php
CHANGED
@@ -40,29 +40,39 @@ class CalderaForm extends Base {
|
|
40 |
}
|
41 |
|
42 |
public function get_keywords() {
|
43 |
-
return [ 'caldera', 'wpf','wpform' , 'form', 'contact', 'cf7', 'contact form', 'gravity', 'ninja' ];
|
44 |
}
|
45 |
|
46 |
protected function register_content_controls() {
|
47 |
$this->start_controls_section(
|
48 |
'_section_calderaf',
|
49 |
[
|
50 |
-
'label' =>
|
51 |
]
|
52 |
);
|
53 |
|
54 |
-
if ( !
|
55 |
$this->add_control(
|
56 |
-
'
|
57 |
[
|
58 |
'type' => Controls_Manager::RAW_HTML,
|
59 |
'raw' => sprintf(
|
60 |
-
__( '
|
61 |
-
'<a href="
|
|
|
62 |
),
|
63 |
-
'content_classes' => 'elementor-panel-alert elementor-panel-alert-
|
64 |
]
|
65 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
$this->end_controls_section();
|
67 |
return;
|
68 |
}
|
@@ -530,7 +540,7 @@ class CalderaForm extends Base {
|
|
530 |
}
|
531 |
|
532 |
protected function render() {
|
533 |
-
if ( !
|
534 |
return;
|
535 |
}
|
536 |
|
40 |
}
|
41 |
|
42 |
public function get_keywords() {
|
43 |
+
return [ 'caldera', 'wpf', 'wpform' , 'form', 'contact', 'cf7', 'contact form', 'gravity', 'ninja' ];
|
44 |
}
|
45 |
|
46 |
protected function register_content_controls() {
|
47 |
$this->start_controls_section(
|
48 |
'_section_calderaf',
|
49 |
[
|
50 |
+
'label' => ha_is_calderaforms_activated() ? __( 'Caldera Forms', 'happy-elementor-addons' ) : __( 'Missing Notice', 'happy-elementor-addons' ),
|
51 |
]
|
52 |
);
|
53 |
|
54 |
+
if ( ! ha_is_calderaforms_activated() ) {
|
55 |
$this->add_control(
|
56 |
+
'_calderaforms_missing_notice',
|
57 |
[
|
58 |
'type' => Controls_Manager::RAW_HTML,
|
59 |
'raw' => sprintf(
|
60 |
+
__( 'Hello %2$s, looks like %1$s is missing in your site. Please click on the link below and install/activate %1$s. Make sure to refresh this page after installation or activation.', 'happy-elementor-addons' ),
|
61 |
+
'<a href="'.esc_url( admin_url( 'plugin-install.php?s=Caldera+Forms&tab=search&type=term' ) ).'" target="_blank" rel="noopener">Caldera Forms</a>',
|
62 |
+
ha_get_current_user_display_name()
|
63 |
),
|
64 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-danger',
|
65 |
]
|
66 |
);
|
67 |
+
|
68 |
+
$this->add_control(
|
69 |
+
'_calderaforms_install',
|
70 |
+
[
|
71 |
+
'type' => Controls_Manager::RAW_HTML,
|
72 |
+
'raw' => '<a href="'.esc_url( admin_url( 'plugin-install.php?s=Caldera+Forms&tab=search&type=term' ) ).'" target="_blank" rel="noopener">Click to install or activate Caldera Forms</a>',
|
73 |
+
]
|
74 |
+
);
|
75 |
+
|
76 |
$this->end_controls_section();
|
77 |
return;
|
78 |
}
|
540 |
}
|
541 |
|
542 |
protected function render() {
|
543 |
+
if ( ! ha_is_calderaforms_activated() ) {
|
544 |
return;
|
545 |
}
|
546 |
|
widgets/card/widget.php
CHANGED
@@ -457,7 +457,7 @@ class Card extends Base {
|
|
457 |
'type' => Controls_Manager::DIMENSIONS,
|
458 |
'size_units' => [ 'px', 'em', '%' ],
|
459 |
'selectors' => [
|
460 |
-
'{{WRAPPER}} .ha-card-figure
|
461 |
],
|
462 |
]
|
463 |
);
|
@@ -466,7 +466,7 @@ class Card extends Base {
|
|
466 |
Group_Control_Border::get_type(),
|
467 |
[
|
468 |
'name' => 'image_border',
|
469 |
-
'selector' => '{{WRAPPER}} .ha-card-figure
|
470 |
]
|
471 |
);
|
472 |
|
@@ -477,7 +477,7 @@ class Card extends Base {
|
|
477 |
'type' => Controls_Manager::DIMENSIONS,
|
478 |
'size_units' => [ 'px', '%' ],
|
479 |
'selectors' => [
|
480 |
-
'{{WRAPPER}} .ha-card-figure
|
481 |
],
|
482 |
]
|
483 |
);
|
@@ -489,7 +489,7 @@ class Card extends Base {
|
|
489 |
'exclude' => [
|
490 |
'box_shadow_position',
|
491 |
],
|
492 |
-
'selector' => '{{WRAPPER}} .ha-card-figure
|
493 |
'separator' => 'after'
|
494 |
]
|
495 |
);
|
@@ -521,7 +521,7 @@ class Card extends Base {
|
|
521 |
],
|
522 |
],
|
523 |
'selectors' => [
|
524 |
-
'{{WRAPPER}} .ha-card-figure
|
525 |
],
|
526 |
]
|
527 |
);
|
@@ -530,7 +530,7 @@ class Card extends Base {
|
|
530 |
Group_Control_Css_Filter::get_type(),
|
531 |
[
|
532 |
'name' => 'image_css_filters',
|
533 |
-
'selector' => '{{WRAPPER}} .ha-card-figure
|
534 |
]
|
535 |
);
|
536 |
|
@@ -555,7 +555,7 @@ class Card extends Base {
|
|
555 |
],
|
556 |
],
|
557 |
'selectors' => [
|
558 |
-
'{{WRAPPER}} .ha-card-figure:hover
|
559 |
],
|
560 |
]
|
561 |
);
|
@@ -564,7 +564,7 @@ class Card extends Base {
|
|
564 |
Group_Control_Css_Filter::get_type(),
|
565 |
[
|
566 |
'name' => 'image_css_filters_hover',
|
567 |
-
'selector' => '{{WRAPPER}} .ha-card-figure:hover
|
568 |
]
|
569 |
);
|
570 |
|
@@ -580,7 +580,7 @@ class Card extends Base {
|
|
580 |
],
|
581 |
],
|
582 |
'selectors' => [
|
583 |
-
'{{WRAPPER}} .ha-card-figure
|
584 |
],
|
585 |
]
|
586 |
);
|
457 |
'type' => Controls_Manager::DIMENSIONS,
|
458 |
'size_units' => [ 'px', 'em', '%' ],
|
459 |
'selectors' => [
|
460 |
+
'{{WRAPPER}} .ha-card-figure img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
461 |
],
|
462 |
]
|
463 |
);
|
466 |
Group_Control_Border::get_type(),
|
467 |
[
|
468 |
'name' => 'image_border',
|
469 |
+
'selector' => '{{WRAPPER}} .ha-card-figure img',
|
470 |
]
|
471 |
);
|
472 |
|
477 |
'type' => Controls_Manager::DIMENSIONS,
|
478 |
'size_units' => [ 'px', '%' ],
|
479 |
'selectors' => [
|
480 |
+
'{{WRAPPER}} .ha-card-figure img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
481 |
],
|
482 |
]
|
483 |
);
|
489 |
'exclude' => [
|
490 |
'box_shadow_position',
|
491 |
],
|
492 |
+
'selector' => '{{WRAPPER}} .ha-card-figure img',
|
493 |
'separator' => 'after'
|
494 |
]
|
495 |
);
|
521 |
],
|
522 |
],
|
523 |
'selectors' => [
|
524 |
+
'{{WRAPPER}} .ha-card-figure img' => 'opacity: {{SIZE}};',
|
525 |
],
|
526 |
]
|
527 |
);
|
530 |
Group_Control_Css_Filter::get_type(),
|
531 |
[
|
532 |
'name' => 'image_css_filters',
|
533 |
+
'selector' => '{{WRAPPER}} .ha-card-figure img',
|
534 |
]
|
535 |
);
|
536 |
|
555 |
],
|
556 |
],
|
557 |
'selectors' => [
|
558 |
+
'{{WRAPPER}} .ha-card-figure:hover img' => 'opacity: {{SIZE}};',
|
559 |
],
|
560 |
]
|
561 |
);
|
564 |
Group_Control_Css_Filter::get_type(),
|
565 |
[
|
566 |
'name' => 'image_css_filters_hover',
|
567 |
+
'selector' => '{{WRAPPER}} .ha-card-figure:hover img',
|
568 |
]
|
569 |
);
|
570 |
|
580 |
],
|
581 |
],
|
582 |
'selectors' => [
|
583 |
+
'{{WRAPPER}} .ha-card-figure img' => 'transition-duration: {{SIZE}}s;',
|
584 |
],
|
585 |
]
|
586 |
);
|
widgets/cf7/widget.php
CHANGED
@@ -48,21 +48,31 @@ class CF7 extends Base {
|
|
48 |
$this->start_controls_section(
|
49 |
'_section_cf7',
|
50 |
[
|
51 |
-
'label' => ha_is_cf7_activated() ? __( 'Contact Form 7', 'happy-elementor-addons' ) : __( 'Notice', 'happy-elementor-addons' ),
|
52 |
'tab' => Controls_Manager::TAB_CONTENT,
|
53 |
]
|
54 |
);
|
55 |
|
56 |
if ( ! ha_is_cf7_activated() ) {
|
57 |
$this->add_control(
|
58 |
-
'
|
59 |
[
|
60 |
'type' => Controls_Manager::RAW_HTML,
|
61 |
'raw' => sprintf(
|
62 |
-
__( '
|
63 |
-
'<a href="
|
|
|
|
|
64 |
),
|
65 |
-
'content_classes' => 'elementor-panel-alert elementor-panel-alert-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
]
|
67 |
);
|
68 |
$this->end_controls_section();
|
48 |
$this->start_controls_section(
|
49 |
'_section_cf7',
|
50 |
[
|
51 |
+
'label' => ha_is_cf7_activated() ? __( 'Contact Form 7', 'happy-elementor-addons' ) : __( 'Missing Notice', 'happy-elementor-addons' ),
|
52 |
'tab' => Controls_Manager::TAB_CONTENT,
|
53 |
]
|
54 |
);
|
55 |
|
56 |
if ( ! ha_is_cf7_activated() ) {
|
57 |
$this->add_control(
|
58 |
+
'_cf7_missing_notice',
|
59 |
[
|
60 |
'type' => Controls_Manager::RAW_HTML,
|
61 |
'raw' => sprintf(
|
62 |
+
__( 'Hello %2$s, looks like %1$s is missing in your site. Please click on the link below and install/activate %1$s. Make sure to refresh this page after installation or activation.', 'happy-elementor-addons' ),
|
63 |
+
'<a href="'.esc_url( admin_url( 'plugin-install.php?s=Contact+Form+7&tab=search&type=term' ) )
|
64 |
+
.'" target="_blank" rel="noopener">Contact Form 7</a>',
|
65 |
+
ha_get_current_user_display_name()
|
66 |
),
|
67 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-danger',
|
68 |
+
]
|
69 |
+
);
|
70 |
+
|
71 |
+
$this->add_control(
|
72 |
+
'_cf7_install',
|
73 |
+
[
|
74 |
+
'type' => Controls_Manager::RAW_HTML,
|
75 |
+
'raw' => '<a href="'.esc_url( admin_url( 'plugin-install.php?s=Contact+Form+7&tab=search&type=term' ) ).'" target="_blank" rel="noopener">Click to install or activate Contact Form 7</a>',
|
76 |
]
|
77 |
);
|
78 |
$this->end_controls_section();
|
widgets/image-grid/widget.php
CHANGED
@@ -283,7 +283,7 @@ class Image_Grid extends Base {
|
|
283 |
'type' => Controls_Manager::DIMENSIONS,
|
284 |
'size_units' => [ 'px', '%' ],
|
285 |
'selectors' => [
|
286 |
-
'{{WRAPPER}} .ha-image-grid-inner, {{WRAPPER}} .ha-image-grid-inner
|
287 |
],
|
288 |
]
|
289 |
);
|
@@ -323,7 +323,7 @@ class Image_Grid extends Base {
|
|
323 |
],
|
324 |
],
|
325 |
'selectors' => [
|
326 |
-
'{{WRAPPER}} .ha-image-grid-inner
|
327 |
],
|
328 |
]
|
329 |
);
|
@@ -332,7 +332,7 @@ class Image_Grid extends Base {
|
|
332 |
Group_Control_Css_Filter::get_type(),
|
333 |
[
|
334 |
'name' => 'image_css_filters',
|
335 |
-
'selector' => '{{WRAPPER}} .ha-image-grid-inner
|
336 |
]
|
337 |
);
|
338 |
|
@@ -357,7 +357,7 @@ class Image_Grid extends Base {
|
|
357 |
],
|
358 |
],
|
359 |
'selectors' => [
|
360 |
-
'{{WRAPPER}} .ha-image-grid-inner:hover
|
361 |
],
|
362 |
]
|
363 |
);
|
@@ -366,7 +366,7 @@ class Image_Grid extends Base {
|
|
366 |
Group_Control_Css_Filter::get_type(),
|
367 |
[
|
368 |
'name' => 'image_css_filters_hover',
|
369 |
-
'selector' => '{{WRAPPER}} .ha-image-grid-inner:hover
|
370 |
]
|
371 |
);
|
372 |
|
@@ -382,7 +382,7 @@ class Image_Grid extends Base {
|
|
382 |
],
|
383 |
],
|
384 |
'selectors' => [
|
385 |
-
'{{WRAPPER}} .ha-image-grid-inner
|
386 |
],
|
387 |
]
|
388 |
);
|
283 |
'type' => Controls_Manager::DIMENSIONS,
|
284 |
'size_units' => [ 'px', '%' ],
|
285 |
'selectors' => [
|
286 |
+
'{{WRAPPER}} .ha-image-grid-inner, {{WRAPPER}} .ha-image-grid-inner img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
287 |
],
|
288 |
]
|
289 |
);
|
323 |
],
|
324 |
],
|
325 |
'selectors' => [
|
326 |
+
'{{WRAPPER}} .ha-image-grid-inner img' => 'opacity: {{SIZE}};',
|
327 |
],
|
328 |
]
|
329 |
);
|
332 |
Group_Control_Css_Filter::get_type(),
|
333 |
[
|
334 |
'name' => 'image_css_filters',
|
335 |
+
'selector' => '{{WRAPPER}} .ha-image-grid-inner img',
|
336 |
]
|
337 |
);
|
338 |
|
357 |
],
|
358 |
],
|
359 |
'selectors' => [
|
360 |
+
'{{WRAPPER}} .ha-image-grid-inner:hover img' => 'opacity: {{SIZE}};',
|
361 |
],
|
362 |
]
|
363 |
);
|
366 |
Group_Control_Css_Filter::get_type(),
|
367 |
[
|
368 |
'name' => 'image_css_filters_hover',
|
369 |
+
'selector' => '{{WRAPPER}} .ha-image-grid-inner:hover img',
|
370 |
]
|
371 |
);
|
372 |
|
382 |
],
|
383 |
],
|
384 |
'selectors' => [
|
385 |
+
'{{WRAPPER}} .ha-image-grid-inner img' => 'transition-duration: {{SIZE}}s',
|
386 |
],
|
387 |
]
|
388 |
);
|
widgets/infobox/widget.php
CHANGED
@@ -511,7 +511,7 @@ class InfoBox extends Base {
|
|
511 |
'type' => Controls_Manager::SLIDER,
|
512 |
'size_units' => ['px'],
|
513 |
'selectors' => [
|
514 |
-
'{{WRAPPER}} .ha-infobox-figure--image
|
515 |
],
|
516 |
]
|
517 |
);
|
@@ -520,7 +520,7 @@ class InfoBox extends Base {
|
|
520 |
Group_Control_Border::get_type(),
|
521 |
[
|
522 |
'name' => 'media_border',
|
523 |
-
'selector' => '{{WRAPPER}} .ha-infobox-figure--image
|
524 |
]
|
525 |
);
|
526 |
|
@@ -531,7 +531,7 @@ class InfoBox extends Base {
|
|
531 |
'type' => Controls_Manager::DIMENSIONS,
|
532 |
'size_units' => [ 'px', '%' ],
|
533 |
'selectors' => [
|
534 |
-
'{{WRAPPER}} .ha-infobox-figure--image
|
535 |
'{{WRAPPER}} .ha-infobox-figure--icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
536 |
],
|
537 |
]
|
@@ -544,7 +544,7 @@ class InfoBox extends Base {
|
|
544 |
'exclude' => [
|
545 |
'box_shadow_position',
|
546 |
],
|
547 |
-
'selector' => '{{WRAPPER}} .ha-infobox-figure--image
|
548 |
]
|
549 |
);
|
550 |
|
511 |
'type' => Controls_Manager::SLIDER,
|
512 |
'size_units' => ['px'],
|
513 |
'selectors' => [
|
514 |
+
'{{WRAPPER}} .ha-infobox-figure--image img, {{WRAPPER}} .ha-infobox-figure--icon' => 'padding: {{SIZE}}{{UNIT}};',
|
515 |
],
|
516 |
]
|
517 |
);
|
520 |
Group_Control_Border::get_type(),
|
521 |
[
|
522 |
'name' => 'media_border',
|
523 |
+
'selector' => '{{WRAPPER}} .ha-infobox-figure--image img, {{WRAPPER}} .ha-infobox-figure--icon',
|
524 |
]
|
525 |
);
|
526 |
|
531 |
'type' => Controls_Manager::DIMENSIONS,
|
532 |
'size_units' => [ 'px', '%' ],
|
533 |
'selectors' => [
|
534 |
+
'{{WRAPPER}} .ha-infobox-figure--image img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
535 |
'{{WRAPPER}} .ha-infobox-figure--icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
536 |
],
|
537 |
]
|
544 |
'exclude' => [
|
545 |
'box_shadow_position',
|
546 |
],
|
547 |
+
'selector' => '{{WRAPPER}} .ha-infobox-figure--image img, {{WRAPPER}} .ha-infobox-figure--icon'
|
548 |
]
|
549 |
);
|
550 |
|
widgets/justified-gallery/widget.php
CHANGED
@@ -272,7 +272,7 @@ class Justified_Gallery extends Base {
|
|
272 |
'type' => Controls_Manager::DIMENSIONS,
|
273 |
'size_units' => [ 'px', '%' ],
|
274 |
'selectors' => [
|
275 |
-
'{{WRAPPER}} .ha-justified-gallery-item, {{WRAPPER}} .ha-justified-gallery-item
|
276 |
],
|
277 |
]
|
278 |
);
|
@@ -326,7 +326,7 @@ class Justified_Gallery extends Base {
|
|
326 |
],
|
327 |
],
|
328 |
'selectors' => [
|
329 |
-
'{{WRAPPER}} .ha-justified-gallery-item
|
330 |
],
|
331 |
]
|
332 |
);
|
@@ -335,7 +335,7 @@ class Justified_Gallery extends Base {
|
|
335 |
Group_Control_Css_Filter::get_type(),
|
336 |
[
|
337 |
'name' => 'image_css_filters',
|
338 |
-
'selector' => '{{WRAPPER}} .ha-justified-gallery-item
|
339 |
]
|
340 |
);
|
341 |
|
@@ -360,7 +360,7 @@ class Justified_Gallery extends Base {
|
|
360 |
],
|
361 |
],
|
362 |
'selectors' => [
|
363 |
-
'{{WRAPPER}} .ha-justified-gallery-item:hover
|
364 |
],
|
365 |
]
|
366 |
);
|
@@ -369,7 +369,7 @@ class Justified_Gallery extends Base {
|
|
369 |
Group_Control_Css_Filter::get_type(),
|
370 |
[
|
371 |
'name' => 'image_css_filters_hover',
|
372 |
-
'selector' => '{{WRAPPER}} .ha-justified-gallery-item:hover
|
373 |
]
|
374 |
);
|
375 |
|
@@ -385,7 +385,7 @@ class Justified_Gallery extends Base {
|
|
385 |
],
|
386 |
],
|
387 |
'selectors' => [
|
388 |
-
'{{WRAPPER}} .ha-justified-gallery-item
|
389 |
],
|
390 |
]
|
391 |
);
|
@@ -408,7 +408,7 @@ class Justified_Gallery extends Base {
|
|
408 |
'options' => ha_get_css_cursors(),
|
409 |
'default' => 'default',
|
410 |
'selectors' => [
|
411 |
-
'{{WRAPPER}} .ha-justified-gallery-item:hover
|
412 |
]
|
413 |
]
|
414 |
);
|
272 |
'type' => Controls_Manager::DIMENSIONS,
|
273 |
'size_units' => [ 'px', '%' ],
|
274 |
'selectors' => [
|
275 |
+
'{{WRAPPER}} .ha-justified-gallery-item, {{WRAPPER}} .ha-justified-gallery-item img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
276 |
],
|
277 |
]
|
278 |
);
|
326 |
],
|
327 |
],
|
328 |
'selectors' => [
|
329 |
+
'{{WRAPPER}} .ha-justified-gallery-item img' => 'opacity: {{SIZE}};',
|
330 |
],
|
331 |
]
|
332 |
);
|
335 |
Group_Control_Css_Filter::get_type(),
|
336 |
[
|
337 |
'name' => 'image_css_filters',
|
338 |
+
'selector' => '{{WRAPPER}} .ha-justified-gallery-item img',
|
339 |
]
|
340 |
);
|
341 |
|
360 |
],
|
361 |
],
|
362 |
'selectors' => [
|
363 |
+
'{{WRAPPER}} .ha-justified-gallery-item:hover img' => 'opacity: {{SIZE}};',
|
364 |
],
|
365 |
]
|
366 |
);
|
369 |
Group_Control_Css_Filter::get_type(),
|
370 |
[
|
371 |
'name' => 'image_css_filters_hover',
|
372 |
+
'selector' => '{{WRAPPER}} .ha-justified-gallery-item:hover img',
|
373 |
]
|
374 |
);
|
375 |
|
385 |
],
|
386 |
],
|
387 |
'selectors' => [
|
388 |
+
'{{WRAPPER}} .ha-justified-gallery-item img' => 'transition-duration: {{SIZE}}s;',
|
389 |
],
|
390 |
]
|
391 |
);
|
408 |
'options' => ha_get_css_cursors(),
|
409 |
'default' => 'default',
|
410 |
'selectors' => [
|
411 |
+
'{{WRAPPER}} .ha-justified-gallery-item:hover img' => 'cursor: {{VALUE}};'
|
412 |
]
|
413 |
]
|
414 |
);
|
widgets/logo-grid/widget.php
CHANGED
@@ -429,7 +429,7 @@ class Logo_Grid extends Base {
|
|
429 |
],
|
430 |
],
|
431 |
'selectors' => [
|
432 |
-
'{{WRAPPER}} .ha-logo-grid-figure
|
433 |
],
|
434 |
]
|
435 |
);
|
@@ -438,7 +438,7 @@ class Logo_Grid extends Base {
|
|
438 |
Group_Control_Css_Filter::get_type(),
|
439 |
[
|
440 |
'name' => 'image_css_filters',
|
441 |
-
'selector' => '{{WRAPPER}} .ha-logo-grid-figure
|
442 |
]
|
443 |
);
|
444 |
|
@@ -463,7 +463,7 @@ class Logo_Grid extends Base {
|
|
463 |
],
|
464 |
],
|
465 |
'selectors' => [
|
466 |
-
'{{WRAPPER}} .ha-logo-grid-figure:hover
|
467 |
],
|
468 |
]
|
469 |
);
|
@@ -472,7 +472,7 @@ class Logo_Grid extends Base {
|
|
472 |
Group_Control_Css_Filter::get_type(),
|
473 |
[
|
474 |
'name' => 'image_css_filters_hover',
|
475 |
-
'selector' => '{{WRAPPER}} .ha-logo-grid-figure:hover
|
476 |
]
|
477 |
);
|
478 |
|
@@ -488,7 +488,7 @@ class Logo_Grid extends Base {
|
|
488 |
],
|
489 |
],
|
490 |
'selectors' => [
|
491 |
-
'{{WRAPPER}} .ha-logo-grid-figure:hover
|
492 |
],
|
493 |
]
|
494 |
);
|
@@ -519,9 +519,6 @@ class Logo_Grid extends Base {
|
|
519 |
<?php
|
520 |
foreach ( $settings['logo_list'] as $index => $item ) :
|
521 |
$image = wp_get_attachment_image_url( $item['image']['id'], $settings['thumbnail_size'] );
|
522 |
-
if ( ! $image ) {
|
523 |
-
$image = Utils::get_placeholder_image_src();
|
524 |
-
}
|
525 |
$repeater_key = 'grid_item' . $index;
|
526 |
$tag = 'div';
|
527 |
$this->add_render_attribute( $repeater_key, 'class', 'ha-logo-grid-item' );
|
@@ -536,7 +533,22 @@ class Logo_Grid extends Base {
|
|
536 |
?>
|
537 |
<<?php echo $tag; ?> <?php $this->print_render_attribute_string( $repeater_key ); ?>>
|
538 |
<figure class="ha-logo-grid-figure">
|
539 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
540 |
</figure>
|
541 |
</<?php echo $tag; ?>>
|
542 |
<?php endforeach; ?>
|
429 |
],
|
430 |
],
|
431 |
'selectors' => [
|
432 |
+
'{{WRAPPER}} .ha-logo-grid-figure img' => 'opacity: {{SIZE}};',
|
433 |
],
|
434 |
]
|
435 |
);
|
438 |
Group_Control_Css_Filter::get_type(),
|
439 |
[
|
440 |
'name' => 'image_css_filters',
|
441 |
+
'selector' => '{{WRAPPER}} .ha-logo-grid-figure img',
|
442 |
]
|
443 |
);
|
444 |
|
463 |
],
|
464 |
],
|
465 |
'selectors' => [
|
466 |
+
'{{WRAPPER}} .ha-logo-grid-figure:hover img' => 'opacity: {{SIZE}};',
|
467 |
],
|
468 |
]
|
469 |
);
|
472 |
Group_Control_Css_Filter::get_type(),
|
473 |
[
|
474 |
'name' => 'image_css_filters_hover',
|
475 |
+
'selector' => '{{WRAPPER}} .ha-logo-grid-figure:hover img',
|
476 |
]
|
477 |
);
|
478 |
|
488 |
],
|
489 |
],
|
490 |
'selectors' => [
|
491 |
+
'{{WRAPPER}} .ha-logo-grid-figure:hover img' => 'transition-duration: {{SIZE}}s;',
|
492 |
],
|
493 |
]
|
494 |
);
|
519 |
<?php
|
520 |
foreach ( $settings['logo_list'] as $index => $item ) :
|
521 |
$image = wp_get_attachment_image_url( $item['image']['id'], $settings['thumbnail_size'] );
|
|
|
|
|
|
|
522 |
$repeater_key = 'grid_item' . $index;
|
523 |
$tag = 'div';
|
524 |
$this->add_render_attribute( $repeater_key, 'class', 'ha-logo-grid-item' );
|
533 |
?>
|
534 |
<<?php echo $tag; ?> <?php $this->print_render_attribute_string( $repeater_key ); ?>>
|
535 |
<figure class="ha-logo-grid-figure">
|
536 |
+
<?php if ( $image ) :
|
537 |
+
echo wp_get_attachment_image(
|
538 |
+
$item['image']['id'],
|
539 |
+
$settings['thumbnail_size'],
|
540 |
+
false,
|
541 |
+
[
|
542 |
+
'class' => 'ha-logo-grid-img elementor-animation-' . esc_attr( $settings['hover_animation'] )
|
543 |
+
]
|
544 |
+
);
|
545 |
+
else :
|
546 |
+
printf( '<img class="ha-logo-grid-img elementor-animation-%s" src="%s" alt="%s">',
|
547 |
+
esc_attr( $settings['hover_animation'] ),
|
548 |
+
Utils::get_placeholder_image_src(),
|
549 |
+
esc_attr( $item['name'] )
|
550 |
+
);
|
551 |
+
endif; ?>
|
552 |
</figure>
|
553 |
</<?php echo $tag; ?>>
|
554 |
<?php endforeach; ?>
|
widgets/member/widget.php
CHANGED
@@ -504,7 +504,7 @@ class Member extends Base {
|
|
504 |
'type' => Controls_Manager::DIMENSIONS,
|
505 |
'size_units' => [ 'px', 'em', '%' ],
|
506 |
'selectors' => [
|
507 |
-
'{{WRAPPER}} .ha-member-figure
|
508 |
],
|
509 |
]
|
510 |
);
|
@@ -513,7 +513,7 @@ class Member extends Base {
|
|
513 |
Group_Control_Border::get_type(),
|
514 |
[
|
515 |
'name' => 'image_border',
|
516 |
-
'selector' => '{{WRAPPER}} .ha-member-figure
|
517 |
]
|
518 |
);
|
519 |
|
@@ -524,7 +524,7 @@ class Member extends Base {
|
|
524 |
'type' => Controls_Manager::DIMENSIONS,
|
525 |
'size_units' => [ 'px', '%' ],
|
526 |
'selectors' => [
|
527 |
-
'{{WRAPPER}} .ha-member-figure
|
528 |
],
|
529 |
]
|
530 |
);
|
@@ -536,7 +536,7 @@ class Member extends Base {
|
|
536 |
'exclude' => [
|
537 |
'box_shadow_position',
|
538 |
],
|
539 |
-
'selector' => '{{WRAPPER}} .ha-member-figure
|
540 |
]
|
541 |
);
|
542 |
|
@@ -546,7 +546,7 @@ class Member extends Base {
|
|
546 |
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
547 |
'type' => Controls_Manager::COLOR,
|
548 |
'selectors' => [
|
549 |
-
'{{WRAPPER}} .ha-member-figure
|
550 |
],
|
551 |
]
|
552 |
);
|
504 |
'type' => Controls_Manager::DIMENSIONS,
|
505 |
'size_units' => [ 'px', 'em', '%' ],
|
506 |
'selectors' => [
|
507 |
+
'{{WRAPPER}} .ha-member-figure img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
508 |
],
|
509 |
]
|
510 |
);
|
513 |
Group_Control_Border::get_type(),
|
514 |
[
|
515 |
'name' => 'image_border',
|
516 |
+
'selector' => '{{WRAPPER}} .ha-member-figure img'
|
517 |
]
|
518 |
);
|
519 |
|
524 |
'type' => Controls_Manager::DIMENSIONS,
|
525 |
'size_units' => [ 'px', '%' ],
|
526 |
'selectors' => [
|
527 |
+
'{{WRAPPER}} .ha-member-figure img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
528 |
],
|
529 |
]
|
530 |
);
|
536 |
'exclude' => [
|
537 |
'box_shadow_position',
|
538 |
],
|
539 |
+
'selector' => '{{WRAPPER}} .ha-member-figure img'
|
540 |
]
|
541 |
);
|
542 |
|
546 |
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
547 |
'type' => Controls_Manager::COLOR,
|
548 |
'selectors' => [
|
549 |
+
'{{WRAPPER}} .ha-member-figure img' => 'background-color: {{VALUE}};',
|
550 |
],
|
551 |
]
|
552 |
);
|
widgets/ninjaform/widget.php
CHANGED
@@ -46,23 +46,32 @@ class NinjaForm extends Base {
|
|
46 |
|
47 |
protected function register_content_controls() {
|
48 |
$this->start_controls_section(
|
49 |
-
'
|
50 |
[
|
51 |
-
'label' =>
|
52 |
'tab' => Controls_Manager::TAB_CONTENT,
|
53 |
]
|
54 |
);
|
55 |
|
56 |
-
if ( !
|
57 |
$this->add_control(
|
58 |
-
'
|
59 |
[
|
60 |
'type' => Controls_Manager::RAW_HTML,
|
61 |
'raw' => sprintf(
|
62 |
-
__( '
|
63 |
-
'<a href="
|
|
|
64 |
),
|
65 |
-
'content_classes' => 'elementor-panel-alert elementor-panel-alert-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
]
|
67 |
);
|
68 |
$this->end_controls_section();
|
@@ -523,7 +532,7 @@ class NinjaForm extends Base {
|
|
523 |
}
|
524 |
|
525 |
protected function render() {
|
526 |
-
if ( !
|
527 |
return;
|
528 |
}
|
529 |
|
46 |
|
47 |
protected function register_content_controls() {
|
48 |
$this->start_controls_section(
|
49 |
+
'_section_ninjaforms',
|
50 |
[
|
51 |
+
'label' => ha_is_ninjaforms_activated() ? __( 'Ninja Forms', 'happy-elementor-addons' ) : __( 'Missing Notice', 'happy-elementor-addons' ),
|
52 |
'tab' => Controls_Manager::TAB_CONTENT,
|
53 |
]
|
54 |
);
|
55 |
|
56 |
+
if ( ! ha_is_ninjaforms_activated() ) {
|
57 |
$this->add_control(
|
58 |
+
'_ninjaforms_missing_notice',
|
59 |
[
|
60 |
'type' => Controls_Manager::RAW_HTML,
|
61 |
'raw' => sprintf(
|
62 |
+
__( 'Hello %2$s, looks like %1$s is missing in your site. Please click on the link below and install/activate %1$s. Make sure to refresh this page after installation or activation.', 'happy-elementor-addons' ),
|
63 |
+
'<a href="'.esc_url( admin_url( 'plugin-install.php?s=Ninja+Forms&tab=search&type=term' ) ).'" target="_blank" rel="noopener">Ninja Forms</a>',
|
64 |
+
ha_get_current_user_display_name()
|
65 |
),
|
66 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-danger',
|
67 |
+
]
|
68 |
+
);
|
69 |
+
|
70 |
+
$this->add_control(
|
71 |
+
'_ninjaforms_install',
|
72 |
+
[
|
73 |
+
'type' => Controls_Manager::RAW_HTML,
|
74 |
+
'raw' => '<a href="'.esc_url( admin_url( 'plugin-install.php?s=Ninja+Forms&tab=search&type=term' ) ).'" target="_blank" rel="noopener">Click to install or activate Ninja Forms</a>',
|
75 |
]
|
76 |
);
|
77 |
$this->end_controls_section();
|
532 |
}
|
533 |
|
534 |
protected function render() {
|
535 |
+
if ( ! ha_is_ninjaforms_activated() ) {
|
536 |
return;
|
537 |
}
|
538 |
|
widgets/review/widget.php
CHANGED
@@ -645,7 +645,7 @@ class Review extends Base {
|
|
645 |
'type' => Controls_Manager::DIMENSIONS,
|
646 |
'size_units' => [ 'px', 'em', '%' ],
|
647 |
'selectors' => [
|
648 |
-
'{{WRAPPER}} .ha-review-figure
|
649 |
],
|
650 |
]
|
651 |
);
|
@@ -654,7 +654,7 @@ class Review extends Base {
|
|
654 |
Group_Control_Border::get_type(),
|
655 |
[
|
656 |
'name' => 'image_border',
|
657 |
-
'selector' => '{{WRAPPER}} .ha-review-figure
|
658 |
]
|
659 |
);
|
660 |
|
@@ -665,7 +665,7 @@ class Review extends Base {
|
|
665 |
'type' => Controls_Manager::DIMENSIONS,
|
666 |
'size_units' => [ 'px', '%' ],
|
667 |
'selectors' => [
|
668 |
-
'{{WRAPPER}} .ha-review-figure
|
669 |
],
|
670 |
]
|
671 |
);
|
@@ -677,7 +677,7 @@ class Review extends Base {
|
|
677 |
'exclude' => [
|
678 |
'box_shadow_position',
|
679 |
],
|
680 |
-
'selector' => '{{WRAPPER}} .ha-review-figure
|
681 |
]
|
682 |
);
|
683 |
|
645 |
'type' => Controls_Manager::DIMENSIONS,
|
646 |
'size_units' => [ 'px', 'em', '%' ],
|
647 |
'selectors' => [
|
648 |
+
'{{WRAPPER}} .ha-review-figure img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
649 |
],
|
650 |
]
|
651 |
);
|
654 |
Group_Control_Border::get_type(),
|
655 |
[
|
656 |
'name' => 'image_border',
|
657 |
+
'selector' => '{{WRAPPER}} .ha-review-figure img',
|
658 |
]
|
659 |
);
|
660 |
|
665 |
'type' => Controls_Manager::DIMENSIONS,
|
666 |
'size_units' => [ 'px', '%' ],
|
667 |
'selectors' => [
|
668 |
+
'{{WRAPPER}} .ha-review-figure img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
669 |
],
|
670 |
]
|
671 |
);
|
677 |
'exclude' => [
|
678 |
'box_shadow_position',
|
679 |
],
|
680 |
+
'selector' => '{{WRAPPER}} .ha-review-figure img',
|
681 |
]
|
682 |
);
|
683 |
|
widgets/testimonial/widget.php
CHANGED
@@ -319,7 +319,7 @@ class Testimonial extends Base {
|
|
319 |
Group_Control_Border::get_type(),
|
320 |
[
|
321 |
'name' => 'image_border',
|
322 |
-
'selector' => '{{WRAPPER}} .ha-testimonial__reviewer-thumb
|
323 |
]
|
324 |
);
|
325 |
|
@@ -330,7 +330,7 @@ class Testimonial extends Base {
|
|
330 |
'type' => Controls_Manager::DIMENSIONS,
|
331 |
'size_units' => [ 'px', '%' ],
|
332 |
'selectors' => [
|
333 |
-
'{{WRAPPER}} .ha-testimonial__reviewer-thumb
|
334 |
],
|
335 |
]
|
336 |
);
|
@@ -339,7 +339,7 @@ class Testimonial extends Base {
|
|
339 |
Group_Control_Box_Shadow::get_type(),
|
340 |
[
|
341 |
'name' => 'image_box_shadow',
|
342 |
-
'selector' => '.ha-testimonial__reviewer-thumb
|
343 |
]
|
344 |
);
|
345 |
|
@@ -367,7 +367,7 @@ class Testimonial extends Base {
|
|
367 |
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
368 |
'type' => Controls_Manager::COLOR,
|
369 |
'selectors' => [
|
370 |
-
'{{WRAPPER}} .ha-testimonial__reviewer-name' => 'color: {{VALUE}}',
|
371 |
],
|
372 |
]
|
373 |
);
|
319 |
Group_Control_Border::get_type(),
|
320 |
[
|
321 |
'name' => 'image_border',
|
322 |
+
'selector' => '{{WRAPPER}} .ha-testimonial__reviewer-thumb img',
|
323 |
]
|
324 |
);
|
325 |
|
330 |
'type' => Controls_Manager::DIMENSIONS,
|
331 |
'size_units' => [ 'px', '%' ],
|
332 |
'selectors' => [
|
333 |
+
'{{WRAPPER}} .ha-testimonial__reviewer-thumb img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
334 |
],
|
335 |
]
|
336 |
);
|
339 |
Group_Control_Box_Shadow::get_type(),
|
340 |
[
|
341 |
'name' => 'image_box_shadow',
|
342 |
+
'selector' => '.ha-testimonial__reviewer-thumb img',
|
343 |
]
|
344 |
);
|
345 |
|
367 |
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
368 |
'type' => Controls_Manager::COLOR,
|
369 |
'selectors' => [
|
370 |
+
'{{WRAPPER}} .ha-testimonial__reviewer-name' => 'color: {{VALUE}};',
|
371 |
],
|
372 |
]
|
373 |
);
|
widgets/weform/widget.php
CHANGED
@@ -52,23 +52,33 @@ class WeForm extends Base {
|
|
52 |
|
53 |
protected function register_content_controls() {
|
54 |
$this->start_controls_section(
|
55 |
-
'
|
56 |
[
|
57 |
-
'label' =>
|
|
|
58 |
'tab' => Controls_Manager::TAB_CONTENT,
|
59 |
]
|
60 |
);
|
61 |
|
62 |
-
if ( !
|
63 |
$this->add_control(
|
64 |
-
'
|
65 |
[
|
66 |
'type' => Controls_Manager::RAW_HTML,
|
67 |
'raw' => sprintf(
|
68 |
-
__( '
|
69 |
-
'<a href="
|
|
|
70 |
),
|
71 |
-
'content_classes' => 'elementor-panel-alert elementor-panel-alert-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
]
|
73 |
);
|
74 |
$this->end_controls_section();
|
@@ -610,7 +620,7 @@ class WeForm extends Base {
|
|
610 |
}
|
611 |
|
612 |
protected function render() {
|
613 |
-
if ( !
|
614 |
return;
|
615 |
}
|
616 |
|
52 |
|
53 |
protected function register_content_controls() {
|
54 |
$this->start_controls_section(
|
55 |
+
'_section_weforms',
|
56 |
[
|
57 |
+
'label' => ha_is_weforms_activated() ? __( 'weForms', 'happy-elementor-addons' ) : __( 'Missing Notice',
|
58 |
+
'happy-elementor-addons' ),
|
59 |
'tab' => Controls_Manager::TAB_CONTENT,
|
60 |
]
|
61 |
);
|
62 |
|
63 |
+
if ( ! ha_is_weforms_activated() ) {
|
64 |
$this->add_control(
|
65 |
+
'_weforms_missing_notice',
|
66 |
[
|
67 |
'type' => Controls_Manager::RAW_HTML,
|
68 |
'raw' => sprintf(
|
69 |
+
__( 'Hello %2$s, looks like %1$s is missing in your site. Please click on the link below and install/activate %1$s. Make sure to refresh this page after installation or activation.', 'happy-elementor-addons' ),
|
70 |
+
'<a href="'.esc_url( admin_url( 'plugin-install.php?s=weForms&tab=search&type=term' ) ).'" target="_blank" rel="noopener">weForms</a>',
|
71 |
+
ha_get_current_user_display_name()
|
72 |
),
|
73 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-danger',
|
74 |
+
]
|
75 |
+
);
|
76 |
+
|
77 |
+
$this->add_control(
|
78 |
+
'_weforms_install',
|
79 |
+
[
|
80 |
+
'type' => Controls_Manager::RAW_HTML,
|
81 |
+
'raw' => '<a href="'.esc_url( admin_url( 'plugin-install.php?s=weForms&tab=search&type=term' ) ).'" target="_blank" rel="noopener">Click to install or activate weForms</a>',
|
82 |
]
|
83 |
);
|
84 |
$this->end_controls_section();
|
620 |
}
|
621 |
|
622 |
protected function render() {
|
623 |
+
if ( ! ha_is_weforms_activated() ) {
|
624 |
return;
|
625 |
}
|
626 |
|
widgets/wpform/widget.php
CHANGED
@@ -46,23 +46,33 @@ class WPForm extends Base {
|
|
46 |
|
47 |
protected function register_content_controls() {
|
48 |
$this->start_controls_section(
|
49 |
-
'
|
50 |
[
|
51 |
-
'label' =>
|
|
|
52 |
'tab' => Controls_Manager::TAB_CONTENT,
|
53 |
]
|
54 |
);
|
55 |
|
56 |
-
if ( !
|
57 |
$this->add_control(
|
58 |
-
'
|
59 |
[
|
60 |
'type' => Controls_Manager::RAW_HTML,
|
61 |
'raw' => sprintf(
|
62 |
-
__( '
|
63 |
-
'<a href="
|
|
|
64 |
),
|
65 |
-
'content_classes' => 'elementor-panel-alert elementor-panel-alert-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
]
|
67 |
);
|
68 |
$this->end_controls_section();
|
@@ -617,7 +627,7 @@ class WPForm extends Base {
|
|
617 |
}
|
618 |
|
619 |
protected function render() {
|
620 |
-
if ( !
|
621 |
return;
|
622 |
}
|
623 |
|
46 |
|
47 |
protected function register_content_controls() {
|
48 |
$this->start_controls_section(
|
49 |
+
'_section_wpforms',
|
50 |
[
|
51 |
+
'label' => ha_is_wpforms_activated() ? __( 'WPForms', 'happy-elementor-addons' ) : __( 'Missing Notice',
|
52 |
+
'happy-elementor-addons' ),
|
53 |
'tab' => Controls_Manager::TAB_CONTENT,
|
54 |
]
|
55 |
);
|
56 |
|
57 |
+
if ( ! ha_is_wpforms_activated() ) {
|
58 |
$this->add_control(
|
59 |
+
'_wpforms_missing_notice',
|
60 |
[
|
61 |
'type' => Controls_Manager::RAW_HTML,
|
62 |
'raw' => sprintf(
|
63 |
+
__( 'Hello %2$s, looks like %1$s is missing in your site. Please click on the link below and install/activate %1$s. Make sure to refresh this page after installation or activation.', 'happy-elementor-addons' ),
|
64 |
+
'<a href="'.esc_url( admin_url( 'plugin-install.php?s=WPForms&tab=search&type=term' ) ).'" target="_blank" rel="noopener">WPForms</a>',
|
65 |
+
ha_get_current_user_display_name()
|
66 |
),
|
67 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-danger',
|
68 |
+
]
|
69 |
+
);
|
70 |
+
|
71 |
+
$this->add_control(
|
72 |
+
'_wpforms_install',
|
73 |
+
[
|
74 |
+
'type' => Controls_Manager::RAW_HTML,
|
75 |
+
'raw' => '<a href="'.esc_url( admin_url( 'plugin-install.php?s=WPForms&tab=search&type=term' ) ).'" target="_blank" rel="noopener">Click to install or activate WPForms</a>',
|
76 |
]
|
77 |
);
|
78 |
$this->end_controls_section();
|
627 |
}
|
628 |
|
629 |
protected function render() {
|
630 |
+
if ( ! ha_is_wpforms_activated() ) {
|
631 |
return;
|
632 |
}
|
633 |
|