Version Description
15 January 2020 =
New: Fun Factor widget
Update: Page break styling for Gravity Forms widget
Update: Widgets help link added in "Need Help?" button
Fix: Image Compare widget extra height issue
Fix: Step Flow widget title link issue
Fix: Gravity Forms styling issue
Fix: Removed welcome notice in admin
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.6.0 |
Comparing to | |
See all releases |
Code changes from version 2.5.0 to 2.6.0
- assets/css/main.css +103 -0
- assets/css/main.min.css +1 -1
- assets/css/widgets/fun-factor.min.css +1 -0
- assets/js/happy-addons.js +15 -0
- assets/js/happy-addons.min.js +1 -1
- base.php +10 -11
- changelog.txt +10 -0
- classes/class.communicator.php +0 -109
- classes/widgets-manager.php +12 -2
- plugin.php +2 -2
- readme.txt +11 -1
- widgets/calderaform/widget.php +4 -0
- widgets/calendly/widget.php +5 -1
- widgets/card/widget.php +4 -0
- widgets/carousel/widget.php +4 -0
- widgets/cf7/widget.php +4 -0
- widgets/dual-button/widget.php +4 -0
- widgets/flip-box/widget.php +4 -0
- widgets/fun-factor/widget.php +818 -0
- widgets/gradient-heading/widget.php +5 -1
- widgets/gravityforms/widget.php +46 -7
- widgets/icon-box/widget.php +4 -0
- widgets/image-compare/widget.php +4 -0
- widgets/image-grid/widget.php +4 -0
- widgets/infobox/widget.php +4 -0
- widgets/justified-gallery/widget.php +4 -0
- widgets/logo-grid/widget.php +4 -0
- widgets/member/widget.php +4 -0
- widgets/news-ticker/widget.php +4 -0
- widgets/ninjaform/widget.php +4 -0
- widgets/number/widget.php +4 -0
- widgets/pricing-table/widget.php +4 -0
- widgets/review/widget.php +5 -1
- widgets/skills/widget.php +4 -0
- widgets/slider/widget.php +4 -0
- widgets/step-flow/widget.php +5 -1
- widgets/testimonial/widget.php +4 -0
- widgets/weform/widget.php +5 -1
- widgets/wpform/widget.php +4 -0
assets/css/main.css
CHANGED
@@ -2702,3 +2702,106 @@
|
|
2702 |
.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover {
|
2703 |
color: #e04c8a;
|
2704 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2702 |
.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover {
|
2703 |
color: #e04c8a;
|
2704 |
}
|
2705 |
+
|
2706 |
+
.ha-fun-factor-icon {
|
2707 |
+
font-size: 3em;
|
2708 |
+
}
|
2709 |
+
|
2710 |
+
.ha-fun-factor-content .ha-fun-factor-content-number,
|
2711 |
+
.ha-fun-factor-content .ha-fun-factor-content-text {
|
2712 |
+
margin-top: 0;
|
2713 |
+
margin-bottom: 15px;
|
2714 |
+
font-size: 24px;
|
2715 |
+
}
|
2716 |
+
|
2717 |
+
.ha-ff-icon--left .ha-fun-factor-content {
|
2718 |
+
padding-left: 20px;
|
2719 |
+
}
|
2720 |
+
|
2721 |
+
.ha-ff-icon--right .ha-fun-factor-content {
|
2722 |
+
padding-right: 20px;
|
2723 |
+
}
|
2724 |
+
|
2725 |
+
.ha-fun-factor-divider {
|
2726 |
+
display: block;
|
2727 |
+
margin-bottom: 15px;
|
2728 |
+
height: 1px;
|
2729 |
+
background-color: #ccc;
|
2730 |
+
}
|
2731 |
+
|
2732 |
+
.ha-ff-icon--top .ha-fun-factor-icon-section,
|
2733 |
+
.ha-ff-icon--top .ha-fun-factor-image-section {
|
2734 |
+
display: inline-block;
|
2735 |
+
margin-top: 10px;
|
2736 |
+
margin-bottom: 10px;
|
2737 |
+
width: auto;
|
2738 |
+
height: auto;
|
2739 |
+
}
|
2740 |
+
|
2741 |
+
.ha-fun-factor-image-section img {
|
2742 |
+
width: 200px;
|
2743 |
+
height: 100px;
|
2744 |
+
}
|
2745 |
+
|
2746 |
+
.ha-ff-container {
|
2747 |
+
padding: 10px;
|
2748 |
+
word-wrap: break-word;
|
2749 |
+
|
2750 |
+
overflow-wrap: break-word;
|
2751 |
+
}
|
2752 |
+
|
2753 |
+
.ha-ff-icon--right > .elementor-widget-container .ha-ff-container,
|
2754 |
+
.ha-ff-icon--left > .elementor-widget-container .ha-ff-container {
|
2755 |
+
display: -webkit-box;
|
2756 |
+
display: -webkit-flex;
|
2757 |
+
display: -ms-flexbox;
|
2758 |
+
display: flex;
|
2759 |
+
-webkit-box-align: center;
|
2760 |
+
-webkit-align-items: center;
|
2761 |
+
align-items: center;
|
2762 |
+
-ms-flex-align: center;
|
2763 |
+
-webkit-box-orient: horizontal;
|
2764 |
+
-webkit-box-direction: normal;
|
2765 |
+
-webkit-flex-direction: row;
|
2766 |
+
-ms-flex-direction: row;
|
2767 |
+
flex-direction: row;
|
2768 |
+
}
|
2769 |
+
|
2770 |
+
.ha-ff-icon--right > .elementor-widget-container .ha-ff-container {
|
2771 |
+
-webkit-box-orient: horizontal;
|
2772 |
+
-webkit-box-direction: reverse;
|
2773 |
+
-webkit-flex-direction: row-reverse;
|
2774 |
+
-ms-flex-direction: row-reverse;
|
2775 |
+
flex-direction: row-reverse;
|
2776 |
+
text-align: right;
|
2777 |
+
}
|
2778 |
+
|
2779 |
+
.ha-ff-icon--right > .elementor-widget-container .ha-ff-container .ha-fun-factor-divider,
|
2780 |
+
.ha-ff-icon--left > .elementor-widget-container .ha-ff-container .ha-fun-factor-divider,
|
2781 |
+
.ha-ff-icon--top > .elementor-widget-container .ha-ff-container .ha-fun-factor-divider {
|
2782 |
+
display: block;
|
2783 |
+
margin-right: auto;
|
2784 |
+
margin-left: auto;
|
2785 |
+
width: 100px;
|
2786 |
+
}
|
2787 |
+
|
2788 |
+
.ha-ff-icon--right > .elementor-widget-container .ha-ff-container .ha-fun-factor-divider,
|
2789 |
+
.ha-ff-icon--left > .elementor-widget-container .ha-ff-container .ha-fun-factor-divider {
|
2790 |
+
width: 100% !important;
|
2791 |
+
}
|
2792 |
+
|
2793 |
+
.ha-fun-factor-divider-align-left {
|
2794 |
+
margin-left: 0 !important;
|
2795 |
+
text-align: left;
|
2796 |
+
}
|
2797 |
+
|
2798 |
+
.ha-fun-factor-divider-align-right {
|
2799 |
+
margin-right: 0 !important;
|
2800 |
+
text-align: right;
|
2801 |
+
}
|
2802 |
+
|
2803 |
+
.ha-fun-factor-divider-align-center {
|
2804 |
+
margin-right: auto !important;
|
2805 |
+
margin-left: auto !important;
|
2806 |
+
text-align: center;
|
2807 |
+
}
|
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,.ha-news-ticker-wrapper ul.ha-news-ticker-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container,.ha-testimonial__reviewer{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--mobile-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--mobile-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--mobile-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--mobile-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--mobile-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}@media (min-width:768px){.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--tablet-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--tablet-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--tablet-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--tablet-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--tablet-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--tablet-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--tablet-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--tablet-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--tablet-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--tablet-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}@media (min-width:1025px){.ha-dual-button--layout-stack.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--layout-stack.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--layout-stack.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--layout-queue.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--layout-queue.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--layout-queue.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}.ha-testimonial--basic>.elementor-widget-container{padding:2rem;border:1px solid #ececec;border-radius:.5rem}.ha-testimonial--basic .ha-testimonial__content{margin-bottom:2.5em}.ha-testimonial--bubble .ha-testimonial__content{position:relative;margin-bottom:1.5rem;padding:2rem;border-radius:6px;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);line-height:1.6rem}.ha-testimonial--bubble .ha-testimonial__content:after{position:absolute;bottom:-14px;color:#fff;content:"\e911";font-style:normal;font-size:36px;font-family:"Happy Icons";-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.ha-testimonial--left.ha-testimonial--bubble .ha-testimonial__content:after{left:15px}.ha-testimonial--center.ha-testimonial--bubble .ha-testimonial__content:after{left:50%;-webkit-transform:translateX(-50%) rotate(-180deg);-ms-transform:translateX(-50%) rotate(-180deg);transform:translateX(-50%) rotate(-180deg)}.ha-testimonial--right.ha-testimonial--bubble .ha-testimonial__content:after{right:15px}.ha-testimonial__reviewer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-testimonial__reviewer-thumb{-webkit-box-flex:0;-webkit-flex:0 0 65px;-ms-flex:0 0 65px;flex:0 0 65px;max-width:65px;height:65px}.ha-testimonial__reviewer-thumb img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.ha-testimonial__reviewer-name{margin-bottom:.3rem;color:#562dd4;font-weight:700;font-size:18px}.ha-testimonial__reviewer-title{color:#8c8c8c;font-size:16px}.ha-testimonial--left .ha-testimonial__reviewer-meta{padding-left:1em}.ha-testimonial--center .ha-testimonial__reviewer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-testimonial--center .ha-testimonial__reviewer-meta{padding-top:1em;max-width:100%}.ha-testimonial--left .ha-testimonial__reviewer-meta,.ha-testimonial--right .ha-testimonial__reviewer-meta{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 65px);-ms-flex:0 0 calc(100% - 65px);flex:0 0 calc(100% - 65px);max-width:calc(100% - 65px)}.ha-testimonial--right .ha-testimonial__reviewer{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-testimonial--right .ha-testimonial__reviewer-meta{padding-right:1em}.ha-testimonial--left{text-align:left}.ha-testimonial--right{text-align:right}.ha-number-body,.ha-testimonial--center{text-align:center}.ha-number-body{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding:6px;width:50px;height:50px;border-radius:100%;background-color:#562dd4;color:#fff;font-size:20px}.ha-number-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ha-number-text{position:relative;z-index:1;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-box-heading{margin:0;font-weight:700;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner p{margin-bottom:0;font-size:16px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-box-heading-back{margin:0;color:#fff;font-size:18px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;color:#fff;font-size:20px}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-back{-webkit-transform:rotateY(0);transform:rotateY(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-back{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-front{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-back{-webkit-transform:rotateX(0);transform:rotateX(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-back{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-front{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-back,.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-front{-webkit-transition:-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275),-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275)}.ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-pricing-table>.elementor-widget-container{position:relative;overflow:hidden;padding:3em 4em}.ha-pricing-table-badge{position:absolute;top:-1px;padding:.8rem 1rem;background-color:#e2498a;color:#fff;line-height:1}.ha-pricing-table-badge--left{left:0;-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ha-pricing-table-badge--right{right:0;-webkit-transform:rotate(-90deg) translateY(-100%);-ms-transform:rotate(-90deg) translateY(-100%);transform:rotate(-90deg) translateY(-100%);-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.ha-pricing-table-title{margin-top:0;margin-bottom:.5rem;color:#242424;font-weight:400;font-size:24px}.ha-pricing-table-price{margin-bottom:3rem}.ha-pricing-table-price-tag{margin-bottom:.5rem;color:#242424;font-weight:700;font-size:60px;line-height:normal}.ha-pricing-table-currency{font-size:24px}.ha-pricing-table-period{color:#8c8c8c;font-size:16px}.ha-pricing-table-body{margin-bottom:3rem}.ha-pricing-table-features-title{margin-top:0;margin-bottom:1rem;font-weight:700;font-size:16px}.ha-pricing-table-features-list{margin:0;padding:0;list-style:none}.ha-pricing-table-features-list li{margin-bottom:1rem;font-size:16px}.ha-pricing-table-features-list i{margin-right:.5rem;min-width:15px;font-size:.8em}.ha-pricing-table-feature-text{display:inline-block}.ha-pricing-table-btn{display:inline-block;padding:.8rem 2rem;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;-webkit-transition:all .3s;transition:all .3s}.ha-pricing-table-btn:hover{background-color:#562dd4;color:#fff}.ha-card>.elementor-widget-container,.ha-icon-box>.elementor-widget-container,.ha-image-compare>.elementor-widget-container,.ha-infobox>.elementor-widget-container,.ha-member>.elementor-widget-container,.ha-pricing-table>.elementor-widget-container,.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-step-flow>.elementor-widget-container{padding:30px;text-align:center}.ha-step-arrow,.ha-step-arrow:after{position:absolute;display:inline-block;border-top:1px solid #ddd}.ha-step-arrow{left:calc(100% + 20px);top:49%;width:100px}.ha-step-arrow:after{top:-2px;right:5px;width:12px;height:12px;border-right:1px solid #ddd;color:#ddd;content:"";-webkit-transform:rotate(45deg) translateY(-50%);-ms-transform:rotate(45deg) translateY(-50%);transform:rotate(45deg) translateY(-50%)}.ha-steps-icon{position:relative;display:inline-block;margin-bottom:2rem;padding:40px;border-radius:50%;background-color:#e9ecf0;box-shadow:0 2px 6px -2px #989898;color:#8056ee;text-align:center;font-size:46px}.ha-steps-icon i{position:relative;display:block;width:1em;height:1em}.ha-steps-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-steps-icon .ha-steps-label{position:absolute;top:5px;right:0;overflow:hidden;padding:12px 8px;max-width:200%;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.ha-steps-title{margin-top:0;margin-bottom:30px;font-weight:700;font-size:16px}.ha-steps-title a{display:block;color:#562dd4}.ha-news-ticker-wrapper li.ha-news-ticker-item a,.ha-steps-title a:hover{color:#242424}.ha-step-description{margin:0;color:#616161;font-weight:400;font-size:16px;line-height:1.5}.ha-news-ticker-wrapper{position:relative;overflow:hidden;padding:20px 0;border:1px solid #d2d2d2;border-radius:5px}.ha-news-ticker-wrapper ul.ha-news-ticker-container{margin:0;padding:0;list-style:none}.ha-news-ticker-wrapper ul.ha-news-ticker-container:focus,.ha-news-ticker-wrapper ul.ha-news-ticker-container:hover{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}.ha-news-ticker-wrapper span.ha-news-ticker-sticky-title{position:absolute;top:50%;left:auto;z-index:1;padding:20px;background:#333;color:#fff;font-size:1rem;line-height:1;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-news-ticker-wrapper li.ha-news-ticker-item{margin-right:20px;white-space:nowrap}.ha-news-ticker-wrapper li.ha-news-ticker-item:last-child{margin-right:0}.ha-news-ticker-wrapper .ha-news-ticker-title{margin:0;font-size:1rem;line-height:1}.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover{color:#e04c8a}
|
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,.ha-news-ticker-wrapper ul.ha-news-ticker-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container,.ha-testimonial__reviewer{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--mobile-layout-queue.ha-dual-button--mobile-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--mobile-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--mobile-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--mobile-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--mobile-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--mobile-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}@media (min-width:768px){.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--tablet-layout-stack.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--tablet-layout-queue.ha-dual-button--tablet-align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--tablet-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--tablet-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--tablet-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--tablet-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--tablet-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--tablet-layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--tablet-layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--tablet-layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--tablet-layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--tablet-layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}@media (min-width:1025px){.ha-dual-button--layout-stack.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--layout-stack.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-dual-button--layout-stack.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-ms-flex-align:end}.ha-dual-button--layout-queue.ha-dual-button--align-left>.elementor-widget-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.ha-dual-button--layout-queue.ha-dual-button--align-center>.elementor-widget-container{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.ha-dual-button--layout-queue.ha-dual-button--align-right>.elementor-widget-container{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.ha-dual-button--layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--layout-queue>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-dual-button--layout-queue .ha-dual-btn-wrapper{max-width:50%}.ha-dual-button--layout-queue .ha-dual-btn-connector{top:50%;right:0}.ha-dual-button--layout-queue .ha-dual-btn--left{border-radius:50px 0 0 50px}.ha-dual-button--layout-queue .ha-dual-btn--right{border-radius:0 50px 50px 0}}.ha-testimonial--basic>.elementor-widget-container{padding:2rem;border:1px solid #ececec;border-radius:.5rem}.ha-testimonial--basic .ha-testimonial__content{margin-bottom:2.5em}.ha-testimonial--bubble .ha-testimonial__content{position:relative;margin-bottom:1.5rem;padding:2rem;border-radius:6px;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);line-height:1.6rem}.ha-testimonial--bubble .ha-testimonial__content:after{position:absolute;bottom:-14px;color:#fff;content:"\e911";font-style:normal;font-size:36px;font-family:"Happy Icons";-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.ha-testimonial--left.ha-testimonial--bubble .ha-testimonial__content:after{left:15px}.ha-testimonial--center.ha-testimonial--bubble .ha-testimonial__content:after{left:50%;-webkit-transform:translateX(-50%) rotate(-180deg);-ms-transform:translateX(-50%) rotate(-180deg);transform:translateX(-50%) rotate(-180deg)}.ha-testimonial--right.ha-testimonial--bubble .ha-testimonial__content:after{right:15px}.ha-testimonial__reviewer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-testimonial__reviewer-thumb{-webkit-box-flex:0;-webkit-flex:0 0 65px;-ms-flex:0 0 65px;flex:0 0 65px;max-width:65px;height:65px}.ha-testimonial__reviewer-thumb img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.ha-testimonial__reviewer-name{margin-bottom:.3rem;color:#562dd4;font-weight:700;font-size:18px}.ha-testimonial__reviewer-title{color:#8c8c8c;font-size:16px}.ha-testimonial--left .ha-testimonial__reviewer-meta{padding-left:1em}.ha-testimonial--center .ha-testimonial__reviewer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-testimonial--center .ha-testimonial__reviewer-meta{padding-top:1em;max-width:100%}.ha-testimonial--left .ha-testimonial__reviewer-meta,.ha-testimonial--right .ha-testimonial__reviewer-meta{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 65px);-ms-flex:0 0 calc(100% - 65px);flex:0 0 calc(100% - 65px);max-width:calc(100% - 65px)}.ha-testimonial--right .ha-testimonial__reviewer{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ha-testimonial--right .ha-testimonial__reviewer-meta{padding-right:1em}.ha-testimonial--left{text-align:left}.ha-testimonial--right{text-align:right}.ha-number-body,.ha-testimonial--center{text-align:center}.ha-number-body{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding:6px;width:50px;height:50px;border-radius:100%;background-color:#562dd4;color:#fff;font-size:20px}.ha-number-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ha-number-text{position:relative;z-index:1;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-box-heading{margin:0;font-weight:700;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner p{margin-bottom:0;font-size:16px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-box-heading-back{margin:0;color:#fff;font-size:18px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative;display:block;width:1em;height:1em;color:#fff;font-size:20px}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-back{-webkit-transform:rotateY(0);transform:rotateY(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right .ha-flip-box-back{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-right:hover .ha-flip-box-front{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-front,.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-back{-webkit-transform:rotateX(0);transform:rotateX(0)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up .ha-flip-box-back{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.ha-flip-box-container .ha-flip-box-inner.ha-flip-up:hover .ha-flip-box-front{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-back,.ha-flip-box-container.ha-flip-effect-classic .ha-flip-box-front{-webkit-transition:-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275);transition:transform .6s cubic-bezier(.2,.85,.4,1.275),-webkit-transform .6s cubic-bezier(.2,.85,.4,1.275)}.ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-pricing-table>.elementor-widget-container{position:relative;overflow:hidden;padding:3em 4em}.ha-pricing-table-badge{position:absolute;top:-1px;padding:.8rem 1rem;background-color:#e2498a;color:#fff;line-height:1}.ha-pricing-table-badge--left{left:0;-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ha-pricing-table-badge--right{right:0;-webkit-transform:rotate(-90deg) translateY(-100%);-ms-transform:rotate(-90deg) translateY(-100%);transform:rotate(-90deg) translateY(-100%);-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.ha-pricing-table-title{margin-top:0;margin-bottom:.5rem;color:#242424;font-weight:400;font-size:24px}.ha-pricing-table-price{margin-bottom:3rem}.ha-pricing-table-price-tag{margin-bottom:.5rem;color:#242424;font-weight:700;font-size:60px;line-height:normal}.ha-pricing-table-currency{font-size:24px}.ha-pricing-table-period{color:#8c8c8c;font-size:16px}.ha-pricing-table-body{margin-bottom:3rem}.ha-pricing-table-features-title{margin-top:0;margin-bottom:1rem;font-weight:700;font-size:16px}.ha-pricing-table-features-list{margin:0;padding:0;list-style:none}.ha-pricing-table-features-list li{margin-bottom:1rem;font-size:16px}.ha-pricing-table-features-list i{margin-right:.5rem;min-width:15px;font-size:.8em}.ha-pricing-table-feature-text{display:inline-block}.ha-pricing-table-btn{display:inline-block;padding:.8rem 2rem;border-radius:40px;background-color:#e2498a;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;-webkit-transition:all .3s;transition:all .3s}.ha-pricing-table-btn:hover{background-color:#562dd4;color:#fff}.ha-card>.elementor-widget-container,.ha-icon-box>.elementor-widget-container,.ha-image-compare>.elementor-widget-container,.ha-infobox>.elementor-widget-container,.ha-member>.elementor-widget-container,.ha-pricing-table>.elementor-widget-container,.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1)}.ha-step-flow>.elementor-widget-container{padding:30px;text-align:center}.ha-step-arrow,.ha-step-arrow:after{position:absolute;display:inline-block;border-top:1px solid #ddd}.ha-step-arrow{left:calc(100% + 20px);top:49%;width:100px}.ha-step-arrow:after{top:-2px;right:5px;width:12px;height:12px;border-right:1px solid #ddd;color:#ddd;content:"";-webkit-transform:rotate(45deg) translateY(-50%);-ms-transform:rotate(45deg) translateY(-50%);transform:rotate(45deg) translateY(-50%)}.ha-steps-icon{position:relative;display:inline-block;margin-bottom:2rem;padding:40px;border-radius:50%;background-color:#e9ecf0;box-shadow:0 2px 6px -2px #989898;color:#8056ee;text-align:center;font-size:46px}.ha-steps-icon i{position:relative;display:block;width:1em;height:1em}.ha-steps-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-steps-icon .ha-steps-label{position:absolute;top:5px;right:0;overflow:hidden;padding:12px 8px;max-width:200%;border:3px solid #fff;border-radius:20px;background-color:#8056ee;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.ha-steps-title{margin-top:0;margin-bottom:30px;font-weight:700;font-size:16px}.ha-steps-title a{display:block;color:#562dd4}.ha-news-ticker-wrapper li.ha-news-ticker-item a,.ha-steps-title a:hover{color:#242424}.ha-step-description{margin:0;color:#616161;font-weight:400;font-size:16px;line-height:1.5}.ha-news-ticker-wrapper{position:relative;overflow:hidden;padding:20px 0;border:1px solid #d2d2d2;border-radius:5px}.ha-news-ticker-wrapper ul.ha-news-ticker-container{margin:0;padding:0;list-style:none}.ha-news-ticker-wrapper ul.ha-news-ticker-container:focus,.ha-news-ticker-wrapper ul.ha-news-ticker-container:hover{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}.ha-news-ticker-wrapper span.ha-news-ticker-sticky-title{position:absolute;top:50%;left:auto;z-index:1;padding:20px;background:#333;color:#fff;font-size:1rem;line-height:1;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-news-ticker-wrapper li.ha-news-ticker-item{margin-right:20px;white-space:nowrap}.ha-news-ticker-wrapper li.ha-news-ticker-item:last-child{margin-right:0}.ha-news-ticker-wrapper .ha-news-ticker-title{margin:0;font-size:1rem;line-height:1}.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover{color:#e04c8a}.ha-fun-factor-icon{font-size:3em}.ha-fun-factor-content .ha-fun-factor-content-number,.ha-fun-factor-content .ha-fun-factor-content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor-content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor-content{padding-right:20px}.ha-fun-factor-divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor-icon-section,.ha-ff-icon--top .ha-fun-factor-image-section{display:inline-block;margin-top:10px;margin-bottom:10px;width:auto;height:auto}.ha-fun-factor-image-section img{width:200px;height:100px}.ha-ff-container{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-ff-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{width:100%!important}.ha-fun-factor-divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor-divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor-divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}
|
assets/css/widgets/fun-factor.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.ha-fun-factor-icon{font-size:3em}.ha-fun-factor-content .ha-fun-factor-content-number,.ha-fun-factor-content .ha-fun-factor-content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor-content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor-content{padding-right:20px}.ha-fun-factor-divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor-icon-section,.ha-ff-icon--top .ha-fun-factor-image-section{display:inline-block;margin-top:10px;margin-bottom:10px;width:auto;height:auto}.ha-fun-factor-image-section img{width:200px;height:100px}.ha-ff-container{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-ff-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider,.ha-ff-icon--right>.elementor-widget-container .ha-ff-container .ha-fun-factor-divider{width:100%!important}.ha-fun-factor-divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor-divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor-divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}
|
assets/js/happy-addons.js
CHANGED
@@ -87,8 +87,14 @@
|
|
87 |
|
88 |
settings[fieldMap[settings.move_handle || 'on_swipe']] = true;
|
89 |
delete settings.move_handle;
|
|
|
90 |
$item.imagesLoaded().done(function() {
|
91 |
$item.twentytwenty(settings);
|
|
|
|
|
|
|
|
|
|
|
92 |
});
|
93 |
};
|
94 |
|
@@ -437,11 +443,20 @@
|
|
437 |
}
|
438 |
});
|
439 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
var handlersFnMap = {
|
441 |
'ha-image-compare.default': HandleImageCompare,
|
442 |
'ha-justified-gallery.default': HandleJustifiedGallery,
|
443 |
'ha-number.default': NumberHandler,
|
444 |
'ha-skills.default': SkillHandler,
|
|
|
445 |
};
|
446 |
|
447 |
$.each( handlersFnMap, function( widgetName, handlerFn ) {
|
87 |
|
88 |
settings[fieldMap[settings.move_handle || 'on_swipe']] = true;
|
89 |
delete settings.move_handle;
|
90 |
+
|
91 |
$item.imagesLoaded().done(function() {
|
92 |
$item.twentytwenty(settings);
|
93 |
+
|
94 |
+
var t = setTimeout(function() {
|
95 |
+
$window.trigger('resize.twentytwenty');
|
96 |
+
clearTimeout(t);
|
97 |
+
}, 400);
|
98 |
});
|
99 |
};
|
100 |
|
443 |
}
|
444 |
});
|
445 |
|
446 |
+
// fun-factor
|
447 |
+
var FunFactor = function ($scope) {
|
448 |
+
EF.waypoint($scope, function () {
|
449 |
+
var $fun_factor = $scope.find('.ha-fun-factor-content-number');
|
450 |
+
$fun_factor.numerator($fun_factor.data('animation'));
|
451 |
+
});
|
452 |
+
};
|
453 |
+
|
454 |
var handlersFnMap = {
|
455 |
'ha-image-compare.default': HandleImageCompare,
|
456 |
'ha-justified-gallery.default': HandleJustifiedGallery,
|
457 |
'ha-number.default': NumberHandler,
|
458 |
'ha-skills.default': SkillHandler,
|
459 |
+
'ha-fun-factor.default': FunFactor,
|
460 |
};
|
461 |
|
462 |
$.each( handlersFnMap, function( widgetName, handlerFn ) {
|
assets/js/happy-addons.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
"use strict";!function(t,e){function i(t,e,i){var n;return function(){var s=this,a=arguments,o=function(){n=null,i||t.apply(s,a)},r=i&&!n;clearTimeout(n),n=setTimeout(o,e),r&&t.apply(s,a)}}function n(e,i){var n=e.find(".hajs-gallery-filter");n.length&&n.on("click","button",function(e){e.stopPropagation();var n=t(this);n.parent().addClass("ha-filter-active").siblings().removeClass("ha-filter-active"),i(n.data("filter"))})}function s(e,i,n,s){if(t.fn.magnificPopup){if(!n)return void t.magnificPopup.close();e.on("click",i,function(t){t.stopPropagation()}),e.find(i).magnificPopup({key:s,type:"image",image:{titleSrc:function(t){return t.el.attr("title")?t.el.attr("title"):t.el.find("img").attr("alt")}},gallery:{enabled:!0,preload:[1,2]},zoom:{enabled:!0,duration:300,easing:"ease-in-out",opener:function(t){return t.is("img")?t:t.find("img")}}})}}var a=t(e);t.fn.getHappySettings=function(){return this.data("happy-settings")};var o=function(t){var e=t.find(".hajs-image-comparison"),i=e.getHappySettings();i[{on_hover:"move_slider_on_hover",on_swipe:"move_with_handle_only",on_click:"click_to_move"}[i.move_handle||"on_swipe"]]=!0,delete i.move_handle,e.imagesLoaded().done(function(){e.twentytwenty(i)})},r=function(e){var i=e.find(".hajs-justified-gallery"),a=i.getHappySettings(),o=a.enable_popup;i.justifiedGallery(t.extend({},{rowHeight:150,lastRow:"justify",margins:10},a)),s(e,".ha-js-popup",o,"justifiedgallery"),n(e,function(t){i.justifiedGallery({lastRow:"*"===t?a.lastRow:"nojustify",filter:t}),s(e,"*"!==t?t:".ha-js-popup",o,"justifiedgallery")})};a.on("elementor/frontend/init",function(){var e=elementorFrontend,a=elementorModules,l=a.frontend.handlers.Base.extend({onInit:function(){a.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.widgetContainer=this.$element.find(".elementor-widget-container")[0],this.initFloatingEffects(),this.initBackgroundOverlay()},initBackgroundOverlay:function(){this.isEdit&&this.$element.addClass("ha-has-background-overlay")},getDefaultSettings:function(){return{targets:this.widgetContainer,loop:!0,direction:"alternate",easing:"easeInOutSine"}},onElementChange:function(t){-1!==t.indexOf("ha_floating")&&this.runOnElementChange()},runOnElementChange:i(function(){this.animation&&this.animation.restart(),this.initFloatingEffects()},200),getConfig:function(t){return this.getElementSettings("ha_floating_fx_"+t)},initFloatingEffects:function(){var t=this.getDefaultSettings();this.getConfig("translate_toggle")&&((this.getConfig("translate_x.size")||this.getConfig("translate_x.sizes.to"))&&(t.translateX={value:[this.getConfig("translate_x.sizes.from")||0,this.getConfig("translate_x.size")||this.getConfig("translate_x.sizes.to")],duration:this.getConfig("translate_duration.size"),delay:this.getConfig("translate_delay.size")||0}),(this.getConfig("translate_y.size")||this.getConfig("translate_y.sizes.to"))&&(t.translateY={value:[this.getConfig("translate_y.sizes.from")||0,this.getConfig("translate_y.size")||this.getConfig("translate_y.sizes.to")],duration:this.getConfig("translate_duration.size"),delay:this.getConfig("translate_delay.size")||0})),this.getConfig("rotate_toggle")&&((this.getConfig("rotate_x.size")||this.getConfig("rotate_x.sizes.to"))&&(t.rotateX={value:[this.getConfig("rotate_x.sizes.from")||0,this.getConfig("rotate_x.size")||this.getConfig("rotate_x.sizes.to")],duration:this.getConfig("rotate_duration.size"),delay:this.getConfig("rotate_delay.size")||0}),(this.getConfig("rotate_y.size")||this.getConfig("rotate_y.sizes.to"))&&(t.rotateY={value:[this.getConfig("rotate_y.sizes.from")||0,this.getConfig("rotate_y.size")||this.getConfig("rotate_y.sizes.to")],duration:this.getConfig("rotate_duration.size"),delay:this.getConfig("rotate_delay.size")||0}),(this.getConfig("rotate_z.size")||this.getConfig("rotate_z.sizes.to"))&&(t.rotateZ={value:[this.getConfig("rotate_z.sizes.from")||0,this.getConfig("rotate_z.size")||this.getConfig("rotate_z.sizes.to")],duration:this.getConfig("rotate_duration.size"),delay:this.getConfig("rotate_delay.size")||0})),this.getConfig("scale_toggle")&&((this.getConfig("scale_x.size")||this.getConfig("scale_x.sizes.to"))&&(t.scaleX={value:[this.getConfig("scale_x.sizes.from")||0,this.getConfig("scale_x.size")||this.getConfig("scale_x.sizes.to")],duration:this.getConfig("scale_duration.size"),delay:this.getConfig("scale_delay.size")||0}),(this.getConfig("scale_y.size")||this.getConfig("scale_y.sizes.to"))&&(t.scaleY={value:[this.getConfig("scale_y.sizes.from")||0,this.getConfig("scale_y.size")||this.getConfig("scale_y.sizes.to")],duration:this.getConfig("scale_duration.size"),delay:this.getConfig("scale_delay.size")||0})),(this.getConfig("translate_toggle")||this.getConfig("rotate_toggle")||this.getConfig("scale_toggle"))&&(this.widgetContainer.style.setProperty("will-change","transform"),this.animation=anime(t))}}),g=a.frontend.handlers.Base.extend({onInit:function(){a.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.$container=this.$element.find(".hajs-slick"),this.run()},isCarousel:function(){return this.$element.hasClass("ha-carousel")},getDefaultSettings:function(){return{arrows:!1,dots:!1,checkVisible:!1,infinite:!0,slidesToShow:this.isCarousel()?3:1,rows:0,prevArrow:'<button type="button" class="slick-prev"><i class="fa fa-chevron-left"></i></button>',nextArrow:'<button type="button" class="slick-next"><i class="fa fa-chevron-right"></i></button>'}},onElementChange:function(){this.$container.slick("unslick"),this.run()},getReadySettings:function(){var i={infinite:!!this.getElementSettings("loop"),autoplay:!!this.getElementSettings("autoplay"),autoplaySpeed:this.getElementSettings("autoplay_speed"),speed:this.getElementSettings("animation_speed"),centerMode:!!this.getElementSettings("center"),vertical:!!this.getElementSettings("vertical"),slidesToScroll:1};switch(this.getElementSettings("navigation")){case"arrow":i.arrows=!0;break;case"dots":i.dots=!0;break;case"both":i.arrows=!0,i.dots=!0}return this.isCarousel()&&(i.slidesToShow=this.getElementSettings("slides_to_show")||3,i.responsive=[{breakpoint:e.config.breakpoints.lg,settings:{slidesToShow:this.getElementSettings("slides_to_show_tablet")||i.slidesToShow}},{breakpoint:e.config.breakpoints.md,settings:{slidesToShow:this.getElementSettings("slides_to_show_mobile")||this.getElementSettings("slides_to_show_tablet")||i.slidesToShow}}]),t.extend({},this.getDefaultSettings(),i)},run:function(){this.$container.slick(this.getReadySettings())}}),
|
1 |
+
"use strict";!function(t,e){function i(t,e,i){var n;return function(){var s=this,a=arguments,o=function(){n=null,i||t.apply(s,a)},r=i&&!n;clearTimeout(n),n=setTimeout(o,e),r&&t.apply(s,a)}}function n(e,i){var n=e.find(".hajs-gallery-filter");n.length&&n.on("click","button",function(e){e.stopPropagation();var n=t(this);n.parent().addClass("ha-filter-active").siblings().removeClass("ha-filter-active"),i(n.data("filter"))})}function s(e,i,n,s){if(t.fn.magnificPopup){if(!n)return void t.magnificPopup.close();e.on("click",i,function(t){t.stopPropagation()}),e.find(i).magnificPopup({key:s,type:"image",image:{titleSrc:function(t){return t.el.attr("title")?t.el.attr("title"):t.el.find("img").attr("alt")}},gallery:{enabled:!0,preload:[1,2]},zoom:{enabled:!0,duration:300,easing:"ease-in-out",opener:function(t){return t.is("img")?t:t.find("img")}}})}}var a=t(e);t.fn.getHappySettings=function(){return this.data("happy-settings")};var o=function(t){var e=t.find(".hajs-image-comparison"),i=e.getHappySettings();i[{on_hover:"move_slider_on_hover",on_swipe:"move_with_handle_only",on_click:"click_to_move"}[i.move_handle||"on_swipe"]]=!0,delete i.move_handle,e.imagesLoaded().done(function(){e.twentytwenty(i);var t=setTimeout(function(){a.trigger("resize.twentytwenty"),clearTimeout(t)},400)})},r=function(e){var i=e.find(".hajs-justified-gallery"),a=i.getHappySettings(),o=a.enable_popup;i.justifiedGallery(t.extend({},{rowHeight:150,lastRow:"justify",margins:10},a)),s(e,".ha-js-popup",o,"justifiedgallery"),n(e,function(t){i.justifiedGallery({lastRow:"*"===t?a.lastRow:"nojustify",filter:t}),s(e,"*"!==t?t:".ha-js-popup",o,"justifiedgallery")})};a.on("elementor/frontend/init",function(){var e=elementorFrontend,a=elementorModules,l=a.frontend.handlers.Base.extend({onInit:function(){a.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.widgetContainer=this.$element.find(".elementor-widget-container")[0],this.initFloatingEffects(),this.initBackgroundOverlay()},initBackgroundOverlay:function(){this.isEdit&&this.$element.addClass("ha-has-background-overlay")},getDefaultSettings:function(){return{targets:this.widgetContainer,loop:!0,direction:"alternate",easing:"easeInOutSine"}},onElementChange:function(t){-1!==t.indexOf("ha_floating")&&this.runOnElementChange()},runOnElementChange:i(function(){this.animation&&this.animation.restart(),this.initFloatingEffects()},200),getConfig:function(t){return this.getElementSettings("ha_floating_fx_"+t)},initFloatingEffects:function(){var t=this.getDefaultSettings();this.getConfig("translate_toggle")&&((this.getConfig("translate_x.size")||this.getConfig("translate_x.sizes.to"))&&(t.translateX={value:[this.getConfig("translate_x.sizes.from")||0,this.getConfig("translate_x.size")||this.getConfig("translate_x.sizes.to")],duration:this.getConfig("translate_duration.size"),delay:this.getConfig("translate_delay.size")||0}),(this.getConfig("translate_y.size")||this.getConfig("translate_y.sizes.to"))&&(t.translateY={value:[this.getConfig("translate_y.sizes.from")||0,this.getConfig("translate_y.size")||this.getConfig("translate_y.sizes.to")],duration:this.getConfig("translate_duration.size"),delay:this.getConfig("translate_delay.size")||0})),this.getConfig("rotate_toggle")&&((this.getConfig("rotate_x.size")||this.getConfig("rotate_x.sizes.to"))&&(t.rotateX={value:[this.getConfig("rotate_x.sizes.from")||0,this.getConfig("rotate_x.size")||this.getConfig("rotate_x.sizes.to")],duration:this.getConfig("rotate_duration.size"),delay:this.getConfig("rotate_delay.size")||0}),(this.getConfig("rotate_y.size")||this.getConfig("rotate_y.sizes.to"))&&(t.rotateY={value:[this.getConfig("rotate_y.sizes.from")||0,this.getConfig("rotate_y.size")||this.getConfig("rotate_y.sizes.to")],duration:this.getConfig("rotate_duration.size"),delay:this.getConfig("rotate_delay.size")||0}),(this.getConfig("rotate_z.size")||this.getConfig("rotate_z.sizes.to"))&&(t.rotateZ={value:[this.getConfig("rotate_z.sizes.from")||0,this.getConfig("rotate_z.size")||this.getConfig("rotate_z.sizes.to")],duration:this.getConfig("rotate_duration.size"),delay:this.getConfig("rotate_delay.size")||0})),this.getConfig("scale_toggle")&&((this.getConfig("scale_x.size")||this.getConfig("scale_x.sizes.to"))&&(t.scaleX={value:[this.getConfig("scale_x.sizes.from")||0,this.getConfig("scale_x.size")||this.getConfig("scale_x.sizes.to")],duration:this.getConfig("scale_duration.size"),delay:this.getConfig("scale_delay.size")||0}),(this.getConfig("scale_y.size")||this.getConfig("scale_y.sizes.to"))&&(t.scaleY={value:[this.getConfig("scale_y.sizes.from")||0,this.getConfig("scale_y.size")||this.getConfig("scale_y.sizes.to")],duration:this.getConfig("scale_duration.size"),delay:this.getConfig("scale_delay.size")||0})),(this.getConfig("translate_toggle")||this.getConfig("rotate_toggle")||this.getConfig("scale_toggle"))&&(this.widgetContainer.style.setProperty("will-change","transform"),this.animation=anime(t))}}),g=a.frontend.handlers.Base.extend({onInit:function(){a.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.$container=this.$element.find(".hajs-slick"),this.run()},isCarousel:function(){return this.$element.hasClass("ha-carousel")},getDefaultSettings:function(){return{arrows:!1,dots:!1,checkVisible:!1,infinite:!0,slidesToShow:this.isCarousel()?3:1,rows:0,prevArrow:'<button type="button" class="slick-prev"><i class="fa fa-chevron-left"></i></button>',nextArrow:'<button type="button" class="slick-next"><i class="fa fa-chevron-right"></i></button>'}},onElementChange:function(){this.$container.slick("unslick"),this.run()},getReadySettings:function(){var i={infinite:!!this.getElementSettings("loop"),autoplay:!!this.getElementSettings("autoplay"),autoplaySpeed:this.getElementSettings("autoplay_speed"),speed:this.getElementSettings("animation_speed"),centerMode:!!this.getElementSettings("center"),vertical:!!this.getElementSettings("vertical"),slidesToScroll:1};switch(this.getElementSettings("navigation")){case"arrow":i.arrows=!0;break;case"dots":i.dots=!0;break;case"both":i.arrows=!0,i.dots=!0}return this.isCarousel()&&(i.slidesToShow=this.getElementSettings("slides_to_show")||3,i.responsive=[{breakpoint:e.config.breakpoints.lg,settings:{slidesToShow:this.getElementSettings("slides_to_show_tablet")||i.slidesToShow}},{breakpoint:e.config.breakpoints.md,settings:{slidesToShow:this.getElementSettings("slides_to_show_mobile")||this.getElementSettings("slides_to_show_tablet")||i.slidesToShow}}]),t.extend({},this.getDefaultSettings(),i)},run:function(){this.$container.slick(this.getReadySettings())}}),f=function(t){e.waypoint(t,function(){var e=t.find(".ha-number-text");e.numerator(e.data("animation"))})},h=function(i){e.waypoint(i,function(){i.find(".ha-skill-level").each(function(){var e=t(this),i=e.find(".ha-skill-level-text"),n=e.data("level");e.animate({width:n+"%"},500),i.numerator({toValue:n+"%",duration:1300,onStep:function(){i.append("%")}})})})},u=a.frontend.handlers.Base.extend({onInit:function(){a.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.$container=this.$element.find(".hajs-isotope"),this.run(),this.runFilter()},getLayoutMode:function(){var t=this.getElementSettings("layout");return"even"===t?"masonry":t},getDefaultSettings:function(){return{itemSelector:".ha-image-grid-item",percentPosition:!0,layoutMode:this.getLayoutMode()}},runFilter:function(){var t=this;n(this.$element,function(e){t.$container.isotope({filter:e});var i="*"!==e?e:".ha-js-popup";s(t.$element,i,t.getElementSettings("enable_popup"),"imagegrid")})},onElementChange:function(t){-1!==["layout","image_height","columns","image_margin","enable_popup"].indexOf(t)&&this.run()},run:function(){var t=this;this.$container.isotope(t.getDefaultSettings()),this.$container.imagesLoaded().progress(function(){t.$container.isotope("layout")}),s(this.$element,".ha-js-popup",this.getElementSettings("enable_popup"),"imagegrid")}}),d=a.frontend.handlers.Base.extend({onInit:function(){a.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.wrapper=this.$element.find(".ha-news-ticker-wrapper"),this.run()},onElementChange:function(t){"item_space"!==t&&"title_typography_font_size"!==t||this.run()},run:function(){var e=this.wrapper.innerHeight(),i=this.wrapper.innerWidth(),n=this.wrapper.find(".ha-news-ticker-container"),s=n.find(".ha-news-ticker-item"),a=this.wrapper.data("scroll-direction"),o="scroll"+a+e+i,r=this.wrapper.data("duration"),l="normal",g=10,f={transform:"translateX(0"+i+"px)"},h={transform:"translateX(-101%)"};"right"===a&&(l="reverse"),s.each(function(){g+=t(this).outerWidth(!0)}),n.css({width:g,display:"flex"}),t.keyframe.define([{name:o,"0%":f,"100%":h}]),n.playKeyframe({name:o,duration:r+"ms",timingFunction:"linear",delay:"0s",iterationCount:"infinite",direction:l,fillMode:"none",complete:function(){}})}}),c=function(t){e.waypoint(t,function(){var e=t.find(".ha-fun-factor-content-number");e.numerator(e.data("animation"))})},p={"ha-image-compare.default":o,"ha-justified-gallery.default":r,"ha-number.default":f,"ha-skills.default":h,"ha-fun-factor.default":c};t.each(p,function(t,i){e.hooks.addAction("frontend/element_ready/"+t,i)});var m={"ha-slider.default":g,"ha-carousel.default":g,"ha-image-grid.default":u,"ha-news-ticker.default":d,widget:l};t.each(m,function(t,i){e.hooks.addAction("frontend/element_ready/"+t,function(t){e.elementsHandler.addHandler(i,{$element:t})})})})}(jQuery,window);
|
base.php
CHANGED
@@ -6,6 +6,10 @@
|
|
6 |
*/
|
7 |
namespace Happy_Addons\Elementor;
|
8 |
|
|
|
|
|
|
|
|
|
9 |
defined( 'ABSPATH' ) || die();
|
10 |
|
11 |
class Base {
|
@@ -101,7 +105,6 @@ class Base {
|
|
101 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/extensions-manager.php' );
|
102 |
|
103 |
if ( is_admin() ) {
|
104 |
-
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/class.communicator.php' );
|
105 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/updater.php' );
|
106 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/dashboard.php' );
|
107 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/attention-seeker.php' );
|
@@ -118,7 +121,7 @@ class Base {
|
|
118 |
*
|
119 |
* @param $elements_manager
|
120 |
*/
|
121 |
-
public function add_category( $elements_manager ) {
|
122 |
$elements_manager->add_category(
|
123 |
'happy_addons_category',
|
124 |
[
|
@@ -129,19 +132,15 @@ class Base {
|
|
129 |
}
|
130 |
|
131 |
/**
|
132 |
-
* Register
|
133 |
-
*
|
134 |
-
* Include custom controls file and register them
|
135 |
-
*
|
136 |
-
* @since 1.0.0
|
137 |
*
|
138 |
-
* @
|
139 |
*/
|
140 |
-
public function register_controls() {
|
141 |
include_once( HAPPY_ADDONS_DIR_PATH . 'controls/foreground.php' );
|
142 |
$foreground = __NAMESPACE__ . '\Controls\Group_Control_Foreground';
|
143 |
|
144 |
-
|
145 |
}
|
146 |
|
147 |
/**
|
@@ -149,7 +148,7 @@ class Base {
|
|
149 |
*
|
150 |
* @param $categories_manager
|
151 |
*/
|
152 |
-
public function register_finder( $categories_manager ) {
|
153 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/finder.php' );
|
154 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/finder-edit.php' );
|
155 |
// Add the category
|
6 |
*/
|
7 |
namespace Happy_Addons\Elementor;
|
8 |
|
9 |
+
use Elementor\Controls_Manager;
|
10 |
+
use Elementor\Elements_Manager;
|
11 |
+
use Elementor\Core\Common\Modules\Finder\Categories_Manager;
|
12 |
+
|
13 |
defined( 'ABSPATH' ) || die();
|
14 |
|
15 |
class Base {
|
105 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/extensions-manager.php' );
|
106 |
|
107 |
if ( is_admin() ) {
|
|
|
108 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/updater.php' );
|
109 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/dashboard.php' );
|
110 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/attention-seeker.php' );
|
121 |
*
|
122 |
* @param $elements_manager
|
123 |
*/
|
124 |
+
public function add_category( Elements_Manager $elements_manager ) {
|
125 |
$elements_manager->add_category(
|
126 |
'happy_addons_category',
|
127 |
[
|
132 |
}
|
133 |
|
134 |
/**
|
135 |
+
* Register controls
|
|
|
|
|
|
|
|
|
136 |
*
|
137 |
+
* @param Controls_Manager $controls_Manager
|
138 |
*/
|
139 |
+
public function register_controls( Controls_Manager $controls_Manager ) {
|
140 |
include_once( HAPPY_ADDONS_DIR_PATH . 'controls/foreground.php' );
|
141 |
$foreground = __NAMESPACE__ . '\Controls\Group_Control_Foreground';
|
142 |
|
143 |
+
$controls_Manager->add_group_control( $foreground::get_type(), new $foreground() );
|
144 |
}
|
145 |
|
146 |
/**
|
148 |
*
|
149 |
* @param $categories_manager
|
150 |
*/
|
151 |
+
public function register_finder( Categories_Manager $categories_manager ) {
|
152 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/finder.php' );
|
153 |
include_once( HAPPY_ADDONS_DIR_PATH . 'classes/finder-edit.php' );
|
154 |
// Add the category
|
changelog.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= 2.5.0 - 24 December 2019 =
|
2 |
|
3 |
- New: Added Step Flow widget title heading level control
|
1 |
+
= 2.6.0 - 15 January 2020 =
|
2 |
+
|
3 |
+
- New: Fun Factor widget
|
4 |
+
- Update: Page break styling for Gravity Forms widget
|
5 |
+
- Update: Widgets help link added in "Need Help?" button
|
6 |
+
- Fix: Image Compare widget extra height issue
|
7 |
+
- Fix: Step Flow widget title link issue
|
8 |
+
- Fix: Gravity Forms styling issue
|
9 |
+
- Fix: Removed welcome notice in admin
|
10 |
+
|
11 |
= 2.5.0 - 24 December 2019 =
|
12 |
|
13 |
- New: Added Step Flow widget title heading level control
|
classes/class.communicator.php
DELETED
@@ -1,109 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Happy_Addons\Communication;
|
4 |
-
|
5 |
-
defined( 'ABSPATH' ) || die();
|
6 |
-
|
7 |
-
define( 'HAPPY_API_COMMUNICATION_ENDPOINT', 'https://happyaddons.com/communication.php' );
|
8 |
-
|
9 |
-
if ( ! ha_is_localhost() ) {
|
10 |
-
define( 'HAPPY_API_COMMUNICATION_CHECK_INTERVAL', ( DAY_IN_SECONDS / 2 ) );
|
11 |
-
} else {
|
12 |
-
define( 'HAPPY_API_COMMUNICATION_CHECK_INTERVAL', 60 );
|
13 |
-
}
|
14 |
-
|
15 |
-
class Communicator {
|
16 |
-
|
17 |
-
public function __construct() {
|
18 |
-
add_action( 'admin_menu', function () {
|
19 |
-
$last_message = get_option( 'happyaddons_message', [ 'digest' => '404' ] );
|
20 |
-
$next_communication_time = get_option( 'happyaddons_communication_time', 0 );
|
21 |
-
|
22 |
-
if ( $next_communication_time < time() ) {
|
23 |
-
//make a call
|
24 |
-
$happy_data = wp_remote_get( HAPPY_API_COMMUNICATION_ENDPOINT . '?s=happy&action=notice' );
|
25 |
-
|
26 |
-
if ( is_array( $happy_data ) ) {
|
27 |
-
$body = json_decode( wp_remote_retrieve_body( $happy_data ), true );
|
28 |
-
if ( is_array( $body ) ) {
|
29 |
-
if ( $body['digest'] != $last_message['digest'] ) {
|
30 |
-
$options = [
|
31 |
-
'happyaddons_message' => $body,
|
32 |
-
'happyaddons_communication_time' => time() + HAPPY_API_COMMUNICATION_CHECK_INTERVAL,
|
33 |
-
'happyaddons_message_dismissed' => 0
|
34 |
-
];
|
35 |
-
foreach ( $options as $key => $value ) {
|
36 |
-
update_option( $key, $value );
|
37 |
-
}
|
38 |
-
}
|
39 |
-
} else {
|
40 |
-
$options = [
|
41 |
-
'happyaddons_communication_time' => time() + HAPPY_API_COMMUNICATION_CHECK_INTERVAL,
|
42 |
-
];
|
43 |
-
foreach ( $options as $key => $value ) {
|
44 |
-
update_option( $key, $value );
|
45 |
-
}
|
46 |
-
}
|
47 |
-
}
|
48 |
-
}
|
49 |
-
|
50 |
-
add_action( 'admin_notices', [ $this, 'display_admin_notice' ] );
|
51 |
-
} );
|
52 |
-
|
53 |
-
add_action( 'wp_ajax_happyaddons_dismiss_error', function () {
|
54 |
-
if ( wp_verify_nonce( $_POST['nonce'], 'happyaddons_dismiss_error' ) ) {
|
55 |
-
update_option( 'happyaddons_message_dismissed', '1' );
|
56 |
-
die();
|
57 |
-
}
|
58 |
-
} );
|
59 |
-
|
60 |
-
add_action( 'admin_footer', function () {
|
61 |
-
?>
|
62 |
-
<script>
|
63 |
-
;(function ($) {
|
64 |
-
$(document).ready(function () {
|
65 |
-
|
66 |
-
$('body').on('click', '#happyaddons_remote_notice .notice-dismiss', function () {
|
67 |
-
$.post('<?php echo admin_url( 'admin-ajax.php' ); ?>', {
|
68 |
-
action: 'happyaddons_dismiss_error',
|
69 |
-
nonce: $('#happyaddons_remote_dismiss').val()
|
70 |
-
}, function (data) {
|
71 |
-
//console.log(data);
|
72 |
-
});
|
73 |
-
return false;
|
74 |
-
});
|
75 |
-
})
|
76 |
-
})(jQuery);
|
77 |
-
</script>
|
78 |
-
|
79 |
-
<?php
|
80 |
-
} );
|
81 |
-
}
|
82 |
-
|
83 |
-
function display_admin_notice() {
|
84 |
-
$last_message = get_option( 'happyaddons_message', [] );
|
85 |
-
|
86 |
-
if ( is_array( $last_message ) && count( $last_message ) > 0 ) {
|
87 |
-
$dismissed = get_option( 'happyaddons_message_dismissed', 1 );
|
88 |
-
if ( $dismissed == 0 && trim( $last_message['message'] != '' ) ) {
|
89 |
-
$message_body = isset( $last_message['message'] ) ? $last_message['message'] : '';
|
90 |
-
$action_button_title = isset( $last_message['action'] ) ? $last_message['action'] : '';
|
91 |
-
$action_button_url = isset( $last_message['url'] ) ? $last_message['url'] : '';
|
92 |
-
$message_style = isset( $last_message['style'] ) ? $last_message['style'] : '';
|
93 |
-
?>
|
94 |
-
<div id="happyaddons_remote_notice" class="notice notice-<?php echo $message_style; ?> is-dismissible">
|
95 |
-
<?php wp_nonce_field( 'happyaddons_dismiss_error', 'happyaddons_remote_dismiss' ); ?>
|
96 |
-
<div class="happyaddons-massage wp-clearfix"><?php echo $message_body; ?></div>
|
97 |
-
<?php if ( $action_button_title ): ?>
|
98 |
-
<p><a class="button button-primary"
|
99 |
-
href="<?php echo esc_url( $action_button_url ); ?>"><?php echo esc_html( $action_button_title ); ?></a>
|
100 |
-
</p>
|
101 |
-
<?php endif; ?>
|
102 |
-
</div>
|
103 |
-
<?php
|
104 |
-
}
|
105 |
-
}
|
106 |
-
}
|
107 |
-
}
|
108 |
-
|
109 |
-
new Communicator();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
classes/widgets-manager.php
CHANGED
@@ -448,7 +448,7 @@ class Widgets_Manager {
|
|
448 |
'js' => [],
|
449 |
],
|
450 |
],
|
451 |
-
|
452 |
'title' => __( 'Gravity Forms', 'happy-elementor-addons' ),
|
453 |
'icon' => 'hm hm-form',
|
454 |
'css' => [],
|
@@ -458,7 +458,7 @@ class Widgets_Manager {
|
|
458 |
'js' => [],
|
459 |
],
|
460 |
],
|
461 |
-
|
462 |
'title' => __( 'News Ticker', 'happy-elementor-addons' ),
|
463 |
'icon' => 'hm hm-slider',
|
464 |
'css' => ['news-ticker'],
|
@@ -468,6 +468,16 @@ class Widgets_Manager {
|
|
468 |
'js' => ['jquery-keyframes'],
|
469 |
],
|
470 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
471 |
];
|
472 |
}
|
473 |
|
448 |
'js' => [],
|
449 |
],
|
450 |
],
|
451 |
+
'gravityforms' => [
|
452 |
'title' => __( 'Gravity Forms', 'happy-elementor-addons' ),
|
453 |
'icon' => 'hm hm-form',
|
454 |
'css' => [],
|
458 |
'js' => [],
|
459 |
],
|
460 |
],
|
461 |
+
'news-ticker' => [
|
462 |
'title' => __( 'News Ticker', 'happy-elementor-addons' ),
|
463 |
'icon' => 'hm hm-slider',
|
464 |
'css' => ['news-ticker'],
|
468 |
'js' => ['jquery-keyframes'],
|
469 |
],
|
470 |
],
|
471 |
+
'fun-factor' => [
|
472 |
+
'title' => __( 'Fun Factor', 'happy-elementor-addons' ),
|
473 |
+
'icon' => 'hm hm-slider',
|
474 |
+
'css' => ['fun-factor'],
|
475 |
+
'js' => [],
|
476 |
+
'vendor' => [
|
477 |
+
'css' => [],
|
478 |
+
'js' => ['elementor-waypoints', 'jquery-numerator'],
|
479 |
+
],
|
480 |
+
],
|
481 |
];
|
482 |
}
|
483 |
|
plugin.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Happy Elementor Addons
|
4 |
* Plugin URI: https://happyaddons.com/
|
5 |
* Description: <a href="https://happyaddons.com/">HappyAddons</a> is a collection of slick, powerful widgets that works seamlessly with Elementor page builder. It’s trendy look with detail customization features allows to create extraordinary designs instantly. <a href="https://happyaddons.com/">HappyAddons</a> is free, rapidly growing and comes with great support.
|
6 |
-
* Version: 2.
|
7 |
* Author: weDevs
|
8 |
* Author URI: https://happyaddons.com/
|
9 |
* License: GPLv2
|
@@ -34,7 +34,7 @@ Copyright 2019 HappyMonster <http://happymonster.me>
|
|
34 |
|
35 |
defined( 'ABSPATH' ) || die();
|
36 |
|
37 |
-
define( 'HAPPY_ADDONS_VERSION', '2.
|
38 |
define( 'HAPPY_ADDONS__FILE__', __FILE__ );
|
39 |
define( 'HAPPY_ADDONS_DIR_PATH', plugin_dir_path( HAPPY_ADDONS__FILE__ ) );
|
40 |
define( 'HAPPY_ADDONS_DIR_URL', plugin_dir_url( HAPPY_ADDONS__FILE__ ) );
|
3 |
* Plugin Name: Happy Elementor Addons
|
4 |
* Plugin URI: https://happyaddons.com/
|
5 |
* Description: <a href="https://happyaddons.com/">HappyAddons</a> is a collection of slick, powerful widgets that works seamlessly with Elementor page builder. It’s trendy look with detail customization features allows to create extraordinary designs instantly. <a href="https://happyaddons.com/">HappyAddons</a> is free, rapidly growing and comes with great support.
|
6 |
+
* Version: 2.6.0
|
7 |
* Author: weDevs
|
8 |
* Author URI: https://happyaddons.com/
|
9 |
* License: GPLv2
|
34 |
|
35 |
defined( 'ABSPATH' ) || die();
|
36 |
|
37 |
+
define( 'HAPPY_ADDONS_VERSION', '2.6.0' );
|
38 |
define( 'HAPPY_ADDONS__FILE__', __FILE__ );
|
39 |
define( 'HAPPY_ADDONS_DIR_PATH', plugin_dir_path( HAPPY_ADDONS__FILE__ ) );
|
40 |
define( 'HAPPY_ADDONS_DIR_URL', plugin_dir_url( HAPPY_ADDONS__FILE__ ) );
|
readme.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
=== Happy Elementor Addons ===
|
2 |
Plugin Name: Happy Elementor Addons
|
3 |
-
Version: 2.
|
4 |
Author: weDevs
|
5 |
Author URI: https://happyaddons.com/
|
6 |
Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, sourav926, wedevs, iqbalrony, obiplabon
|
@@ -268,6 +268,16 @@ It's really easy and super simple to install **Happy Elementor Addons** plugin b
|
|
268 |
|
269 |
== Changelog ==
|
270 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
271 |
= 2.5.0 - 24 December 2019 =
|
272 |
|
273 |
- New: Added Step Flow widget title heading level control
|
1 |
=== Happy Elementor Addons ===
|
2 |
Plugin Name: Happy Elementor Addons
|
3 |
+
Version: 2.6.0
|
4 |
Author: weDevs
|
5 |
Author URI: https://happyaddons.com/
|
6 |
Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, sourav926, wedevs, iqbalrony, obiplabon
|
268 |
|
269 |
== Changelog ==
|
270 |
|
271 |
+
= 2.6.0 - 15 January 2020 =
|
272 |
+
|
273 |
+
- New: Fun Factor widget
|
274 |
+
- Update: Page break styling for Gravity Forms widget
|
275 |
+
- Update: Widgets help link added in "Need Help?" button
|
276 |
+
- Fix: Image Compare widget extra height issue
|
277 |
+
- Fix: Step Flow widget title link issue
|
278 |
+
- Fix: Gravity Forms styling issue
|
279 |
+
- Fix: Removed welcome notice in admin
|
280 |
+
|
281 |
= 2.5.0 - 24 December 2019 =
|
282 |
|
283 |
- New: Added Step Flow widget title heading level control
|
widgets/calderaform/widget.php
CHANGED
@@ -27,6 +27,10 @@ class CalderaForm extends Base {
|
|
27 |
return __( 'Caldera Forms', 'happy-elementor-addons' );
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
* Get widget icon.
|
32 |
*
|
27 |
return __( 'Caldera Forms', 'happy-elementor-addons' );
|
28 |
}
|
29 |
|
30 |
+
public function get_custom_help_url() {
|
31 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/caldera-forms/';
|
32 |
+
}
|
33 |
+
|
34 |
/**
|
35 |
* Get widget icon.
|
36 |
*
|
widgets/calendly/widget.php
CHANGED
@@ -26,7 +26,11 @@ class Calendly extends Base {
|
|
26 |
return __( 'Calendly', 'happy-elementor-addons' );
|
27 |
}
|
28 |
|
29 |
-
|
|
|
|
|
|
|
|
|
30 |
* Get widget icon.
|
31 |
*
|
32 |
* @return string Widget icon.
|
26 |
return __( 'Calendly', 'happy-elementor-addons' );
|
27 |
}
|
28 |
|
29 |
+
public function get_custom_help_url() {
|
30 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/calendly/';
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
* Get widget icon.
|
35 |
*
|
36 |
* @return string Widget icon.
|
widgets/card/widget.php
CHANGED
@@ -32,6 +32,10 @@ class Card extends Base {
|
|
32 |
return __( 'Card', 'happy-elementor-addons' );
|
33 |
}
|
34 |
|
|
|
|
|
|
|
|
|
35 |
/**
|
36 |
* Get widget icon.
|
37 |
*
|
32 |
return __( 'Card', 'happy-elementor-addons' );
|
33 |
}
|
34 |
|
35 |
+
public function get_custom_help_url() {
|
36 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/card/';
|
37 |
+
}
|
38 |
+
|
39 |
/**
|
40 |
* Get widget icon.
|
41 |
*
|
widgets/carousel/widget.php
CHANGED
@@ -33,6 +33,10 @@ class Carousel extends Base {
|
|
33 |
return __( 'Carousel', 'happy-elementor-addons' );
|
34 |
}
|
35 |
|
|
|
|
|
|
|
|
|
36 |
/**
|
37 |
* Get widget icon.
|
38 |
*
|
33 |
return __( 'Carousel', 'happy-elementor-addons' );
|
34 |
}
|
35 |
|
36 |
+
public function get_custom_help_url() {
|
37 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/carousel/';
|
38 |
+
}
|
39 |
+
|
40 |
/**
|
41 |
* Get widget icon.
|
42 |
*
|
widgets/cf7/widget.php
CHANGED
@@ -28,6 +28,10 @@ class CF7 extends Base {
|
|
28 |
return __( 'Contact Form 7', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Get widget icon.
|
33 |
*
|
28 |
return __( 'Contact Form 7', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
+
public function get_custom_help_url() {
|
32 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/contact-7-form/';
|
33 |
+
}
|
34 |
+
|
35 |
/**
|
36 |
* Get widget icon.
|
37 |
*
|
widgets/dual-button/widget.php
CHANGED
@@ -28,6 +28,10 @@ class Dual_Button extends Base {
|
|
28 |
return __( 'Dual Button', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Get widget icon.
|
33 |
*
|
28 |
return __( 'Dual Button', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
+
public function get_custom_help_url() {
|
32 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/dual-button/';
|
33 |
+
}
|
34 |
+
|
35 |
/**
|
36 |
* Get widget icon.
|
37 |
*
|
widgets/flip-box/widget.php
CHANGED
@@ -32,6 +32,10 @@ class Flip_Box extends Base {
|
|
32 |
return __( 'Flip Box', 'happy-elementor-addons' );
|
33 |
}
|
34 |
|
|
|
|
|
|
|
|
|
35 |
/**
|
36 |
* Get widget icon.
|
37 |
*
|
32 |
return __( 'Flip Box', 'happy-elementor-addons' );
|
33 |
}
|
34 |
|
35 |
+
public function get_custom_help_url() {
|
36 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/flip-box/';
|
37 |
+
}
|
38 |
+
|
39 |
/**
|
40 |
* Get widget icon.
|
41 |
*
|
widgets/fun-factor/widget.php
ADDED
@@ -0,0 +1,818 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Fun Factor widget class
|
4 |
+
*
|
5 |
+
* @package Happy_Addons
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace Happy_Addons\Elementor\Widget;
|
9 |
+
|
10 |
+
use Elementor\Group_Control_Text_Shadow;
|
11 |
+
use Elementor\Icons_Manager;
|
12 |
+
use Elementor\Scheme_Typography;
|
13 |
+
use Elementor\Utils;
|
14 |
+
use Elementor\Controls_Manager;
|
15 |
+
use Elementor\Group_Control_Border;
|
16 |
+
use Elementor\Group_Control_Box_Shadow;
|
17 |
+
use Elementor\Group_Control_Image_Size;
|
18 |
+
use Elementor\Group_Control_Typography;
|
19 |
+
|
20 |
+
defined('ABSPATH') || die();
|
21 |
+
|
22 |
+
class Fun_Factor extends Base {
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Get widget title.
|
26 |
+
*
|
27 |
+
* @return string Widget title.
|
28 |
+
* @since 1.0.0
|
29 |
+
* @access public
|
30 |
+
*
|
31 |
+
*/
|
32 |
+
public function get_title() {
|
33 |
+
return __('Fun Factor', 'happy-elementor-addons');
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Get widget icon.
|
38 |
+
*
|
39 |
+
* @return string Widget icon.
|
40 |
+
* @since 1.0.0
|
41 |
+
* @access public
|
42 |
+
*
|
43 |
+
*/
|
44 |
+
public function get_icon() {
|
45 |
+
return 'hm hm-cross-game';
|
46 |
+
}
|
47 |
+
|
48 |
+
public function get_keywords() {
|
49 |
+
return ['fun', 'factor', 'animation', 'info', 'box', 'number', 'animated'];
|
50 |
+
}
|
51 |
+
|
52 |
+
protected function register_content_controls() {
|
53 |
+
$this->start_controls_section(
|
54 |
+
'_section_contents',
|
55 |
+
[
|
56 |
+
'label' => __('Contents', 'happy-elementor-addons'),
|
57 |
+
'tab' => Controls_Manager::TAB_CONTENT
|
58 |
+
]
|
59 |
+
);
|
60 |
+
|
61 |
+
$this->add_control(
|
62 |
+
'media_type',
|
63 |
+
[
|
64 |
+
'label' => __('Media Type', 'happy-elementor-addons'),
|
65 |
+
'type' => Controls_Manager::CHOOSE,
|
66 |
+
'label_block' => false,
|
67 |
+
'options' => [
|
68 |
+
'icon' => [
|
69 |
+
'title' => __('Icon', 'happy-elementor-addons'),
|
70 |
+
'icon' => 'fa fa-smile-o',
|
71 |
+
],
|
72 |
+
'image' => [
|
73 |
+
'title' => __('Image', 'happy-elementor-addons'),
|
74 |
+
'icon' => 'fa fa-image',
|
75 |
+
],
|
76 |
+
],
|
77 |
+
'default' => 'icon',
|
78 |
+
'toggle' => false,
|
79 |
+
'style_transfer' => true,
|
80 |
+
]
|
81 |
+
);
|
82 |
+
|
83 |
+
$this->add_control(
|
84 |
+
'image',
|
85 |
+
[
|
86 |
+
'label' => __('Image', 'happy-elementor-addons'),
|
87 |
+
'type' => Controls_Manager::MEDIA,
|
88 |
+
'default' => [
|
89 |
+
'url' => Utils::get_placeholder_image_src(),
|
90 |
+
],
|
91 |
+
'condition' => [
|
92 |
+
'media_type' => 'image'
|
93 |
+
],
|
94 |
+
'dynamic' => [
|
95 |
+
'active' => true,
|
96 |
+
]
|
97 |
+
]
|
98 |
+
);
|
99 |
+
|
100 |
+
$this->add_group_control(
|
101 |
+
Group_Control_Image_Size::get_type(),
|
102 |
+
[
|
103 |
+
'name' => 'thumbnail',
|
104 |
+
'default' => 'medium_large',
|
105 |
+
'separator' => 'none',
|
106 |
+
'exclude' => [
|
107 |
+
'full',
|
108 |
+
'custom',
|
109 |
+
'large',
|
110 |
+
'shop_catalog',
|
111 |
+
'shop_single',
|
112 |
+
'shop_thumbnail'
|
113 |
+
],
|
114 |
+
'condition' => [
|
115 |
+
'media_type' => 'image'
|
116 |
+
]
|
117 |
+
]
|
118 |
+
);
|
119 |
+
|
120 |
+
$this->add_control(
|
121 |
+
'icons',
|
122 |
+
[
|
123 |
+
'label' => __('Icons', 'happy-elementor-addons'),
|
124 |
+
'type' => Controls_Manager::ICONS,
|
125 |
+
'show_label' => true,
|
126 |
+
'default' => [
|
127 |
+
'value' => 'far fa-grin-wink',
|
128 |
+
'library' => 'solid',
|
129 |
+
],
|
130 |
+
'condition' => [
|
131 |
+
'media_type' => 'icon',
|
132 |
+
],
|
133 |
+
|
134 |
+
]
|
135 |
+
);
|
136 |
+
|
137 |
+
$this->add_control(
|
138 |
+
'image_icon_position',
|
139 |
+
[
|
140 |
+
'label' => __('Position', 'happy-elementor-addons'),
|
141 |
+
'type' => Controls_Manager::CHOOSE,
|
142 |
+
'label_block' => false,
|
143 |
+
'options' => [
|
144 |
+
'left' => [
|
145 |
+
'title' => __('Left', 'happy-elementor-addons'),
|
146 |
+
'icon' => 'eicon-h-align-left',
|
147 |
+
],
|
148 |
+
'top' => [
|
149 |
+
'title' => __('Top', 'happy-elementor-addons'),
|
150 |
+
'icon' => 'eicon-v-align-top',
|
151 |
+
],
|
152 |
+
'right' => [
|
153 |
+
'title' => __('Right', 'happy-elementor-addons'),
|
154 |
+
'icon' => 'eicon-h-align-right',
|
155 |
+
],
|
156 |
+
],
|
157 |
+
'toggle' => false,
|
158 |
+
'default' => 'top',
|
159 |
+
'prefix_class' => 'ha-ff-icon--',
|
160 |
+
'style_transfer' => true,
|
161 |
+
]
|
162 |
+
);
|
163 |
+
|
164 |
+
/*
|
165 |
+
* number section
|
166 |
+
*/
|
167 |
+
|
168 |
+
$this->add_control(
|
169 |
+
'fun_factor_number',
|
170 |
+
[
|
171 |
+
'label' => __('Number', 'happy-elementor-addons'),
|
172 |
+
'type' => Controls_Manager::TEXT,
|
173 |
+
'default' => '507',
|
174 |
+
'dynamic' => [
|
175 |
+
'active' => true,
|
176 |
+
],
|
177 |
+
'separator' => 'before'
|
178 |
+
]
|
179 |
+
);
|
180 |
+
|
181 |
+
$this->add_control(
|
182 |
+
'fun_factor_title',
|
183 |
+
[
|
184 |
+
'label' => __('Title', 'happy-elementor-addons'),
|
185 |
+
'type' => Controls_Manager::TEXT,
|
186 |
+
'default' => __('Happy Clients', 'happy-elementor-addons'),
|
187 |
+
]
|
188 |
+
);
|
189 |
+
|
190 |
+
$this->add_control(
|
191 |
+
'animate_number',
|
192 |
+
[
|
193 |
+
'label' => __('Animate', 'happy-elementor-addons'),
|
194 |
+
'description' => __('Only number is animatable'),
|
195 |
+
'type' => Controls_Manager::SWITCHER,
|
196 |
+
'label_on' => __('Yes', 'happy-elementor-addons'),
|
197 |
+
'label_off' => __('No', 'happy-elementor-addons'),
|
198 |
+
'return_value' => 'yes',
|
199 |
+
'separator' => 'before',
|
200 |
+
'default' => 'yes'
|
201 |
+
]
|
202 |
+
);
|
203 |
+
|
204 |
+
$this->add_control(
|
205 |
+
'animate_duration',
|
206 |
+
[
|
207 |
+
'label' => __('Duration', 'happy-elementor-addons'),
|
208 |
+
'type' => Controls_Manager::NUMBER,
|
209 |
+
'min' => 100,
|
210 |
+
'max' => 10000,
|
211 |
+
'step' => 10,
|
212 |
+
'default' => 500,
|
213 |
+
'condition' => [
|
214 |
+
'animate_number!' => ''
|
215 |
+
],
|
216 |
+
]
|
217 |
+
);
|
218 |
+
|
219 |
+
$this->end_controls_section();
|
220 |
+
|
221 |
+
// options section in contents tab
|
222 |
+
|
223 |
+
$this->start_controls_section(
|
224 |
+
'_section_options',
|
225 |
+
[
|
226 |
+
'label' => __('Options', 'happy-elementor-addons'),
|
227 |
+
'tab' => Controls_Manager::TAB_CONTENT
|
228 |
+
]
|
229 |
+
);
|
230 |
+
|
231 |
+
$this->add_control(
|
232 |
+
'title_tag',
|
233 |
+
[
|
234 |
+
'label' => __('Title HTML Tag', 'happy-elementor-addons'),
|
235 |
+
'type' => Controls_Manager::CHOOSE,
|
236 |
+
'options' => [
|
237 |
+
'h1' => [
|
238 |
+
'title' => __('H1', 'happy-elementor-addons'),
|
239 |
+
'icon' => 'eicon-editor-h1'
|
240 |
+
],
|
241 |
+
'h2' => [
|
242 |
+
'title' => __('H2', 'happy-elementor-addons'),
|
243 |
+
'icon' => 'eicon-editor-h2'
|
244 |
+
],
|
245 |
+
'h3' => [
|
246 |
+
'title' => __('H3', 'happy-elementor-addons'),
|
247 |
+
'icon' => 'eicon-editor-h3'
|
248 |
+
],
|
249 |
+
'h4' => [
|
250 |
+
'title' => __('H4', 'happy-elementor-addons'),
|
251 |
+
'icon' => 'eicon-editor-h4'
|
252 |
+
],
|
253 |
+
'h5' => [
|
254 |
+
'title' => __('H5', 'happy-elementor-addons'),
|
255 |
+
'icon' => 'eicon-editor-h5'
|
256 |
+
],
|
257 |
+
'h6' => [
|
258 |
+
'title' => __('H6', 'happy-elementor-addons'),
|
259 |
+
'icon' => 'eicon-editor-h6'
|
260 |
+
]
|
261 |
+
],
|
262 |
+
'default' => 'h2',
|
263 |
+
'toggle' => false,
|
264 |
+
]
|
265 |
+
);
|
266 |
+
|
267 |
+
$this->add_responsive_control(
|
268 |
+
'text_align',
|
269 |
+
[
|
270 |
+
'label' => __('Text Alignment', 'happy-elementor-addons'),
|
271 |
+
'type' => Controls_Manager::CHOOSE,
|
272 |
+
'options' => [
|
273 |
+
'left' => [
|
274 |
+
'title' => __('Left', 'happy-elementor-addons'),
|
275 |
+
'icon' => 'eicon-text-align-left',
|
276 |
+
],
|
277 |
+
'center' => [
|
278 |
+
'title' => __('Center', 'happy-elementor-addons'),
|
279 |
+
'icon' => 'eicon-text-align-center',
|
280 |
+
],
|
281 |
+
'right' => [
|
282 |
+
'title' => __('Right', 'happy-elementor-addons'),
|
283 |
+
'icon' => 'eicon-text-align-right',
|
284 |
+
],
|
285 |
+
],
|
286 |
+
'toggle' => true,
|
287 |
+
'selectors' => [
|
288 |
+
'{{WRAPPER}} .ha-ff-container, {{WRAPPER}} .ha-fun-factor-image-section' => 'text-align: {{VALUE}};',
|
289 |
+
],
|
290 |
+
'default' => 'center',
|
291 |
+
'render_type' => 'template',
|
292 |
+
]
|
293 |
+
);
|
294 |
+
|
295 |
+
$this->add_control(
|
296 |
+
'divider_show_hide',
|
297 |
+
[
|
298 |
+
'label' => __('Show Divider', 'happy-elementor-addons'),
|
299 |
+
'type' => Controls_Manager::SWITCHER,
|
300 |
+
'label_on' => __('Show', 'happy-elementor-addons'),
|
301 |
+
'label_off' => __('Hide', 'happy-elementor-addons'),
|
302 |
+
'return_value' => 'yes',
|
303 |
+
'default' => 'yes',
|
304 |
+
]
|
305 |
+
);
|
306 |
+
|
307 |
+
$this->end_controls_section();
|
308 |
+
}
|
309 |
+
|
310 |
+
protected function register_style_controls() {
|
311 |
+
$this->start_controls_section(
|
312 |
+
'_section_style_icon_image',
|
313 |
+
[
|
314 |
+
'label' => __('Icon / Image', 'happy-elementor-addons'),
|
315 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
316 |
+
]
|
317 |
+
);
|
318 |
+
|
319 |
+
$this->add_responsive_control(
|
320 |
+
'image_width',
|
321 |
+
[
|
322 |
+
'label' => __('Width', 'happy-elementor-addons'),
|
323 |
+
'type' => Controls_Manager::SLIDER,
|
324 |
+
'size_units' => ['px', '%'],
|
325 |
+
'range' => [
|
326 |
+
'px' => [
|
327 |
+
'min' => 150,
|
328 |
+
'max' => 1024,
|
329 |
+
],
|
330 |
+
'%' => [
|
331 |
+
'min' => 30,
|
332 |
+
'max' => 100,
|
333 |
+
],
|
334 |
+
],
|
335 |
+
'default' => [
|
336 |
+
'unit' => 'px',
|
337 |
+
],
|
338 |
+
'selectors' => [
|
339 |
+
'{{WRAPPER}} .ha-fun-factor-image-section img' => 'width: {{SIZE}}{{UNIT}};',
|
340 |
+
'{{WRAPPER}} .ha-fun-factor-image-section, {{WRAPPER}} .ha-fun-factor-icon-section' => 'flex: 0 0 {{SIZE}}{{UNIT}}; max-width: {{SIZE}}{{UNIT}};',
|
341 |
+
],
|
342 |
+
'condition' => [
|
343 |
+
'media_type' => 'image',
|
344 |
+
]
|
345 |
+
]
|
346 |
+
);
|
347 |
+
|
348 |
+
$this->add_responsive_control(
|
349 |
+
'image_height',
|
350 |
+
[
|
351 |
+
'label' => __('Height', 'happy-elementor-addons'),
|
352 |
+
'type' => Controls_Manager::SLIDER,
|
353 |
+
'size_units' => ['px', '%'],
|
354 |
+
'range' => [
|
355 |
+
'px' => [
|
356 |
+
'min' => 150,
|
357 |
+
'max' => 1024,
|
358 |
+
],
|
359 |
+
'%' => [
|
360 |
+
'min' => 30,
|
361 |
+
'max' => 100,
|
362 |
+
],
|
363 |
+
],
|
364 |
+
'default' => [
|
365 |
+
'unit' => 'px',
|
366 |
+
],
|
367 |
+
'selectors' => [
|
368 |
+
'{{WRAPPER}} .ha-fun-factor-image-section img' => 'height: {{SIZE}}{{UNIT}};',
|
369 |
+
],
|
370 |
+
'condition' => [
|
371 |
+
'media_type' => 'image',
|
372 |
+
]
|
373 |
+
]
|
374 |
+
);
|
375 |
+
|
376 |
+
$this->add_responsive_control(
|
377 |
+
'icon_size',
|
378 |
+
[
|
379 |
+
'label' => __('Size (em)', 'happy-elementor-addons'),
|
380 |
+
'type' => Controls_Manager::SLIDER,
|
381 |
+
'size_units' => ['em'],
|
382 |
+
'range' => [
|
383 |
+
'em' => [
|
384 |
+
'min' => 1,
|
385 |
+
'max' => 10,
|
386 |
+
'step' => 1,
|
387 |
+
],
|
388 |
+
],
|
389 |
+
'devices' => ['desktop', 'tablet', 'mobile'],
|
390 |
+
'desktop_default' => [
|
391 |
+
'unit' => 'em',
|
392 |
+
'size' => 3,
|
393 |
+
],
|
394 |
+
'tablet_default' => [
|
395 |
+
'unit' => 'em',
|
396 |
+
'size' => 2,
|
397 |
+
],
|
398 |
+
'mobile_default' => [
|
399 |
+
'unit' => 'em',
|
400 |
+
'size' => 2,
|
401 |
+
],
|
402 |
+
'selectors' => [
|
403 |
+
'{{WRAPPER}} .ha-fun-factor-icon' => 'font-size: {{SIZE}}{{UNIT}};',
|
404 |
+
],
|
405 |
+
'condition' => [
|
406 |
+
'media_type' => 'icon',
|
407 |
+
],
|
408 |
+
'render_type' => 'template',
|
409 |
+
]
|
410 |
+
);
|
411 |
+
|
412 |
+
$this->add_control(
|
413 |
+
'icon_color',
|
414 |
+
[
|
415 |
+
'label' => __('Icon Color', 'happy-elementor-addons'),
|
416 |
+
'type' => Controls_Manager::COLOR,
|
417 |
+
'selectors' => [
|
418 |
+
'{{WRAPPER}} .ha-fun-factor-icon' => 'color: {{VALUE}};',
|
419 |
+
],
|
420 |
+
'condition' => [
|
421 |
+
'media_type' => 'icon',
|
422 |
+
],
|
423 |
+
]
|
424 |
+
);
|
425 |
+
|
426 |
+
$this->add_responsive_control(
|
427 |
+
'media_padding',
|
428 |
+
[
|
429 |
+
'label' => __('Padding', 'happy-elementor-addons'),
|
430 |
+
'type' => Controls_Manager::SLIDER,
|
431 |
+
'size_units' => ['px'],
|
432 |
+
'selectors' => [
|
433 |
+
'{{WRAPPER}} .ha-fun-factor-image-section img, {{WRAPPER}} .ha-fun-factor-icon-section' => 'padding: {{SIZE}}{{UNIT}};',
|
434 |
+
],
|
435 |
+
]
|
436 |
+
);
|
437 |
+
|
438 |
+
$this->add_group_control(
|
439 |
+
Group_Control_Border::get_type(),
|
440 |
+
[
|
441 |
+
'name' => 'media_border',
|
442 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor-image-section img, {{WRAPPER}} .ha-fun-factor-icon-section',
|
443 |
+
'separator' => 'before'
|
444 |
+
]
|
445 |
+
);
|
446 |
+
|
447 |
+
$this->add_responsive_control(
|
448 |
+
'media_border_radius',
|
449 |
+
[
|
450 |
+
'label' => __('Border Radius', 'happy-elementor-addons'),
|
451 |
+
'type' => Controls_Manager::DIMENSIONS,
|
452 |
+
'size_units' => ['px', '%'],
|
453 |
+
'selectors' => [
|
454 |
+
'{{WRAPPER}} .ha-fun-factor-image-section img, {{WRAPPER}} .ha-fun-factor-icon-section' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
455 |
+
],
|
456 |
+
]
|
457 |
+
);
|
458 |
+
|
459 |
+
$this->add_group_control(
|
460 |
+
Group_Control_Box_Shadow::get_type(),
|
461 |
+
[
|
462 |
+
'name' => 'media_box_shadow',
|
463 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor-image-section img, {{WRAPPER}} .ha-fun-factor-icon-section',
|
464 |
+
]
|
465 |
+
);
|
466 |
+
|
467 |
+
$this->add_responsive_control(
|
468 |
+
'icon_image_bottom_spacing',
|
469 |
+
[
|
470 |
+
'label' => __('Bottom Spacing', 'happy-elementor-addons'),
|
471 |
+
'type' => Controls_Manager::SLIDER,
|
472 |
+
'selectors' => [
|
473 |
+
'{{WRAPPER}} .ha-fun-factor-icon-section, {{WRAPPER}} .ha-fun-factor-image-section' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
474 |
+
],
|
475 |
+
]
|
476 |
+
);
|
477 |
+
|
478 |
+
$this->add_control(
|
479 |
+
'icon_bg_color',
|
480 |
+
[
|
481 |
+
'label' => __('Background Color', 'happy-elementor-addons'),
|
482 |
+
'type' => Controls_Manager::COLOR,
|
483 |
+
'selectors' => [
|
484 |
+
'{{WRAPPER}} .ha-fun-factor-icon-section, {{WRAPPER}} .ha-fun-factor-image-section' => 'background-color: {{VALUE}};',
|
485 |
+
],
|
486 |
+
'condition' => [
|
487 |
+
'media_type' => 'icon'
|
488 |
+
]
|
489 |
+
]
|
490 |
+
);
|
491 |
+
|
492 |
+
$this->add_control(
|
493 |
+
'offset_toggle',
|
494 |
+
[
|
495 |
+
'label' => __('Offset', 'happy-elementor-addons'),
|
496 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
497 |
+
'label_off' => __('No', 'happy-elementor-addons'),
|
498 |
+
'label_on' => __('Yes', 'happy-elementor-addons'),
|
499 |
+
'return_value' => 'yes',
|
500 |
+
]
|
501 |
+
);
|
502 |
+
|
503 |
+
$this->start_popover();
|
504 |
+
|
505 |
+
$this->add_responsive_control(
|
506 |
+
'media_offset_x',
|
507 |
+
[
|
508 |
+
'label' => __('Offset Left', 'happy-elementor-addons'),
|
509 |
+
'type' => Controls_Manager::SLIDER,
|
510 |
+
'size_units' => ['px'],
|
511 |
+
'condition' => [
|
512 |
+
'offset_toggle' => 'yes'
|
513 |
+
],
|
514 |
+
'range' => [
|
515 |
+
'px' => [
|
516 |
+
'min' => -1000,
|
517 |
+
'max' => 1000,
|
518 |
+
],
|
519 |
+
],
|
520 |
+
]
|
521 |
+
);
|
522 |
+
|
523 |
+
$this->add_responsive_control(
|
524 |
+
'media_offset_y',
|
525 |
+
[
|
526 |
+
'label' => __('Offset Top', 'happy-elementor-addons'),
|
527 |
+
'type' => Controls_Manager::SLIDER,
|
528 |
+
'size_units' => ['px'],
|
529 |
+
'condition' => [
|
530 |
+
'offset_toggle' => 'yes'
|
531 |
+
],
|
532 |
+
'range' => [
|
533 |
+
'px' => [
|
534 |
+
'min' => -1000,
|
535 |
+
'max' => 1000,
|
536 |
+
],
|
537 |
+
],
|
538 |
+
|
539 |
+
'selectors' => [
|
540 |
+
// Left image position styles
|
541 |
+
'(desktop){{WRAPPER}}.ha-ff-icon--left .ha-fun-factor-content' => 'margin-left: {{media_offset_x.SIZE || 0}}{{UNIT}}; max-width: calc((100% - {{image_width.SIZE || 50}}{{image_width.UNIT}}) + (-1 * {{media_offset_x.SIZE || 0}}{{UNIT}}));',
|
542 |
+
'(tablet){{WRAPPER}}.ha-ff-icon--left .ha-fun-factor-content' => 'margin-left: {{media_offset_x_tablet.SIZE || 0}}{{UNIT}}; max-width: calc((100% - {{image_width_tablet.SIZE || 50}}{{image_width_tablet.UNIT}}) + (-1 * {{media_offset_x_tablet.SIZE || 0}}{{UNIT}}));',
|
543 |
+
'(mobile){{WRAPPER}}.ha-ff-icon--left .ha-fun-factor-content' => 'margin-left: {{media_offset_x_mobile.SIZE || 0}}{{UNIT}}; max-width: calc((100% - {{image_width_mobile.SIZE || 50}}{{image_width_mobile.UNIT}}) + (-1 * {{media_offset_x_mobile.SIZE || 0}}{{UNIT}}));',
|
544 |
+
// Image right position styles
|
545 |
+
'(desktop){{WRAPPER}}.ha-ff-icon--right .ha-fun-factor-content' => 'margin-right: calc(-1 * {{media_offset_x.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width.SIZE || 50}}{{image_width.UNIT}}) + {{media_offset_x.SIZE || 0}}{{UNIT}});',
|
546 |
+
'(tablet){{WRAPPER}}.ha-ff-icon--right .ha-fun-factor-content' => 'margin-right: calc(-1 * {{media_offset_x_tablet.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width_tablet.SIZE || 50}}{{image_width_tablet.UNIT}}) + {{media_offset_x_tablet.SIZE || 0}}{{UNIT}});',
|
547 |
+
'(mobile){{WRAPPER}}.ha-ff-icon--right .ha-fun-factor-content' => 'margin-right: calc(-1 * {{media_offset_x_mobile.SIZE || 0}}{{UNIT}}); max-width: calc((100% - {{image_width_mobile.SIZE || 50}}{{image_width_mobile.UNIT}}) + {{media_offset_x_mobile.SIZE || 0}}{{UNIT}});',
|
548 |
+
// Image translate styles
|
549 |
+
'(desktop){{WRAPPER}} .ha-fun-factor-icon-section, {{WRAPPER}} .ha-fun-factor-image-section' => '-ms-transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x.SIZE || 0}}{{UNIT}}, {{media_offset_y.SIZE || 0}}{{UNIT}});',
|
550 |
+
'(tablet){{WRAPPER}} .ha-fun-factor-icon-section, {WRAPPER}} .ha-fun-factor-image-section' => '-ms-transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x_tablet.SIZE || 0}}{{UNIT}}, {{media_offset_y_tablet.SIZE || 0}}{{UNIT}});',
|
551 |
+
'(mobile){{WRAPPER}} .ha-fun-factor-icon-section, {{WRAPPER}} .ha-fun-factor-image-section' => '-ms-transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}}); -webkit-transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}}); transform: translate({{media_offset_x_mobile.SIZE || 0}}{{UNIT}}, {{media_offset_y_mobile.SIZE || 0}}{{UNIT}});',
|
552 |
+
// Fun Factor body styles
|
553 |
+
'{{WRAPPER}}.ha-ff-icon--top .ha-fun-factor-content' => 'margin-top: {{SIZE}}{{UNIT}};',
|
554 |
+
],
|
555 |
+
]
|
556 |
+
);
|
557 |
+
$this->end_popover();
|
558 |
+
|
559 |
+
$this->end_controls_section();
|
560 |
+
|
561 |
+
/*
|
562 |
+
* Number section styling
|
563 |
+
*/
|
564 |
+
|
565 |
+
$this->start_controls_section(
|
566 |
+
'_section_style_number_title',
|
567 |
+
[
|
568 |
+
'label' => __('Number & Title', 'happy-elementor-addons'),
|
569 |
+
'tab' => Controls_Manager::TAB_STYLE
|
570 |
+
]
|
571 |
+
);
|
572 |
+
|
573 |
+
$this->add_responsive_control(
|
574 |
+
'content_padding',
|
575 |
+
[
|
576 |
+
'label' => __('Padding', 'happy-elementor-addons'),
|
577 |
+
'type' => Controls_Manager::DIMENSIONS,
|
578 |
+
'selectors' => [
|
579 |
+
'{{WRAPPER}} .ha-fun-factor-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
580 |
+
]
|
581 |
+
]
|
582 |
+
);
|
583 |
+
|
584 |
+
$this->add_control(
|
585 |
+
'fun_factor_number_heading',
|
586 |
+
[
|
587 |
+
'label' => __('Number', 'happy-elementor-addons'),
|
588 |
+
'type' => Controls_Manager::HEADING
|
589 |
+
]
|
590 |
+
);
|
591 |
+
|
592 |
+
$this->add_control(
|
593 |
+
'fun_factor_number_bottom_spacing',
|
594 |
+
[
|
595 |
+
'label' => __('Bottom Spacing', 'happy-elementor-addons'),
|
596 |
+
'type' => Controls_Manager::SLIDER,
|
597 |
+
'size_units' => ['px', '%', 'em'],
|
598 |
+
'selectors' => [
|
599 |
+
'{{WRAPPER}} .ha-fun-factor-content-number' => 'margin-bottom: {{SIZE}}{{UNIT}};'
|
600 |
+
]
|
601 |
+
]
|
602 |
+
);
|
603 |
+
|
604 |
+
$this->add_control(
|
605 |
+
'fun_factor_number_color',
|
606 |
+
[
|
607 |
+
'label' => __('Color', 'happy-elementor-addons'),
|
608 |
+
'type' => Controls_Manager::COLOR,
|
609 |
+
'selectors' => [
|
610 |
+
'{{WRAPPER}} .ha-fun-factor-content-number' => 'color: {{VALUE}} !important;',
|
611 |
+
],
|
612 |
+
]
|
613 |
+
);
|
614 |
+
|
615 |
+
$this->add_group_control(
|
616 |
+
Group_Control_Typography::get_type(),
|
617 |
+
[
|
618 |
+
'name' => 'number_typography',
|
619 |
+
'label' => __('Typography', 'happy-elementor-addons'),
|
620 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
621 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor-content-number',
|
622 |
+
]
|
623 |
+
);
|
624 |
+
|
625 |
+
$this->add_group_control(
|
626 |
+
Group_Control_Text_Shadow::get_type(),
|
627 |
+
[
|
628 |
+
'name' => 'fun_factor_number_shadow',
|
629 |
+
'label' => __('Text Shadow', 'happy-elementor-addons'),
|
630 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor-content-number',
|
631 |
+
]
|
632 |
+
);
|
633 |
+
|
634 |
+
/*
|
635 |
+
* Title section
|
636 |
+
*/
|
637 |
+
|
638 |
+
$this->add_control(
|
639 |
+
'content_title_heading_style',
|
640 |
+
[
|
641 |
+
'label' => __('Title', 'happy-elementor-addons'),
|
642 |
+
'type' => Controls_Manager::HEADING,
|
643 |
+
'separator' => 'before'
|
644 |
+
]
|
645 |
+
);
|
646 |
+
|
647 |
+
$this->add_control(
|
648 |
+
'fun_factor_content_bottom_spacing',
|
649 |
+
[
|
650 |
+
'label' => __('Bottom Spacing', 'happy-elementor-addons'),
|
651 |
+
'type' => Controls_Manager::SLIDER,
|
652 |
+
'size_units' => ['px'],
|
653 |
+
'selectors' => [
|
654 |
+
'{{WRAPPER}} .ha-fun-factor-content-text' => 'margin-bottom: {{SIZE}}{{UNIT}};'
|
655 |
+
]
|
656 |
+
]
|
657 |
+
);
|
658 |
+
|
659 |
+
$this->add_control(
|
660 |
+
'fun_factor_content_color',
|
661 |
+
[
|
662 |
+
'label' => __('Color', 'happy-elementor-addons'),
|
663 |
+
'type' => Controls_Manager::COLOR,
|
664 |
+
'selectors' => [
|
665 |
+
'{{WRAPPER}} .ha-fun-factor-content-text' => 'color: {{VALUE}};',
|
666 |
+
],
|
667 |
+
]
|
668 |
+
);
|
669 |
+
|
670 |
+
$this->add_group_control(
|
671 |
+
Group_Control_Typography::get_type(),
|
672 |
+
[
|
673 |
+
'name' => 'content_typography',
|
674 |
+
'label' => __('Typography', 'happy-elementor-addons'),
|
675 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
676 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor-content-text',
|
677 |
+
]
|
678 |
+
);
|
679 |
+
|
680 |
+
$this->add_group_control(
|
681 |
+
Group_Control_Text_Shadow::get_type(),
|
682 |
+
[
|
683 |
+
'name' => 'fun_factor_content_shadow',
|
684 |
+
'label' => __('Text Shadow', 'happy-elementor-addons'),
|
685 |
+
'selector' => '{{WRAPPER}} .ha-fun-factor-content-text',
|
686 |
+
]
|
687 |
+
);
|
688 |
+
|
689 |
+
$this->end_controls_section();
|
690 |
+
|
691 |
+
/*
|
692 |
+
* Divider style section
|
693 |
+
*/
|
694 |
+
$this->start_controls_section(
|
695 |
+
'_section_divider',
|
696 |
+
[
|
697 |
+
'label' => __('Divider', 'happy-elementor-addons'),
|
698 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
699 |
+
'condition' => [
|
700 |
+
'divider_show_hide' => 'yes'
|
701 |
+
]
|
702 |
+
]
|
703 |
+
);
|
704 |
+
|
705 |
+
$this->add_responsive_control(
|
706 |
+
'divider_width',
|
707 |
+
[
|
708 |
+
'label' => __('Width', 'happy-elementor-addons'),
|
709 |
+
'type' => Controls_Manager::SLIDER,
|
710 |
+
'size_units' => ['%'],
|
711 |
+
'range' => [
|
712 |
+
'%' => [
|
713 |
+
'min' => 10,
|
714 |
+
'max' => 100
|
715 |
+
],
|
716 |
+
],
|
717 |
+
'default' => [
|
718 |
+
'unit' => '%'
|
719 |
+
],
|
720 |
+
'selectors' => [
|
721 |
+
'{{WRAPPER}} .ha-fun-factor-divider' => 'width: {{SIZE}}{{UNIT}} !important;',
|
722 |
+
],
|
723 |
+
]
|
724 |
+
);
|
725 |
+
|
726 |
+
$this->add_responsive_control(
|
727 |
+
'divider_height',
|
728 |
+
[
|
729 |
+
'label' => __('Height', 'happy-elementor-addons'),
|
730 |
+
'type' => Controls_Manager::SLIDER,
|
731 |
+
'size_units' => ['px', '%', 'em'],
|
732 |
+
'default' => [
|
733 |
+
'px' => 1
|
734 |
+
],
|
735 |
+
'selectors' => [
|
736 |
+
'{{WRAPPER}} .ha-fun-factor-divider' => 'height: {{SIZE}}{{UNIT}} !important;',
|
737 |
+
],
|
738 |
+
]
|
739 |
+
);
|
740 |
+
|
741 |
+
$this->add_responsive_control(
|
742 |
+
'divider_border_radius',
|
743 |
+
[
|
744 |
+
'label' => __('Border Radius', 'happy-elementor-addons'),
|
745 |
+
'type' => Controls_Manager::DIMENSIONS,
|
746 |
+
'selectors' => [
|
747 |
+
'{{WRAPPER}} .ha-fun-factor-divider' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
748 |
+
],
|
749 |
+
]
|
750 |
+
);
|
751 |
+
|
752 |
+
$this->add_control(
|
753 |
+
'divider_color',
|
754 |
+
[
|
755 |
+
'label' => __('Color', 'happy-elementor-addons'),
|
756 |
+
'type' => Controls_Manager::COLOR,
|
757 |
+
'selectors' => [
|
758 |
+
'{{WRAPPER}} .ha-fun-factor-divider' => 'background-color: {{VALUE}} !important;',
|
759 |
+
],
|
760 |
+
]
|
761 |
+
);
|
762 |
+
|
763 |
+
$this->add_control(
|
764 |
+
'divider_bottom_spacing',
|
765 |
+
[
|
766 |
+
'label' => __('Bottom Spacing', 'happy-elementor-addons'),
|
767 |
+
'type' => Controls_Manager::SLIDER,
|
768 |
+
'size_units' => ['px'],
|
769 |
+
'selectors' => [
|
770 |
+
'{{WRAPPER}} .ha-fun-factor-divider' => 'margin-bottom: {{SIZE}}{{UNIT}};',
|
771 |
+
],
|
772 |
+
]
|
773 |
+
);
|
774 |
+
|
775 |
+
$this->end_controls_section();
|
776 |
+
}
|
777 |
+
|
778 |
+
protected function render() {
|
779 |
+
$settings = $this->get_settings_for_display();
|
780 |
+
|
781 |
+
$this->add_render_attribute('fun_factor_number', 'class', 'ha-fun-factor-content-number');
|
782 |
+
$number = $settings['fun_factor_number'];
|
783 |
+
$fun_factor_title = $settings['fun_factor_title'];
|
784 |
+
|
785 |
+
if ($settings['animate_number']) {
|
786 |
+
$data = [
|
787 |
+
'toValue' => intval($settings['fun_factor_number']),
|
788 |
+
'duration' => intval($settings['animate_duration']),
|
789 |
+
];
|
790 |
+
$this->add_render_attribute('fun_factor_number', 'data-animation', wp_json_encode($data));
|
791 |
+
$number = 0;
|
792 |
+
}
|
793 |
+
?>
|
794 |
+
|
795 |
+
<div class="ha-ff-container">
|
796 |
+
<?php if ( ! empty( $settings['icons']['value'] ) ) : ?>
|
797 |
+
<div class="ha-fun-factor-icon-section">
|
798 |
+
<?php Icons_Manager::render_icon( $settings['icons'], ['aria-hidden' => 'true', 'class' => 'ha-fun-factor-icon']); ?>
|
799 |
+
</div>
|
800 |
+
<?php elseif ( $settings['image']['url'] || $settings['image']['id']) : ?>
|
801 |
+
<div class="ha-fun-factor-image-section">
|
802 |
+
<?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'thumbnail', 'image' ); ?>
|
803 |
+
</div>
|
804 |
+
<?php endif; ?>
|
805 |
+
|
806 |
+
<div class="ha-fun-factor-content">
|
807 |
+
<p <?php $this->print_render_attribute_string( 'fun_factor_number' ); ?> > <?php echo esc_html($number); ?></p>
|
808 |
+
<?php if ('yes' === $settings['divider_show_hide']) : ?>
|
809 |
+
<span class="ha-fun-factor-divider ha-fun-factor-divider-align-<?php echo $settings['text_align']; ?>"></span>
|
810 |
+
<?php endif; ?>
|
811 |
+
<<?php echo tag_escape( $settings['title_tag'] ); ?> class="ha-fun-factor-content-text"><?php echo esc_html( $fun_factor_title ); ?>
|
812 |
+
</<?php echo tag_escape( $settings['title_tag'] ); ?>>
|
813 |
+
</div>
|
814 |
+
</div>
|
815 |
+
|
816 |
+
<?php
|
817 |
+
}
|
818 |
+
}
|
widgets/gradient-heading/widget.php
CHANGED
@@ -28,7 +28,11 @@ class Gradient_Heading extends Base {
|
|
28 |
return __( 'Gradient Heading', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
-
|
|
|
|
|
|
|
|
|
32 |
* Get widget icon.
|
33 |
*
|
34 |
* @since 1.0.0
|
28 |
return __( 'Gradient Heading', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
+
public function get_custom_help_url() {
|
32 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/gradient-heading/';
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
* Get widget icon.
|
37 |
*
|
38 |
* @since 1.0.0
|
widgets/gravityforms/widget.php
CHANGED
@@ -28,6 +28,10 @@ class GravityForms extends Base {
|
|
28 |
return __( 'Gravity Forms', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Get widget icon.
|
33 |
*
|
@@ -153,7 +157,7 @@ class GravityForms extends Base {
|
|
153 |
'type' => Controls_Manager::DIMENSIONS,
|
154 |
'size_units' => [ 'px', '%' ],
|
155 |
'selectors' => [
|
156 |
-
'{{WRAPPER}} .gform_body .gfield .ginput_container:not(.ginput_container_fileupload) > input' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
157 |
'{{WRAPPER}} .gform_body .gfield .ginput_container.ginput_complex input' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
158 |
'{{WRAPPER}} .gform_body .gfield textarea' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
159 |
],
|
@@ -336,11 +340,12 @@ class GravityForms extends Base {
|
|
336 |
$this->add_responsive_control(
|
337 |
'label_padding',
|
338 |
[
|
339 |
-
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
340 |
'type' => Controls_Manager::DIMENSIONS,
|
341 |
-
'size_units' => [ 'px', '
|
342 |
'selectors' => [
|
343 |
'{{WRAPPER}} .gform_body .gfield .gfield_label' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
|
|
344 |
],
|
345 |
]
|
346 |
);
|
@@ -353,7 +358,7 @@ class GravityForms extends Base {
|
|
353 |
'size_units' => [ 'px', '%' ],
|
354 |
'separator' => 'after',
|
355 |
'selectors' => [
|
356 |
-
'{{WRAPPER}} .gform_body .gfield .
|
357 |
],
|
358 |
]
|
359 |
);
|
@@ -363,7 +368,7 @@ class GravityForms extends Base {
|
|
363 |
[
|
364 |
'name' => 'label_typography',
|
365 |
'label' => __( 'Label Typography', 'happy-elementor-addons' ),
|
366 |
-
'selector' => '{{WRAPPER}} .gform_body .gfield .gfield_label',
|
367 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
368 |
]
|
369 |
);
|
@@ -373,7 +378,7 @@ class GravityForms extends Base {
|
|
373 |
[
|
374 |
'name' => 'sub_label_typography',
|
375 |
'label' => __( 'Sub Label Typography', 'happy-elementor-addons' ),
|
376 |
-
'selector' => '{{WRAPPER}} .gform_body .gfield .
|
377 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
378 |
]
|
379 |
);
|
@@ -386,7 +391,18 @@ class GravityForms extends Base {
|
|
386 |
'selectors' => [
|
387 |
'{{WRAPPER}} .gform_body .gfield .gfield_label' => 'color: {{VALUE}}',
|
388 |
'{{WRAPPER}} .gform_body .gfield .ginput_complex label' => 'color: {{VALUE}}',
|
389 |
-
'{{WRAPPER}} .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
390 |
],
|
391 |
]
|
392 |
);
|
@@ -724,6 +740,19 @@ class GravityForms extends Base {
|
|
724 |
]
|
725 |
);
|
726 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
727 |
$this->add_group_control(
|
728 |
Group_Control_Box_Shadow::get_type(),
|
729 |
[
|
@@ -754,6 +783,16 @@ class GravityForms extends Base {
|
|
754 |
]
|
755 |
);
|
756 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
757 |
$this->start_controls_tabs( 'page_break_tabs_button_style' );
|
758 |
|
759 |
$this->start_controls_tab(
|
28 |
return __( 'Gravity Forms', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
+
public function get_custom_help_url() {
|
32 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/gravity-forms/';
|
33 |
+
}
|
34 |
+
|
35 |
/**
|
36 |
* Get widget icon.
|
37 |
*
|
157 |
'type' => Controls_Manager::DIMENSIONS,
|
158 |
'size_units' => [ 'px', '%' ],
|
159 |
'selectors' => [
|
160 |
+
'{{WRAPPER}} .gform_body .gfield .ginput_container:not(.ginput_container_fileupload) > input:not(.ginput_quantity)' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
161 |
'{{WRAPPER}} .gform_body .gfield .ginput_container.ginput_complex input' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
162 |
'{{WRAPPER}} .gform_body .gfield textarea' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
163 |
],
|
340 |
$this->add_responsive_control(
|
341 |
'label_padding',
|
342 |
[
|
343 |
+
'label' => __( 'Label Padding', 'happy-elementor-addons' ),
|
344 |
'type' => Controls_Manager::DIMENSIONS,
|
345 |
+
'size_units' => [ 'px', '%' ],
|
346 |
'selectors' => [
|
347 |
'{{WRAPPER}} .gform_body .gfield .gfield_label' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
348 |
+
'{{WRAPPER}} table.gfield_list thead th' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
349 |
],
|
350 |
]
|
351 |
);
|
358 |
'size_units' => [ 'px', '%' ],
|
359 |
'separator' => 'after',
|
360 |
'selectors' => [
|
361 |
+
'{{WRAPPER}} .gform_body .gfield .gfield_description' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
362 |
],
|
363 |
]
|
364 |
);
|
368 |
[
|
369 |
'name' => 'label_typography',
|
370 |
'label' => __( 'Label Typography', 'happy-elementor-addons' ),
|
371 |
+
'selector' => '{{WRAPPER}} .gform_body .gfield .gfield_label, {{WRAPPER}} table.gfield_list thead th',
|
372 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
373 |
]
|
374 |
);
|
378 |
[
|
379 |
'name' => 'sub_label_typography',
|
380 |
'label' => __( 'Sub Label Typography', 'happy-elementor-addons' ),
|
381 |
+
'selector' => '{{WRAPPER}} .gform_body .gfield .gfield_description',
|
382 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
383 |
]
|
384 |
);
|
391 |
'selectors' => [
|
392 |
'{{WRAPPER}} .gform_body .gfield .gfield_label' => 'color: {{VALUE}}',
|
393 |
'{{WRAPPER}} .gform_body .gfield .ginput_complex label' => 'color: {{VALUE}}',
|
394 |
+
'{{WRAPPER}} table.gfield_list thead th' => 'color: {{VALUE}}',
|
395 |
+
],
|
396 |
+
]
|
397 |
+
);
|
398 |
+
|
399 |
+
$this->add_control(
|
400 |
+
'sub_label_color',
|
401 |
+
[
|
402 |
+
'label' => __( 'Sub Label Text Color', 'happy-elementor-addons' ),
|
403 |
+
'type' => Controls_Manager::COLOR,
|
404 |
+
'selectors' => [
|
405 |
+
'{{WRAPPER}} .gform_body .gfield .gfield_description' => 'color: {{VALUE}}',
|
406 |
],
|
407 |
]
|
408 |
);
|
740 |
]
|
741 |
);
|
742 |
|
743 |
+
$this->add_control(
|
744 |
+
'page_break_button_paddding',
|
745 |
+
[
|
746 |
+
'label' => __( 'Button Padding', 'happy-elementor-addons' ),
|
747 |
+
'type' => Controls_Manager::DIMENSIONS,
|
748 |
+
'size_units' => [ 'px', '%' ],
|
749 |
+
'selectors' => [
|
750 |
+
'{{WRAPPER}} .gform_next_button.button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
751 |
+
'{{WRAPPER}} .gform_previous_button.button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
752 |
+
],
|
753 |
+
]
|
754 |
+
);
|
755 |
+
|
756 |
$this->add_group_control(
|
757 |
Group_Control_Box_Shadow::get_type(),
|
758 |
[
|
783 |
]
|
784 |
);
|
785 |
|
786 |
+
$this->add_group_control(
|
787 |
+
Group_Control_Typography::get_type(),
|
788 |
+
[
|
789 |
+
'name' => 'page_break_button_typography',
|
790 |
+
'label' => __( 'Button Typography', 'happy-elementor-addons' ),
|
791 |
+
'selector' => '{{WRAPPER}} .gform_next_button.button, {{WRAPPER}} .gform_previous_button.button',
|
792 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_4
|
793 |
+
]
|
794 |
+
);
|
795 |
+
|
796 |
$this->start_controls_tabs( 'page_break_tabs_button_style' );
|
797 |
|
798 |
$this->start_controls_tab(
|
widgets/icon-box/widget.php
CHANGED
@@ -30,6 +30,10 @@ class Icon_Box extends Base {
|
|
30 |
return __( 'Icon Box', 'happy-elementor-addons' );
|
31 |
}
|
32 |
|
|
|
|
|
|
|
|
|
33 |
/**
|
34 |
* Get widget icon.
|
35 |
*
|
30 |
return __( 'Icon Box', 'happy-elementor-addons' );
|
31 |
}
|
32 |
|
33 |
+
public function get_custom_help_url() {
|
34 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/icon-box/';
|
35 |
+
}
|
36 |
+
|
37 |
/**
|
38 |
* Get widget icon.
|
39 |
*
|
widgets/image-compare/widget.php
CHANGED
@@ -31,6 +31,10 @@ class Image_Compare extends Base {
|
|
31 |
return __( 'Image Compare', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Get widget icon.
|
36 |
*
|
31 |
return __( 'Image Compare', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
+
public function get_custom_help_url() {
|
35 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/image-compare/';
|
36 |
+
}
|
37 |
+
|
38 |
/**
|
39 |
* Get widget icon.
|
40 |
*
|
widgets/image-grid/widget.php
CHANGED
@@ -31,6 +31,10 @@ class Image_Grid extends Base {
|
|
31 |
return __( 'Image Grid', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Get widget icon.
|
36 |
*
|
31 |
return __( 'Image Grid', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
+
public function get_custom_help_url() {
|
35 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/image-grid/';
|
36 |
+
}
|
37 |
+
|
38 |
/**
|
39 |
* Get widget icon.
|
40 |
*
|
widgets/infobox/widget.php
CHANGED
@@ -31,6 +31,10 @@ class InfoBox extends Base {
|
|
31 |
return __( 'Info Box', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Get widget icon.
|
36 |
*
|
31 |
return __( 'Info Box', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
+
public function get_custom_help_url() {
|
35 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/info-box/';
|
36 |
+
}
|
37 |
+
|
38 |
/**
|
39 |
* Get widget icon.
|
40 |
*
|
widgets/justified-gallery/widget.php
CHANGED
@@ -31,6 +31,10 @@ class Justified_Gallery extends Base {
|
|
31 |
return __( 'Justified Grid', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Get widget icon.
|
36 |
*
|
31 |
return __( 'Justified Grid', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
+
public function get_custom_help_url() {
|
35 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/justified-grid/';
|
36 |
+
}
|
37 |
+
|
38 |
/**
|
39 |
* Get widget icon.
|
40 |
*
|
widgets/logo-grid/widget.php
CHANGED
@@ -29,6 +29,10 @@ class Logo_Grid extends Base {
|
|
29 |
return __('Logo Grid', 'happy-elementor-addons');
|
30 |
}
|
31 |
|
|
|
|
|
|
|
|
|
32 |
/**
|
33 |
* Get widget icon.
|
34 |
*
|
29 |
return __('Logo Grid', 'happy-elementor-addons');
|
30 |
}
|
31 |
|
32 |
+
public function get_custom_help_url() {
|
33 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/logo-grid/';
|
34 |
+
}
|
35 |
+
|
36 |
/**
|
37 |
* Get widget icon.
|
38 |
*
|
widgets/member/widget.php
CHANGED
@@ -33,6 +33,10 @@ class Member extends Base {
|
|
33 |
return __( 'Team Member', 'happy-elementor-addons' );
|
34 |
}
|
35 |
|
|
|
|
|
|
|
|
|
36 |
/**
|
37 |
* Get widget icon.
|
38 |
*
|
33 |
return __( 'Team Member', 'happy-elementor-addons' );
|
34 |
}
|
35 |
|
36 |
+
public function get_custom_help_url() {
|
37 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/team-member/';
|
38 |
+
}
|
39 |
+
|
40 |
/**
|
41 |
* Get widget icon.
|
42 |
*
|
widgets/news-ticker/widget.php
CHANGED
@@ -31,6 +31,10 @@ class News_Ticker extends Base {
|
|
31 |
return __( 'News Ticker', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Get widget icon.
|
36 |
*
|
31 |
return __( 'News Ticker', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
+
public function get_custom_help_url() {
|
35 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/news-ticker/';
|
36 |
+
}
|
37 |
+
|
38 |
/**
|
39 |
* Get widget icon.
|
40 |
*
|
widgets/ninjaform/widget.php
CHANGED
@@ -28,6 +28,10 @@ class NinjaForm extends Base {
|
|
28 |
return __( 'Ninja Forms', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Get widget icon.
|
33 |
*
|
28 |
return __( 'Ninja Forms', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
+
public function get_custom_help_url() {
|
32 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/ninja-forms/';
|
33 |
+
}
|
34 |
+
|
35 |
/**
|
36 |
* Get widget icon.
|
37 |
*
|
widgets/number/widget.php
CHANGED
@@ -34,6 +34,10 @@ class Number extends Base {
|
|
34 |
return __( 'Number', 'happy-elementor-addons' );
|
35 |
}
|
36 |
|
|
|
|
|
|
|
|
|
37 |
/**
|
38 |
* Get widget icon.
|
39 |
*
|
34 |
return __( 'Number', 'happy-elementor-addons' );
|
35 |
}
|
36 |
|
37 |
+
public function get_custom_help_url() {
|
38 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/number/';
|
39 |
+
}
|
40 |
+
|
41 |
/**
|
42 |
* Get widget icon.
|
43 |
*
|
widgets/pricing-table/widget.php
CHANGED
@@ -30,6 +30,10 @@ class Pricing_Table extends Base {
|
|
30 |
return __( 'Pricing Table', 'happy-elementor-addons' );
|
31 |
}
|
32 |
|
|
|
|
|
|
|
|
|
33 |
/**
|
34 |
* Get widget icon.
|
35 |
*
|
30 |
return __( 'Pricing Table', 'happy-elementor-addons' );
|
31 |
}
|
32 |
|
33 |
+
public function get_custom_help_url() {
|
34 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/pricing-table/';
|
35 |
+
}
|
36 |
+
|
37 |
/**
|
38 |
* Get widget icon.
|
39 |
*
|
widgets/review/widget.php
CHANGED
@@ -32,7 +32,11 @@ class Review extends Base {
|
|
32 |
return __( 'Review', 'happy-elementor-addons' );
|
33 |
}
|
34 |
|
35 |
-
|
|
|
|
|
|
|
|
|
36 |
* Get widget icon.
|
37 |
*
|
38 |
* @since 1.0.0
|
32 |
return __( 'Review', 'happy-elementor-addons' );
|
33 |
}
|
34 |
|
35 |
+
public function get_custom_help_url() {
|
36 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/review/';
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
* Get widget icon.
|
41 |
*
|
42 |
* @since 1.0.0
|
widgets/skills/widget.php
CHANGED
@@ -29,6 +29,10 @@ class Skills extends Base {
|
|
29 |
return __( 'Skill Bars', 'happy-elementor-addons' );
|
30 |
}
|
31 |
|
|
|
|
|
|
|
|
|
32 |
/**
|
33 |
* Get widget icon.
|
34 |
*
|
29 |
return __( 'Skill Bars', 'happy-elementor-addons' );
|
30 |
}
|
31 |
|
32 |
+
public function get_custom_help_url() {
|
33 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/skill-bars/';
|
34 |
+
}
|
35 |
+
|
36 |
/**
|
37 |
* Get widget icon.
|
38 |
*
|
widgets/slider/widget.php
CHANGED
@@ -31,6 +31,10 @@ class Slider extends Base {
|
|
31 |
return __( 'Slider', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Get widget icon.
|
36 |
*
|
31 |
return __( 'Slider', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
+
public function get_custom_help_url() {
|
35 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/slider/';
|
36 |
+
}
|
37 |
+
|
38 |
/**
|
39 |
* Get widget icon.
|
40 |
*
|
widgets/step-flow/widget.php
CHANGED
@@ -28,6 +28,10 @@ class Step_Flow extends Base {
|
|
28 |
return __( 'Step Flow', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Get widget icon.
|
33 |
*
|
@@ -682,7 +686,7 @@ class Step_Flow extends Base {
|
|
682 |
if ( ! empty( $settings['link']['url'] ) ) {
|
683 |
$title = sprintf(
|
684 |
'<a %1$s>%2$s</a>',
|
685 |
-
$this->
|
686 |
ha_kses_basic( $settings['title'] )
|
687 |
);
|
688 |
} else {
|
28 |
return __( 'Step Flow', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
+
public function get_custom_help_url() {
|
32 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/step-flow/';
|
33 |
+
}
|
34 |
+
|
35 |
/**
|
36 |
* Get widget icon.
|
37 |
*
|
686 |
if ( ! empty( $settings['link']['url'] ) ) {
|
687 |
$title = sprintf(
|
688 |
'<a %1$s>%2$s</a>',
|
689 |
+
$this->get_render_attribute_string( 'link' ),
|
690 |
ha_kses_basic( $settings['title'] )
|
691 |
);
|
692 |
} else {
|
widgets/testimonial/widget.php
CHANGED
@@ -31,6 +31,10 @@ class Testimonial extends Base {
|
|
31 |
return __( 'Testimonial', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Get widget icon.
|
36 |
*
|
31 |
return __( 'Testimonial', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
+
public function get_custom_help_url() {
|
35 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/testimonial/';
|
36 |
+
}
|
37 |
+
|
38 |
/**
|
39 |
* Get widget icon.
|
40 |
*
|
widgets/weform/widget.php
CHANGED
@@ -29,7 +29,11 @@ class WeForm extends Base {
|
|
29 |
return __( 'weForms', 'happy-elementor-addons' );
|
30 |
}
|
31 |
|
32 |
-
|
|
|
|
|
|
|
|
|
33 |
* Get widget icon.
|
34 |
*
|
35 |
* @since 1.0.0
|
29 |
return __( 'weForms', 'happy-elementor-addons' );
|
30 |
}
|
31 |
|
32 |
+
public function get_custom_help_url() {
|
33 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/weforms/';
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
* Get widget icon.
|
38 |
*
|
39 |
* @since 1.0.0
|
widgets/wpform/widget.php
CHANGED
@@ -28,6 +28,10 @@ class WPForm extends Base {
|
|
28 |
return __( 'WPForms', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Get widget icon.
|
33 |
*
|
28 |
return __( 'WPForms', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
+
public function get_custom_help_url() {
|
32 |
+
return 'https://happyaddons.com/docs/happy-addons-for-elementor/widgets/wp-forms/';
|
33 |
+
}
|
34 |
+
|
35 |
/**
|
36 |
* Get widget icon.
|
37 |
*
|