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

Version Description

  • 29 November 2020 =

  • Added: Justified Grid lightbox disable option for mobile and tablet

  • Added: Image Grid lightbox disable option for mobile and tablet

  • Added: Justified Grid default filter select option

  • Added: Image Grid default filter select option

  • Added: Added .pot file

  • Tweak: Improved Justified Grid and Image Grid base style

  • Tweak: Improved Image Grid markup - removed extra inner div

  • Tweak: Improved on demand assets loading

  • Fix: Private page on demand assets loading issue

  • Fix: Lightbox and Popup not working with wrapper link issue

Download this release

Release Info

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

Code changes from version 2.15.0 to 2.16.0

assets/css/main.css CHANGED
@@ -6,14 +6,14 @@
6
  .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.3rem 2.3rem;max-width:100%;color:#fff;text-decoration:none;font-size:14px;line-height:1}.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;vertical-align:top;fill:currentColor}.ha-dual-btn-icon>i{font-size:1em}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.ha-dual-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container{-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}}
7
  .ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon svg{display:block;width:1em;height:1em;fill:currentColor}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle;-o-object-fit:cover;object-fit:cover}.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;color:#fff;text-align:center;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon svg{display:block;width:1em;height:1em;fill:currentColor}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative}.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)}
8
  .ha-fun-factor__content .ha-fun-factor__content-number,.ha-fun-factor__content .ha-fun-factor__content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor__content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor__content{padding-right:20px}.ha-fun-factor__divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor__media{display:inline-block;margin-top:10px;margin-bottom:10px}.ha-ff-icon--top .ha-fun-factor__media--image{width:200px}:not(.ha-ff-icon--top) .ha-fun-factor__media--image{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;max-width:200px}.ha-fun-factor__media--image img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-fun-factor__media--icon{font-size:3rem}.ha-fun-factor__media--icon i,.ha-fun-factor__media--icon svg{position:relative;display:block;width:1em;height:1em;fill:currentColor}.ha-fun-factor__media--icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-fun-factor__wrap{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{width:100%!important}.ha-fun-factor__divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor__divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor__divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}
9
- .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}
10
  .ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}
11
  .ha-horizontal-timeline .ha-horizontal-timeline-block{position:relative;padding:30px}.ha-horizontal-timeline .ha-horizontal-timeline-icon-box{position:relative;margin-bottom:35px}.ha-horizontal-timeline .ha-horizontal-timeline-top-inner{position:relative}.ha-horizontal-timeline .ha-horizontal-timeline-icon{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-top:10px;margin-left:10px;width:48px;height:48px;border-radius:50%;background-color:#34485d;color:#fff}.ha-horizontal-timeline .ha-horizontal-timeline-date{color:#a2a2a2;font-size:14px}.ha-horizontal-timeline .ha-horizontal-timeline-tree{position:absolute;top:50%;left:0;z-index:-5;overflow:hidden;width:150%;height:2px;background:#34485d;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-horizontal-timeline .ha-horizontal-timeline-content,.ha-horizontal-timeline .ha-horizontal-timeline-inner{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}.ha-horizontal-timeline .ha-horizontal-timeline-content{position:relative;box-shadow:0 0 20px 0 rgba(0,0,0,.15)}.ha-horizontal-timeline .ha-horizontal-timeline-content .ha-horizontal-timeline-arrow{position:absolute;bottom:100%;left:25px;box-sizing:content-box;width:15px;height:15px;border-right-color:transparent;border-bottom-color:transparent;box-shadow:0 0 20px 0 rgba(0,0,0,.15);-webkit-transition:inherit;transition:inherit;-webkit-transform:translateY(50%) rotate(45deg);-ms-transform:translateY(50%) rotate(45deg);transform:translateY(50%) rotate(45deg)}.ha-horizontal-timeline .ha-horizontal-timeline-content .ha-horizontal-timeline-arrow::before{display:block;width:100%;height:100%;background-color:#fff;content:"";-webkit-transition:inherit;transition:inherit}.ha-horizontal-timeline .ha-horizontal-timeline-inner{z-index:1;padding:20px;background-color:#fff}.ha-horizontal-timeline .ha-horizontal-timeline-image{margin-bottom:10px}.ha-horizontal-timeline .ha-horizontal-timeline-image img{-o-object-fit:cover;object-fit:cover}.ha-horizontal-timeline .ha-horizontal-timeline-title{margin-top:0;margin-bottom:10px;color:#3c3c3c;font-size:22px}.ha-horizontal-timeline .ha-horizontal-timeline-subtitle{display:block;margin-bottom:20px;color:#999}.ha-horizontal-timeline .ha-horizontal-timeline-description{margin:0;color:#3c3c3c;font-size:16px}.ha-horizontal-timeline .slick-next.slick-arrow,.ha-horizontal-timeline .slick-prev.slick-arrow{top:88px;z-index:999;padding:0;width:40px;height:40px;border:1px solid #ddd;border-radius:50%;background-color:#ddd;color:#8c8c8c;text-align:center;font-size:12px;line-height:40px;opacity:1}.ha-horizontal-timeline .slick-next.slick-arrow:focus,.ha-horizontal-timeline .slick-next.slick-arrow:hover,.ha-horizontal-timeline .slick-prev.slick-arrow:focus,.ha-horizontal-timeline .slick-prev.slick-arrow:hover{background-color:#fff;color:#8c8c8c}.ha-horizontal-timeline .slick-next.slick-arrow:before,.ha-horizontal-timeline .slick-prev.slick-arrow:before{content:""}.ha-horizontal-timeline .slick-prev.slick-arrow{left:-25px}.ha-horizontal-timeline .slick-next.slick-arrow{right:-25px}.ha-horizontal-timeline .slick-disabled{opacity:.7}
12
  .ha-icon-box>.elementor-widget-container{position:relative;padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.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:20px;color:#151515;text-align:center;font-size:48px;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon i,.ha-icon-box-icon svg{position:relative;display:block;width:1em;height:1em;fill:currentColor}.ha-icon-box-icon i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}
13
  .ha-image-compare>.elementor-widget-container{border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper{border-radius:inherit}
14
- .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;-o-object-fit:cover;object-fit:cover}.ha-image-grid--layout-even .ha-image-grid-inner{height:250px}.ha-image-grid--layout-even .ha-image-grid-inner img{height:100%}
15
  .ha-infobox{--ha-infobox-media-offset-x:0;--ha-infobox-media-offset-y:0;--ha-infobox-media-rotate:0}.ha-infobox>.elementor-widget-container{padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-infobox-title{margin-top:0;margin-bottom:10px;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 25px!important;-webkit-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y));-ms-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y));transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y))}.ha-infobox-figure--icon{text-align:center;font-size:48px;line-height:1;-webkit-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate));-ms-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate));transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate))}.ha-infobox-figure i,.ha-infobox-figure svg{position:relative;display:block;width:1em;height:1em;-webkit-transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));-ms-transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));fill:currentColor}.ha-infobox-figure i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-infobox-figure img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-infobox-body{margin-top:var(--ha-infobox-media-offset-y)}.ha-infobox-text p{margin-top:0;margin-bottom:0}.ha-infobox-text+.ha-btn--link{margin-top:25px}
16
- .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;-o-object-fit:cover;object-fit:cover}@-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)}}
17
  .ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-logo-grid-item{float:left;overflow:hidden;height:180px;border-color:#e7e7e7}.ha-logo-grid-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;padding:30px;width:100%;height:100%}.ha-logo-grid-img{max-height:100%;-o-object-fit:cover;object-fit:cover}@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)}}
18
  .ha-member>.elementor-widget-container{padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-member-figure{display:inline-block;margin:0 0 25px!important}.ha-member-figure img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-member-name{margin-top:0;margin-bottom:10px;color:#151515;font-size:18px}.ha-member-position{margin-bottom:25px;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:25px;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:10px}.ha-member .ha-btn{margin-bottom:15px}.ha-member-body .ha-btn:last-child{margin-top:15px;margin-bottom:0}
19
  .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{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;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{color:#242424}.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover{color:#e04c8a}
6
  .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.3rem 2.3rem;max-width:100%;color:#fff;text-decoration:none;font-size:14px;line-height:1}.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;vertical-align:top;fill:currentColor}.ha-dual-btn-icon>i{font-size:1em}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.ha-dual-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container{-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}}
7
  .ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon svg{display:block;width:1em;height:1em;fill:currentColor}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle;-o-object-fit:cover;object-fit:cover}.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;color:#fff;text-align:center;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon svg{display:block;width:1em;height:1em;fill:currentColor}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative}.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)}
8
  .ha-fun-factor__content .ha-fun-factor__content-number,.ha-fun-factor__content .ha-fun-factor__content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor__content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor__content{padding-right:20px}.ha-fun-factor__divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor__media{display:inline-block;margin-top:10px;margin-bottom:10px}.ha-ff-icon--top .ha-fun-factor__media--image{width:200px}:not(.ha-ff-icon--top) .ha-fun-factor__media--image{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;max-width:200px}.ha-fun-factor__media--image img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-fun-factor__media--icon{font-size:3rem}.ha-fun-factor__media--icon i,.ha-fun-factor__media--icon svg{position:relative;display:block;width:1em;height:1em;fill:currentColor}.ha-fun-factor__media--icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-fun-factor__wrap{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{width:100%!important}.ha-fun-factor__divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor__divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor__divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}
9
+ .ha-filter{margin-bottom:20px}.ha-filter__item{display:inline-block;overflow:hidden;margin-bottom:10px;padding:8px 20px;max-width:100%;border:2px solid #885cff;border-radius:3px;background-color:transparent;color:#885cff;text-transform:uppercase;text-overflow:ellipsis;font-size:14px;line-height:1.2;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ha-filter__item:focus,.ha-filter__item:hover{outline:0;background-color:#885cff;color:#fff}.ha-filter__item--active,.ha-filter__item:active{background-color:#885cff;color:#fff}.ha-filter__item:not(:last-child){margin-right:10px}
10
  .ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}
11
  .ha-horizontal-timeline .ha-horizontal-timeline-block{position:relative;padding:30px}.ha-horizontal-timeline .ha-horizontal-timeline-icon-box{position:relative;margin-bottom:35px}.ha-horizontal-timeline .ha-horizontal-timeline-top-inner{position:relative}.ha-horizontal-timeline .ha-horizontal-timeline-icon{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-top:10px;margin-left:10px;width:48px;height:48px;border-radius:50%;background-color:#34485d;color:#fff}.ha-horizontal-timeline .ha-horizontal-timeline-date{color:#a2a2a2;font-size:14px}.ha-horizontal-timeline .ha-horizontal-timeline-tree{position:absolute;top:50%;left:0;z-index:-5;overflow:hidden;width:150%;height:2px;background:#34485d;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-horizontal-timeline .ha-horizontal-timeline-content,.ha-horizontal-timeline .ha-horizontal-timeline-inner{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}.ha-horizontal-timeline .ha-horizontal-timeline-content{position:relative;box-shadow:0 0 20px 0 rgba(0,0,0,.15)}.ha-horizontal-timeline .ha-horizontal-timeline-content .ha-horizontal-timeline-arrow{position:absolute;bottom:100%;left:25px;box-sizing:content-box;width:15px;height:15px;border-right-color:transparent;border-bottom-color:transparent;box-shadow:0 0 20px 0 rgba(0,0,0,.15);-webkit-transition:inherit;transition:inherit;-webkit-transform:translateY(50%) rotate(45deg);-ms-transform:translateY(50%) rotate(45deg);transform:translateY(50%) rotate(45deg)}.ha-horizontal-timeline .ha-horizontal-timeline-content .ha-horizontal-timeline-arrow::before{display:block;width:100%;height:100%;background-color:#fff;content:"";-webkit-transition:inherit;transition:inherit}.ha-horizontal-timeline .ha-horizontal-timeline-inner{z-index:1;padding:20px;background-color:#fff}.ha-horizontal-timeline .ha-horizontal-timeline-image{margin-bottom:10px}.ha-horizontal-timeline .ha-horizontal-timeline-image img{-o-object-fit:cover;object-fit:cover}.ha-horizontal-timeline .ha-horizontal-timeline-title{margin-top:0;margin-bottom:10px;color:#3c3c3c;font-size:22px}.ha-horizontal-timeline .ha-horizontal-timeline-subtitle{display:block;margin-bottom:20px;color:#999}.ha-horizontal-timeline .ha-horizontal-timeline-description{margin:0;color:#3c3c3c;font-size:16px}.ha-horizontal-timeline .slick-next.slick-arrow,.ha-horizontal-timeline .slick-prev.slick-arrow{top:88px;z-index:999;padding:0;width:40px;height:40px;border:1px solid #ddd;border-radius:50%;background-color:#ddd;color:#8c8c8c;text-align:center;font-size:12px;line-height:40px;opacity:1}.ha-horizontal-timeline .slick-next.slick-arrow:focus,.ha-horizontal-timeline .slick-next.slick-arrow:hover,.ha-horizontal-timeline .slick-prev.slick-arrow:focus,.ha-horizontal-timeline .slick-prev.slick-arrow:hover{background-color:#fff;color:#8c8c8c}.ha-horizontal-timeline .slick-next.slick-arrow:before,.ha-horizontal-timeline .slick-prev.slick-arrow:before{content:""}.ha-horizontal-timeline .slick-prev.slick-arrow{left:-25px}.ha-horizontal-timeline .slick-next.slick-arrow{right:-25px}.ha-horizontal-timeline .slick-disabled{opacity:.7}
12
  .ha-icon-box>.elementor-widget-container{position:relative;padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.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:20px;color:#151515;text-align:center;font-size:48px;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon i,.ha-icon-box-icon svg{position:relative;display:block;width:1em;height:1em;fill:currentColor}.ha-icon-box-icon i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}
13
  .ha-image-compare>.elementor-widget-container{border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper{border-radius:inherit}
14
+ .ha-image-grid__wrap{overflow:hidden;margin-right:calc(-1*var(--image-grid-right,10px));margin-left:calc(-1*var(--image-grid-left,10px))}.ha-image-grid__item{display:block;float:left;overflow:hidden;width:calc(100%/var(--image-grid-column,4));outline:none;border:10px solid transparent;text-decoration:none}.ha-image-grid__item img{display:block;width:100%;border-radius:inherit;-webkit-transition:all .25s;transition:all .25s;-o-object-fit:cover;object-fit:cover}.ha-image-grid--even .ha-image-grid__item{height:250px}.ha-image-grid--even .ha-image-grid__item img{height:100%}
15
  .ha-infobox{--ha-infobox-media-offset-x:0;--ha-infobox-media-offset-y:0;--ha-infobox-media-rotate:0}.ha-infobox>.elementor-widget-container{padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-infobox-title{margin-top:0;margin-bottom:10px;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 25px!important;-webkit-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y));-ms-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y));transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y))}.ha-infobox-figure--icon{text-align:center;font-size:48px;line-height:1;-webkit-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate));-ms-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate));transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate))}.ha-infobox-figure i,.ha-infobox-figure svg{position:relative;display:block;width:1em;height:1em;-webkit-transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));-ms-transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));fill:currentColor}.ha-infobox-figure i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-infobox-figure img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-infobox-body{margin-top:var(--ha-infobox-media-offset-y)}.ha-infobox-text p{margin-top:0;margin-bottom:0}.ha-infobox-text+.ha-btn--link{margin-top:25px}
16
+ .ha-justified-gallery .ha-justified-grid__wrap{margin-right:calc(-1*var(--justified-grid-pull,0));margin-left:calc(-1*var(--justified-grid-pull,0));width:auto}.ha-justified-gallery .ha-justified-grid__item{border-radius:3px}.ha-justified-gallery .ha-justified-grid__item img{border-radius:inherit}.ha-justified-gallery .justified-gallery>.ha-justified-grid__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-grid__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;-o-object-fit:cover;object-fit:cover}@-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)}}
17
  .ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-logo-grid-item{float:left;overflow:hidden;height:180px;border-color:#e7e7e7}.ha-logo-grid-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;padding:30px;width:100%;height:100%}.ha-logo-grid-img{max-height:100%;-o-object-fit:cover;object-fit:cover}@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)}}
18
  .ha-member>.elementor-widget-container{padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-member-figure{display:inline-block;margin:0 0 25px!important}.ha-member-figure img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-member-name{margin-top:0;margin-bottom:10px;color:#151515;font-size:18px}.ha-member-position{margin-bottom:25px;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:25px;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:10px}.ha-member .ha-btn{margin-bottom:15px}.ha-member-body .ha-btn:last-child{margin-top:15px;margin-bottom:0}
19
  .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{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;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{color:#242424}.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover{color:#e04c8a}
assets/css/main.min.css CHANGED
@@ -6,14 +6,14 @@
6
  .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.3rem 2.3rem;max-width:100%;color:#fff;text-decoration:none;font-size:14px;line-height:1}.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;vertical-align:top;fill:currentColor}.ha-dual-btn-icon>i{font-size:1em}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.ha-dual-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container{-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}}
7
  .ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon svg{display:block;width:1em;height:1em;fill:currentColor}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle;-o-object-fit:cover;object-fit:cover}.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;color:#fff;text-align:center;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon svg{display:block;width:1em;height:1em;fill:currentColor}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative}.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)}
8
  .ha-fun-factor__content .ha-fun-factor__content-number,.ha-fun-factor__content .ha-fun-factor__content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor__content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor__content{padding-right:20px}.ha-fun-factor__divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor__media{display:inline-block;margin-top:10px;margin-bottom:10px}.ha-ff-icon--top .ha-fun-factor__media--image{width:200px}:not(.ha-ff-icon--top) .ha-fun-factor__media--image{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;max-width:200px}.ha-fun-factor__media--image img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-fun-factor__media--icon{font-size:3rem}.ha-fun-factor__media--icon i,.ha-fun-factor__media--icon svg{position:relative;display:block;width:1em;height:1em;fill:currentColor}.ha-fun-factor__media--icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-fun-factor__wrap{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{width:100%!important}.ha-fun-factor__divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor__divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor__divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}
9
- .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}
10
  .ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}
11
  .ha-horizontal-timeline .ha-horizontal-timeline-block{position:relative;padding:30px}.ha-horizontal-timeline .ha-horizontal-timeline-icon-box{position:relative;margin-bottom:35px}.ha-horizontal-timeline .ha-horizontal-timeline-top-inner{position:relative}.ha-horizontal-timeline .ha-horizontal-timeline-icon{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-top:10px;margin-left:10px;width:48px;height:48px;border-radius:50%;background-color:#34485d;color:#fff}.ha-horizontal-timeline .ha-horizontal-timeline-date{color:#a2a2a2;font-size:14px}.ha-horizontal-timeline .ha-horizontal-timeline-tree{position:absolute;top:50%;left:0;z-index:-5;overflow:hidden;width:150%;height:2px;background:#34485d;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-horizontal-timeline .ha-horizontal-timeline-content,.ha-horizontal-timeline .ha-horizontal-timeline-inner{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}.ha-horizontal-timeline .ha-horizontal-timeline-content{position:relative;box-shadow:0 0 20px 0 rgba(0,0,0,.15)}.ha-horizontal-timeline .ha-horizontal-timeline-content .ha-horizontal-timeline-arrow{position:absolute;bottom:100%;left:25px;box-sizing:content-box;width:15px;height:15px;border-right-color:transparent;border-bottom-color:transparent;box-shadow:0 0 20px 0 rgba(0,0,0,.15);-webkit-transition:inherit;transition:inherit;-webkit-transform:translateY(50%) rotate(45deg);-ms-transform:translateY(50%) rotate(45deg);transform:translateY(50%) rotate(45deg)}.ha-horizontal-timeline .ha-horizontal-timeline-content .ha-horizontal-timeline-arrow::before{display:block;width:100%;height:100%;background-color:#fff;content:"";-webkit-transition:inherit;transition:inherit}.ha-horizontal-timeline .ha-horizontal-timeline-inner{z-index:1;padding:20px;background-color:#fff}.ha-horizontal-timeline .ha-horizontal-timeline-image{margin-bottom:10px}.ha-horizontal-timeline .ha-horizontal-timeline-image img{-o-object-fit:cover;object-fit:cover}.ha-horizontal-timeline .ha-horizontal-timeline-title{margin-top:0;margin-bottom:10px;color:#3c3c3c;font-size:22px}.ha-horizontal-timeline .ha-horizontal-timeline-subtitle{display:block;margin-bottom:20px;color:#999}.ha-horizontal-timeline .ha-horizontal-timeline-description{margin:0;color:#3c3c3c;font-size:16px}.ha-horizontal-timeline .slick-next.slick-arrow,.ha-horizontal-timeline .slick-prev.slick-arrow{top:88px;z-index:999;padding:0;width:40px;height:40px;border:1px solid #ddd;border-radius:50%;background-color:#ddd;color:#8c8c8c;text-align:center;font-size:12px;line-height:40px;opacity:1}.ha-horizontal-timeline .slick-next.slick-arrow:focus,.ha-horizontal-timeline .slick-next.slick-arrow:hover,.ha-horizontal-timeline .slick-prev.slick-arrow:focus,.ha-horizontal-timeline .slick-prev.slick-arrow:hover{background-color:#fff;color:#8c8c8c}.ha-horizontal-timeline .slick-next.slick-arrow:before,.ha-horizontal-timeline .slick-prev.slick-arrow:before{content:""}.ha-horizontal-timeline .slick-prev.slick-arrow{left:-25px}.ha-horizontal-timeline .slick-next.slick-arrow{right:-25px}.ha-horizontal-timeline .slick-disabled{opacity:.7}
12
  .ha-icon-box>.elementor-widget-container{position:relative;padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.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:20px;color:#151515;text-align:center;font-size:48px;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon i,.ha-icon-box-icon svg{position:relative;display:block;width:1em;height:1em;fill:currentColor}.ha-icon-box-icon i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}
13
  .ha-image-compare>.elementor-widget-container{border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper{border-radius:inherit}
14
- .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;-o-object-fit:cover;object-fit:cover}.ha-image-grid--layout-even .ha-image-grid-inner{height:250px}.ha-image-grid--layout-even .ha-image-grid-inner img{height:100%}
15
  .ha-infobox{--ha-infobox-media-offset-x:0;--ha-infobox-media-offset-y:0;--ha-infobox-media-rotate:0}.ha-infobox>.elementor-widget-container{padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-infobox-title{margin-top:0;margin-bottom:10px;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 25px!important;-webkit-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y));-ms-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y));transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y))}.ha-infobox-figure--icon{text-align:center;font-size:48px;line-height:1;-webkit-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate));-ms-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate));transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate))}.ha-infobox-figure i,.ha-infobox-figure svg{position:relative;display:block;width:1em;height:1em;-webkit-transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));-ms-transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));fill:currentColor}.ha-infobox-figure i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-infobox-figure img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-infobox-body{margin-top:var(--ha-infobox-media-offset-y)}.ha-infobox-text p{margin-top:0;margin-bottom:0}.ha-infobox-text+.ha-btn--link{margin-top:25px}
16
- .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;-o-object-fit:cover;object-fit:cover}@-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)}}
17
  .ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-logo-grid-item{float:left;overflow:hidden;height:180px;border-color:#e7e7e7}.ha-logo-grid-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;padding:30px;width:100%;height:100%}.ha-logo-grid-img{max-height:100%;-o-object-fit:cover;object-fit:cover}@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)}}
18
  .ha-member>.elementor-widget-container{padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-member-figure{display:inline-block;margin:0 0 25px!important}.ha-member-figure img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-member-name{margin-top:0;margin-bottom:10px;color:#151515;font-size:18px}.ha-member-position{margin-bottom:25px;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:25px;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:10px}.ha-member .ha-btn{margin-bottom:15px}.ha-member-body .ha-btn:last-child{margin-top:15px;margin-bottom:0}
19
  .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{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;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{color:#242424}.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover{color:#e04c8a}
6
  .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.3rem 2.3rem;max-width:100%;color:#fff;text-decoration:none;font-size:14px;line-height:1}.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;vertical-align:top;fill:currentColor}.ha-dual-btn-icon>i{font-size:1em}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}.ha-dual-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-button--mobile-layout-stack>.elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ha-dual-button--mobile-layout-stack .ha-dual-btn-wrapper{max-width:100%}.ha-dual-button--mobile-layout-stack .ha-dual-btn-connector{top:100%;right:50%}.ha-dual-button--mobile-layout-stack .ha-dual-btn--left{border-radius:30px 30px 0 0}.ha-dual-button--mobile-layout-stack .ha-dual-btn--right{border-radius:0 0 30px 30px}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-left>.elementor-widget-container{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-align:start}.ha-dual-button--mobile-layout-stack.ha-dual-button--mobile-align-center>.elementor-widget-container{-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}}
7
  .ha-flip-box-container:after{display:block;visibility:hidden;clear:both;height:0;content:" ";font-size:0}.ha-flip-box-container .ha-flip-box-inner{position:relative;z-index:1;margin:0;padding:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-back{z-index:1}.ha-flip-box-container .ha-flip-box-inner:hover .ha-flip-box-front{z-index:-1}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper{position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{top:0;right:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;height:250px;background-position:center;background-clip:padding-box;background-size:cover;background-repeat:no-repeat;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front{background-color:transparent;position:relative;bottom:0;z-index:10;padding:30px;border:1px solid #ddd;border-radius:.3rem}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front:before{position:absolute;top:0;left:0;z-index:-9;width:100%;height:100%;background-color:transparent;content:""}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back{position:absolute;z-index:-1;padding:46px;border-radius:.3rem;background-color:#562dd4;color:#fff}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text{text-align:center}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-text p,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-text p{margin-top:10px;margin-bottom:0}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon.icon{padding:20px;border-radius:50%;background-color:#f1f4f8;color:#242424}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon{display:inline-block;margin-bottom:20px;text-align:center;font-size:28px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon svg{display:block;width:1em;height:1em;fill:currentColor}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i{position:relative}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i:before,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon img,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front-inner .ha-flip-icon img{width:60px;height:60px;vertical-align:middle;-o-object-fit:cover;object-fit:cover}.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;color:#fff;text-align:center;font-size:20px}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i,.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon svg{display:block;width:1em;height:1em;fill:currentColor}.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back-inner .ha-flip-icon i{position:relative}.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)}
8
  .ha-fun-factor__content .ha-fun-factor__content-number,.ha-fun-factor__content .ha-fun-factor__content-text{margin-top:0;margin-bottom:15px;font-size:24px}.ha-ff-icon--left .ha-fun-factor__content{padding-left:20px}.ha-ff-icon--right .ha-fun-factor__content{padding-right:20px}.ha-fun-factor__divider{display:block;margin-bottom:15px;height:1px;background-color:#ccc}.ha-ff-icon--top .ha-fun-factor__media{display:inline-block;margin-top:10px;margin-bottom:10px}.ha-ff-icon--top .ha-fun-factor__media--image{width:200px}:not(.ha-ff-icon--top) .ha-fun-factor__media--image{-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;max-width:200px}.ha-fun-factor__media--image img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-fun-factor__media--icon{font-size:3rem}.ha-fun-factor__media--icon i,.ha-fun-factor__media--icon svg{position:relative;display:block;width:1em;height:1em;fill:currentColor}.ha-fun-factor__media--icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-fun-factor__wrap{padding:10px;word-wrap:break-word;overflow-wrap:break-word}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto}.ha-ff-icon--top>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{display:block;margin-right:auto;margin-left:auto;width:100px}.ha-ff-icon--left>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider,.ha-ff-icon--right>.elementor-widget-container .ha-fun-factor__wrap .ha-fun-factor__divider{width:100%!important}.ha-fun-factor__divider-align-left{margin-left:0!important;text-align:left}.ha-fun-factor__divider-align-right{margin-right:0!important;text-align:right}.ha-fun-factor__divider-align-center{margin-right:auto!important;margin-left:auto!important;text-align:center}
9
+ .ha-filter{margin-bottom:20px}.ha-filter__item{display:inline-block;overflow:hidden;margin-bottom:10px;padding:8px 20px;max-width:100%;border:2px solid #885cff;border-radius:3px;background-color:transparent;color:#885cff;text-transform:uppercase;text-overflow:ellipsis;font-size:14px;line-height:1.2;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ha-filter__item:focus,.ha-filter__item:hover{outline:0;background-color:#885cff;color:#fff}.ha-filter__item--active,.ha-filter__item:active{background-color:#885cff;color:#fff}.ha-filter__item:not(:last-child){margin-right:10px}
10
  .ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}
11
  .ha-horizontal-timeline .ha-horizontal-timeline-block{position:relative;padding:30px}.ha-horizontal-timeline .ha-horizontal-timeline-icon-box{position:relative;margin-bottom:35px}.ha-horizontal-timeline .ha-horizontal-timeline-top-inner{position:relative}.ha-horizontal-timeline .ha-horizontal-timeline-icon{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-top:10px;margin-left:10px;width:48px;height:48px;border-radius:50%;background-color:#34485d;color:#fff}.ha-horizontal-timeline .ha-horizontal-timeline-date{color:#a2a2a2;font-size:14px}.ha-horizontal-timeline .ha-horizontal-timeline-tree{position:absolute;top:50%;left:0;z-index:-5;overflow:hidden;width:150%;height:2px;background:#34485d;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-horizontal-timeline .ha-horizontal-timeline-content,.ha-horizontal-timeline .ha-horizontal-timeline-inner{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}.ha-horizontal-timeline .ha-horizontal-timeline-content{position:relative;box-shadow:0 0 20px 0 rgba(0,0,0,.15)}.ha-horizontal-timeline .ha-horizontal-timeline-content .ha-horizontal-timeline-arrow{position:absolute;bottom:100%;left:25px;box-sizing:content-box;width:15px;height:15px;border-right-color:transparent;border-bottom-color:transparent;box-shadow:0 0 20px 0 rgba(0,0,0,.15);-webkit-transition:inherit;transition:inherit;-webkit-transform:translateY(50%) rotate(45deg);-ms-transform:translateY(50%) rotate(45deg);transform:translateY(50%) rotate(45deg)}.ha-horizontal-timeline .ha-horizontal-timeline-content .ha-horizontal-timeline-arrow::before{display:block;width:100%;height:100%;background-color:#fff;content:"";-webkit-transition:inherit;transition:inherit}.ha-horizontal-timeline .ha-horizontal-timeline-inner{z-index:1;padding:20px;background-color:#fff}.ha-horizontal-timeline .ha-horizontal-timeline-image{margin-bottom:10px}.ha-horizontal-timeline .ha-horizontal-timeline-image img{-o-object-fit:cover;object-fit:cover}.ha-horizontal-timeline .ha-horizontal-timeline-title{margin-top:0;margin-bottom:10px;color:#3c3c3c;font-size:22px}.ha-horizontal-timeline .ha-horizontal-timeline-subtitle{display:block;margin-bottom:20px;color:#999}.ha-horizontal-timeline .ha-horizontal-timeline-description{margin:0;color:#3c3c3c;font-size:16px}.ha-horizontal-timeline .slick-next.slick-arrow,.ha-horizontal-timeline .slick-prev.slick-arrow{top:88px;z-index:999;padding:0;width:40px;height:40px;border:1px solid #ddd;border-radius:50%;background-color:#ddd;color:#8c8c8c;text-align:center;font-size:12px;line-height:40px;opacity:1}.ha-horizontal-timeline .slick-next.slick-arrow:focus,.ha-horizontal-timeline .slick-next.slick-arrow:hover,.ha-horizontal-timeline .slick-prev.slick-arrow:focus,.ha-horizontal-timeline .slick-prev.slick-arrow:hover{background-color:#fff;color:#8c8c8c}.ha-horizontal-timeline .slick-next.slick-arrow:before,.ha-horizontal-timeline .slick-prev.slick-arrow:before{content:""}.ha-horizontal-timeline .slick-prev.slick-arrow{left:-25px}.ha-horizontal-timeline .slick-next.slick-arrow{right:-25px}.ha-horizontal-timeline .slick-disabled{opacity:.7}
12
  .ha-icon-box>.elementor-widget-container{position:relative;padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.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:20px;color:#151515;text-align:center;font-size:48px;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon i,.ha-icon-box-icon svg{position:relative;display:block;width:1em;height:1em;fill:currentColor}.ha-icon-box-icon i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}
13
  .ha-image-compare>.elementor-widget-container{border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper{border-radius:inherit}
14
+ .ha-image-grid__wrap{overflow:hidden;margin-right:calc(-1*var(--image-grid-right,10px));margin-left:calc(-1*var(--image-grid-left,10px))}.ha-image-grid__item{display:block;float:left;overflow:hidden;width:calc(100%/var(--image-grid-column,4));outline:none;border:10px solid transparent;text-decoration:none}.ha-image-grid__item img{display:block;width:100%;border-radius:inherit;-webkit-transition:all .25s;transition:all .25s;-o-object-fit:cover;object-fit:cover}.ha-image-grid--even .ha-image-grid__item{height:250px}.ha-image-grid--even .ha-image-grid__item img{height:100%}
15
  .ha-infobox{--ha-infobox-media-offset-x:0;--ha-infobox-media-offset-y:0;--ha-infobox-media-rotate:0}.ha-infobox>.elementor-widget-container{padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-infobox-title{margin-top:0;margin-bottom:10px;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 25px!important;-webkit-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y));-ms-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y));transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y))}.ha-infobox-figure--icon{text-align:center;font-size:48px;line-height:1;-webkit-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate));-ms-transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate));transform:translate(var(--ha-infobox-media-offset-x),var(--ha-infobox-media-offset-y)) rotate(var(--ha-infobox-media-rotate))}.ha-infobox-figure i,.ha-infobox-figure svg{position:relative;display:block;width:1em;height:1em;-webkit-transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));-ms-transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));transform:rotate(calc(-1*var(--ha-infobox-media-rotate)));fill:currentColor}.ha-infobox-figure i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-infobox-figure img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-infobox-body{margin-top:var(--ha-infobox-media-offset-y)}.ha-infobox-text p{margin-top:0;margin-bottom:0}.ha-infobox-text+.ha-btn--link{margin-top:25px}
16
+ .ha-justified-gallery .ha-justified-grid__wrap{margin-right:calc(-1*var(--justified-grid-pull,0));margin-left:calc(-1*var(--justified-grid-pull,0));width:auto}.ha-justified-gallery .ha-justified-grid__item{border-radius:3px}.ha-justified-gallery .ha-justified-grid__item img{border-radius:inherit}.ha-justified-gallery .justified-gallery>.ha-justified-grid__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-grid__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;-o-object-fit:cover;object-fit:cover}@-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)}}
17
  .ha-logo-grid-wrapper:after{display:block;clear:both;content:""}.ha-logo-grid-item{float:left;overflow:hidden;height:180px;border-color:#e7e7e7}.ha-logo-grid-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;padding:30px;width:100%;height:100%}.ha-logo-grid-img{max-height:100%;-o-object-fit:cover;object-fit:cover}@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)}}
18
  .ha-member>.elementor-widget-container{padding:25px;border-radius:5px;background-color:#fff;box-shadow:0 3px 40px rgba(36,36,36,.1)}.ha-member-figure{display:inline-block;margin:0 0 25px!important}.ha-member-figure img{width:100%;height:100%;vertical-align:bottom;-o-object-fit:cover;object-fit:cover}.ha-member-name{margin-top:0;margin-bottom:10px;color:#151515;font-size:18px}.ha-member-position{margin-bottom:25px;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:25px;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:10px}.ha-member .ha-btn{margin-bottom:15px}.ha-member-body .ha-btn:last-child{margin-top:15px;margin-bottom:0}
19
  .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{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;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{color:#242424}.ha-news-ticker-wrapper li.ha-news-ticker-item a:hover{color:#e04c8a}
assets/css/widgets/gallery-filter.min.css CHANGED
@@ -1 +1 @@
1
- .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}
1
+ .ha-filter{margin-bottom:20px}.ha-filter__item{display:inline-block;overflow:hidden;margin-bottom:10px;padding:8px 20px;max-width:100%;border:2px solid #885cff;border-radius:3px;background-color:transparent;color:#885cff;text-transform:uppercase;text-overflow:ellipsis;font-size:14px;line-height:1.2;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ha-filter__item:focus,.ha-filter__item:hover{outline:0;background-color:#885cff;color:#fff}.ha-filter__item--active,.ha-filter__item:active{background-color:#885cff;color:#fff}.ha-filter__item:not(:last-child){margin-right:10px}
assets/css/widgets/image-grid.min.css CHANGED
@@ -1 +1 @@
1
- .ha-image-grid-item{float:left}.ha-image-grid-inner{position:relative;display:block;overflow:hidden;margin:10px;text-decoration:none}.ha-image-grid-inner img{display:block;width:100%;-webkit-transition:all .25s;transition:all .25s;-o-object-fit:cover;object-fit:cover}.ha-image-grid--layout-even .ha-image-grid-inner{height:250px}.ha-image-grid--layout-even .ha-image-grid-inner img{height:100%}
1
+ .ha-image-grid__wrap{overflow:hidden;margin-right:calc(-1*var(--image-grid-right,10px));margin-left:calc(-1*var(--image-grid-left,10px))}.ha-image-grid__item{display:block;float:left;overflow:hidden;width:calc(100%/var(--image-grid-column,4));outline:none;border:10px solid transparent;text-decoration:none}.ha-image-grid__item img{display:block;width:100%;border-radius:inherit;-webkit-transition:all .25s;transition:all .25s;-o-object-fit:cover;object-fit:cover}.ha-image-grid--even .ha-image-grid__item{height:250px}.ha-image-grid--even .ha-image-grid__item img{height:100%}
assets/css/widgets/justified-gallery.min.css CHANGED
@@ -1 +1 @@
1
- .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;-o-object-fit:cover;object-fit:cover}@-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)}}
1
+ .ha-justified-gallery .ha-justified-grid__wrap{margin-right:calc(-1*var(--justified-grid-pull,0));margin-left:calc(-1*var(--justified-grid-pull,0));width:auto}.ha-justified-gallery .ha-justified-grid__item{border-radius:3px}.ha-justified-gallery .ha-justified-grid__item img{border-radius:inherit}.ha-justified-gallery .justified-gallery>.ha-justified-grid__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-grid__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;-o-object-fit:cover;object-fit:cover}@-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)}}
assets/js/happy-addons.js CHANGED
@@ -22,39 +22,51 @@
22
  };
23
  }
24
 
25
- function initFilterable($scope, filterFn) {
26
- var $filterable = $scope.find('.hajs-gallery-filter');
27
- if ($filterable.length) {
28
- $filterable.on('click', 'button', function(event) {
 
 
29
  event.stopPropagation();
30
 
31
  var $current = $(this);
32
  $current
33
- .parent()
34
- .addClass('ha-filter-active')
35
  .siblings()
36
- .removeClass('ha-filter-active');
37
  filterFn($current.data('filter'));
38
  });
 
 
39
  }
40
  }
41
 
42
- function initPopupGallery($scope, selector, hasPopup, key) {
 
 
 
 
 
 
 
 
 
43
  if ( ! $.fn.magnificPopup ) {
44
  return;
45
  }
46
 
47
- if ( ! hasPopup ) {
48
  $.magnificPopup.close();
49
  return;
50
  }
51
 
52
- $scope.on('click', selector, function(event) {
53
- event.stopPropagation();
54
- });
55
 
56
- $scope.find(selector).magnificPopup({
57
- key: key,
58
  type: 'image',
59
  image: {
60
  titleSrc: function(item) {
@@ -72,6 +84,17 @@
72
  opener: function(openerElement) {
73
  return openerElement.is('img') ? openerElement : openerElement.find('img');
74
  }
 
 
 
 
 
 
 
 
 
 
 
75
  }
76
  });
77
  }
@@ -98,29 +121,6 @@
98
  });
99
  };
100
 
101
- var HandleJustifiedGallery = function($scope) {
102
- var $item = $scope.find('.hajs-justified-gallery'),
103
- settings = $item.getHappySettings(),
104
- hasPopup = settings.enable_popup;
105
-
106
- $item.justifiedGallery($.extend({}, {
107
- rowHeight: 150,
108
- lastRow: 'justify',
109
- margins: 10,
110
- }, settings));
111
-
112
- initPopupGallery($scope, '.ha-js-popup', hasPopup, 'justifiedgallery');
113
-
114
- initFilterable($scope, function(filter) {
115
- $item.justifiedGallery({
116
- lastRow: (filter === '*' ? settings.lastRow : 'nojustify'),
117
- filter: filter
118
- });
119
- var selector = filter !== '*' ? filter : '.ha-js-popup';
120
- initPopupGallery($scope, selector, hasPopup, 'justifiedgallery');
121
- });
122
- };
123
-
124
  $window.on('elementor/frontend/init', function() {
125
  var EF = elementorFrontend,
126
  EM = elementorModules;
@@ -291,7 +291,7 @@
291
  break;
292
  }
293
 
294
-
295
  settings.slidesToShow = this.getElementSettings('slides_to_show') || 1;
296
  settings.responsive = [
297
  {
@@ -344,12 +344,13 @@
344
  });
345
  };
346
 
347
- var Isotope = EM.frontend.handlers.Base.extend({
348
  onInit: function () {
349
  EM.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
350
- this.$container = this.$element.find('.hajs-isotope');
351
  this.run();
352
  this.runFilter();
 
 
353
  },
354
 
355
  getLayoutMode: function() {
@@ -359,21 +360,43 @@
359
 
360
  getDefaultSettings: function() {
361
  return {
362
- itemSelector: '.ha-image-grid-item',
363
  percentPosition: true,
364
- layoutMode: this.getLayoutMode()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365
  };
366
  },
367
 
368
  runFilter: function() {
369
- var self = this;
370
- initFilterable(this.$element, function(filter) {
371
- self.$container.isotope({
 
 
372
  filter: filter
373
  });
374
 
375
- var selector = filter !== '*' ? filter : '.ha-js-popup';
376
- initPopupGallery(self.$element, selector, self.getElementSettings('enable_popup'), 'imagegrid');
 
 
 
377
  });
378
  },
379
 
@@ -386,12 +409,84 @@
386
  run: function() {
387
  var self = this;
388
 
389
- this.$container.isotope(self.getDefaultSettings());
390
- this.$container.imagesLoaded().progress(function() {
391
- self.$container.isotope('layout');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  });
 
 
 
 
 
 
 
393
 
394
- initPopupGallery(this.$element, '.ha-js-popup', this.getElementSettings('enable_popup'), 'imagegrid');
 
 
 
 
 
395
  }
396
  });
397
 
@@ -707,20 +802,31 @@
707
  }
708
  );
709
 
710
- $('[data-ha-element-link]').each(function() {
711
- var link = $(this).data('ha-element-link');
712
- $(this).on('click.haElementOnClick', function() {
713
- if (link.is_external) {
714
- window.open(link.url);
715
- } else {
716
- location.href = link.url;
717
- }
718
- })
 
 
 
 
 
 
 
 
 
 
 
 
719
  });
720
 
721
- var handlersFnMap = {
722
  'ha-image-compare.default': HandleImageCompare,
723
- 'ha-justified-gallery.default': HandleJustifiedGallery,
724
  'ha-number.default': NumberHandler,
725
  'ha-skills.default': SkillHandler,
726
  'ha-fun-factor.default': FunFactor,
@@ -730,20 +836,19 @@
730
  'ha-data-table.default': DataTable
731
  };
732
 
733
- $.each( handlersFnMap, function( widgetName, handlerFn ) {
734
  EF.hooks.addAction( 'frontend/element_ready/' + widgetName, handlerFn );
735
  });
736
 
737
- var handlersClassMap = {
738
- // 'ha-slider.default': Slick,
739
- // 'ha-carousel.default': Slick,
740
- 'ha-image-grid.default': Isotope,
741
  'ha-news-ticker.default': NewsTicker,
742
  'ha-post-tab.default': PostTab,
743
  'widget': ExtensionHandler,
744
  };
745
 
746
- $.each( handlersClassMap, function( widgetName, handlerClass ) {
747
  EF.hooks.addAction( 'frontend/element_ready/' + widgetName, function( $scope ) {
748
  EF.elementsHandler.addHandler( handlerClass, { $element: $scope });
749
  });
22
  };
23
  }
24
 
25
+ function initFilterNav($scope, filterFn) {
26
+ var $filterNav = $scope.find('.hajs-filter'),
27
+ defaultFilter = $filterNav.data('default-filter');
28
+
29
+ if ($filterNav.length) {
30
+ $filterNav.on('click.onFilterNav', 'button', function(event) {
31
  event.stopPropagation();
32
 
33
  var $current = $(this);
34
  $current
35
+ .addClass('ha-filter__item--active')
 
36
  .siblings()
37
+ .removeClass('ha-filter__item--active');
38
  filterFn($current.data('filter'));
39
  });
40
+
41
+ $filterNav.find('[data-filter="'+defaultFilter+'"]').click();
42
  }
43
  }
44
 
45
+ /**
46
+ * Initialize magnific lighbox gallery
47
+ *
48
+ * @param {$element, selector, isEnabled, key} settings
49
+ */
50
+ function initPopupGallery(settings) {
51
+ settings.$element.on('click', settings.selector, function(event) {
52
+ event.preventDefault();
53
+ });
54
+
55
  if ( ! $.fn.magnificPopup ) {
56
  return;
57
  }
58
 
59
+ if ( ! settings.isEnabled ) {
60
  $.magnificPopup.close();
61
  return;
62
  }
63
 
64
+ var windowWidth = $(window).width(),
65
+ mobileWidth = elementorFrontendConfig.breakpoints.md,
66
+ tabletWidth = elementorFrontendConfig.breakpoints.lg;
67
 
68
+ settings.$element.find(settings.selector).magnificPopup({
69
+ key: settings.key,
70
  type: 'image',
71
  image: {
72
  titleSrc: function(item) {
84
  opener: function(openerElement) {
85
  return openerElement.is('img') ? openerElement : openerElement.find('img');
86
  }
87
+ },
88
+ disableOn: function() {
89
+ if (settings.disableOnMobile && windowWidth < mobileWidth) {
90
+ return false;
91
+ }
92
+
93
+ if (settings.disableOnTablet && windowWidth >= mobileWidth && windowWidth < tabletWidth) {
94
+ return false;
95
+ }
96
+
97
+ return true;
98
  }
99
  });
100
  }
121
  });
122
  };
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  $window.on('elementor/frontend/init', function() {
125
  var EF = elementorFrontend,
126
  EM = elementorModules;
291
  break;
292
  }
293
 
294
+
295
  settings.slidesToShow = this.getElementSettings('slides_to_show') || 1;
296
  settings.responsive = [
297
  {
344
  });
345
  };
346
 
347
+ var ImageGrid = EM.frontend.handlers.Base.extend({
348
  onInit: function () {
349
  EM.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
 
350
  this.run();
351
  this.runFilter();
352
+
353
+ $window.on('resize', debounce(this.run.bind(this), 100));
354
  },
355
 
356
  getLayoutMode: function() {
360
 
361
  getDefaultSettings: function() {
362
  return {
363
+ itemSelector: '.ha-image-grid__item',
364
  percentPosition: true,
365
+ layoutMode: this.getLayoutMode(),
366
+ };
367
+ },
368
+
369
+ getDefaultElements: function() {
370
+ return {
371
+ $container: this.findElement('.hajs-isotope')
372
+ };
373
+ },
374
+
375
+ getLightBoxSettings: function() {
376
+ return {
377
+ key : 'imagegrid',
378
+ $element : this.$element,
379
+ selector : '.ha-js-lightbox',
380
+ isEnabled : !!this.getElementSettings('enable_popup'),
381
+ disableOnTablet: !!this.getElementSettings('disable_lightbox_on_tablet'),
382
+ disableOnMobile: !!this.getElementSettings('disable_lightbox_on_mobile')
383
  };
384
  },
385
 
386
  runFilter: function() {
387
+ var self = this,
388
+ lbSettings = this.getLightBoxSettings();
389
+
390
+ initFilterNav(this.$element, function(filter) {
391
+ self.elements.$container.isotope({
392
  filter: filter
393
  });
394
 
395
+ if (filter !== '*') {
396
+ lbSettings.selector = filter;
397
+ }
398
+
399
+ initPopupGallery(lbSettings);
400
  });
401
  },
402
 
409
  run: function() {
410
  var self = this;
411
 
412
+ self.elements
413
+ .$container
414
+ .isotope(self.getDefaultSettings())
415
+ .imagesLoaded().progress(function() {
416
+ self.elements.$container.isotope('layout');
417
+ });
418
+
419
+ initPopupGallery(self.getLightBoxSettings());
420
+ }
421
+ });
422
+
423
+ var JustifiedGrid = EM.frontend.handlers.Base.extend({
424
+ onInit: function () {
425
+ EM.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
426
+ this.run();
427
+ this.runFilter();
428
+
429
+ $window.on('resize', debounce(this.run.bind(this), 100));
430
+ },
431
+
432
+ getDefaultSettings: function() {
433
+ return {
434
+ rowHeight: +this.getElementSettings('row_height.size') || 150,
435
+ lastRow: this.getElementSettings('last_row'),
436
+ margins: +this.getElementSettings('margins.size'),
437
+ captions: !!this.getElementSettings('show_caption')
438
+ };
439
+ },
440
+
441
+ getDefaultElements: function() {
442
+ return {
443
+ $container: this.findElement('.hajs-justified-grid')
444
+ };
445
+ },
446
+
447
+ getLightBoxSettings: function() {
448
+ return {
449
+ key : 'justifiedgallery',
450
+ $element : this.$element,
451
+ selector : '.ha-js-lightbox',
452
+ isEnabled : !!this.getElementSettings('enable_popup'),
453
+ disableOnTablet: !!this.getElementSettings('disable_lightbox_on_tablet'),
454
+ disableOnMobile: !!this.getElementSettings('disable_lightbox_on_mobile')
455
+ };
456
+ },
457
+
458
+ runFilter: function() {
459
+ var self = this,
460
+ lbSettings = this.getLightBoxSettings(),
461
+ settings = {
462
+ lastRow: this.getElementSettings('last_row')
463
+ };
464
+
465
+ initFilterNav(self.$element, function(filter) {
466
+ if (filter !== '*') {
467
+ settings.lastRow = 'nojustify';
468
+ lbSettings.selector = filter
469
+ }
470
+
471
+ settings.filter = filter;
472
+ self.elements.$container.justifiedGallery(settings);
473
+
474
+ initPopupGallery(lbSettings);
475
  });
476
+ },
477
+
478
+ onElementChange: function(changedProp) {
479
+ if (['row_height', 'last_row', 'margins', 'show_caption', 'enable_popup'].indexOf(changedProp) !== -1) {
480
+ this.run();
481
+ }
482
+ },
483
 
484
+ run: function() {
485
+ this.elements
486
+ .$container
487
+ .justifiedGallery(this.getDefaultSettings());
488
+
489
+ initPopupGallery(this.getLightBoxSettings());
490
  }
491
  });
492
 
802
  }
803
  );
804
 
805
+ $('[data-ha-element-link]').on('click.onWrapperLink', function() {
806
+ var link = $(this).data('ha-element-link'),
807
+ id = $(this).data('id'),
808
+ a = document.createElement('a'),
809
+ aDOM;
810
+
811
+ a.id = 'hawl' + id;
812
+ a.href = link.url;
813
+ a.target = link.is_external ? '_blank' : '_self';
814
+ a.rel = link.nofollow ? 'nofollow noreferer' : '';
815
+ a.style.display = 'none';
816
+
817
+ document.body.appendChild(a);
818
+
819
+ aDOM = document.getElementById(a.id);
820
+ aDOM.click();
821
+
822
+ var t = setTimeout(function() {
823
+ document.body.removeChild(aDOM);
824
+ clearTimeout(t);
825
+ });
826
  });
827
 
828
+ var fnHanlders = {
829
  'ha-image-compare.default': HandleImageCompare,
 
830
  'ha-number.default': NumberHandler,
831
  'ha-skills.default': SkillHandler,
832
  'ha-fun-factor.default': FunFactor,
836
  'ha-data-table.default': DataTable
837
  };
838
 
839
+ $.each( fnHanlders, function( widgetName, handlerFn ) {
840
  EF.hooks.addAction( 'frontend/element_ready/' + widgetName, handlerFn );
841
  });
842
 
843
+ var classHandlers = {
844
+ 'ha-image-grid.default': ImageGrid,
845
+ 'ha-justified-gallery.default': JustifiedGrid,
 
846
  'ha-news-ticker.default': NewsTicker,
847
  'ha-post-tab.default': PostTab,
848
  'widget': ExtensionHandler,
849
  };
850
 
851
+ $.each( classHandlers, function( widgetName, handlerClass ) {
852
  EF.hooks.addAction( 'frontend/element_ready/' + widgetName, function( $scope ) {
853
  EF.elementsHandler.addHandler( handlerClass, { $element: $scope });
854
  });
assets/js/happy-addons.min.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"use strict";function n(t,e,n){var i;return function(){var a=this,o=arguments,s=function(){i=null,n||t.apply(a,o)},r=n&&!i;clearTimeout(i),i=setTimeout(s,e),r&&t.apply(a,o)}}function i(e,n){var i=e.find(".hajs-gallery-filter");i.length&&i.on("click","button",function(e){e.stopPropagation();var i=t(this);i.parent().addClass("ha-filter-active").siblings().removeClass("ha-filter-active"),n(i.data("filter"))})}function a(e,n,i,a){if(t.fn.magnificPopup){if(!i)return void t.magnificPopup.close();e.on("click",n,function(t){t.stopPropagation()}),e.find(n).magnificPopup({key:a,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 o=t(e);t.fn.getHappySettings=function(){return this.data("happy-settings")};var s=function(t){var e=t.find(".hajs-image-comparison"),n=e.getHappySettings();n[{on_hover:"move_slider_on_hover",on_swipe:"move_with_handle_only",on_click:"click_to_move"}[n.move_handle||"on_swipe"]]=!0,delete n.move_handle,e.imagesLoaded().done(function(){e.twentytwenty(n);var t=setTimeout(function(){o.trigger("resize.twentytwenty"),clearTimeout(t)},400)})},r=function(e){var n=e.find(".hajs-justified-gallery"),o=n.getHappySettings(),s=o.enable_popup;n.justifiedGallery(t.extend({},{rowHeight:150,lastRow:"justify",margins:10},o)),a(e,".ha-js-popup",s,"justifiedgallery"),i(e,function(t){n.justifiedGallery({lastRow:"*"===t?o.lastRow:"nojustify",filter:t}),a(e,"*"!==t?t:".ha-js-popup",s,"justifiedgallery")})};o.on("elementor/frontend/init",function(){var e=elementorFrontend,o=elementorModules,l=o.frontend.handlers.Base.extend({onInit:function(){o.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:n(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))}}),h=o.frontend.handlers.Base.extend({onInit:function(){o.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.run()},getDefaultSettings:function(){return{selectors:{container:".hajs-slick"},arrows:!0,dots:!1,checkVisible:!1,infinite:!0,slidesToShow: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>'}},getDefaultElements:function(){var t=this.getSettings("selectors");return{$container:this.findElement(t.container)}},onElementChange:function(){this.elements.$container.slick("unslick"),this.run()},getReadySettings:function(){var n={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":n.arrows=!0;break;case"dots":n.dots=!0;break;case"both":n.arrows=!0,n.dots=!0}return n.slidesToShow=this.getElementSettings("slides_to_show")||1,n.responsive=[{breakpoint:e.config.breakpoints.lg,settings:{slidesToShow:this.getElementSettings("slides_to_show_tablet")||n.slidesToShow}},{breakpoint:e.config.breakpoints.md,settings:{slidesToShow:this.getElementSettings("slides_to_show_mobile")||this.getElementSettings("slides_to_show_tablet")||n.slidesToShow}}],t.extend({},this.getDefaultSettings(),n)},run:function(){this.elements.$container.slick(this.getReadySettings())}}),d=function(t){e.waypoint(t,function(){var e=t.find(".ha-number-text");e.numerator(e.data("animation"))})},f=function(n){e.waypoint(n,function(){n.find(".ha-skill-level").each(function(){var e=t(this),n=e.find(".ha-skill-level-text"),i=e.data("level");e.animate({width:i+"%"},500),n.numerator({toValue:i+"%",duration:1300,onStep:function(){n.append("%")}})})})},c=o.frontend.handlers.Base.extend({onInit:function(){o.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;i(this.$element,function(e){t.$container.isotope({filter:e});var n="*"!==e?e:".ha-js-popup";a(t.$element,n,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")}),a(this.$element,".ha-js-popup",this.getElementSettings("enable_popup"),"imagegrid")}}),g=o.frontend.handlers.Base.extend({onInit:function(){o.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(),n=this.wrapper.innerWidth(),i=this.wrapper.find(".ha-news-ticker-container"),a=i.find(".ha-news-ticker-item"),o=this.wrapper.data("scroll-direction"),s="scroll"+o+e+n,r=this.wrapper.data("duration"),l="normal",h=10,d={transform:"translateX(0"+n+"px)"},f={transform:"translateX(-101%)"};"right"===o&&(l="reverse"),a.each(function(){h+=t(this).outerWidth(!0)}),i.css({width:h,display:"flex"}),t.keyframe.define([{name:s,"0%":d,"100%":f}]),i.playKeyframe({name:s,duration:r+"ms",timingFunction:"linear",delay:"0s",iterationCount:"infinite",direction:l,fillMode:"none",complete:function(){}})}}),u=function(t){e.waypoint(t,function(){var e=t.find(".ha-fun-factor__content-number");e.numerator(e.data("animation"))})},p=function(n){e.waypoint(n,function(){var e=t(this),n=e.find(".ha-bar-chart-container"),i=e.find("#ha-bar-chart"),a=n.data("settings");n.length&&new Chart(i,a)})},m=function(e){var n=e.find(".ha-twitter-load-more"),i=e.find(".ha-tweet-items");n.on("click",function(n){n.preventDefault();var a=t(this),o=a.data("settings"),s=a.data("total"),r=e.find(".ha-tweet-item").length;t.ajax({url:HappyLocalize.ajax_url,type:"POST",data:{action:"ha_twitter_feed_action",security:HappyLocalize.nonce,query_settings:o,loaded_item:r},success:function(e){s>r?t(e).appendTo(i):(a.text("All Loaded").addClass("loaded"),setTimeout(function(){a.css({display:"none"})},800))},error:function(t){}})})},y=o.frontend.handlers.Base.extend({onInit:function(){o.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.wrapper=this.$element.find(".ha-post-tab"),this.run()},run:function(){var e=this.wrapper.find(".ha-post-tab-filter"),i=e.find("li"),a=this.wrapper.data("event"),o=this.wrapper.data("query-args");i.on(a,n(function(e){e.preventDefault();var n=t(this),a=n.data("term"),s=n.closest(".ha-post-tab"),r=s.find(".ha-post-tab-content"),l=r.find(".ha-post-tab-loading"),h=r.find(".ha-post-tab-item-wrapper"),d=!1;0===l.length&&(i.removeClass("active"),h.removeClass("active"),n.addClass("active"),h.each(function(){var e=t(this),n=e.data("term");a===n&&(e.addClass("active"),d=!0)}),!1===d&&t.ajax({url:HappyLocalize.ajax_url,type:"POST",data:{action:"ha_post_tab_action",security:HappyLocalize.nonce,post_tab_query:o,term_id:a},beforeSend:function(){r.append('<span class="ha-post-tab-loading"><i class="eicon-spinner eicon-animation-spin"></i></span>')},success:function(t){r.find(".ha-post-tab-loading").remove(),r.append(t)},error:function(t){}}))},200))}}),_=function(e){var n=e.find(".ha-table__head-column-cell");e.find(".ha-table__body-row").each(function(e,i){t(i).find(".ha-table__body-row-cell").each(function(e,i){t(i).prepend('<div class="ha-table__head-column-cell">'+n.eq(e).html()+"</div>")})})},v=function(e){var n=e.find(".ha-threesixty-rotation-inner"),i=n.data("selector"),a=n.data("autoplay"),o=e.find(".ha-threesixty-rotation-magnify"),s=e.find(".ha-threesixty-rotation-360img"),r=o.data("zoom"),l=e.find(".ha-threesixty-rotation-play"),h=circlr(i,{play:!0});if("on"===a){var d=e.find(".ha-threesixty-rotation-autoplay");d.on("click",function(t){t.preventDefault(),h.play(),s.remove()}),setTimeout(function(){d.trigger("click"),d.remove()},1e3)}else l.on("click",function(e){e.preventDefault();var n=t(this),i=n.find("i");i.hasClass("hm-play-button")?(i.removeClass("hm-play-button"),i.addClass("hm-stop"),h.play()):(i.removeClass("hm-stop"),i.addClass("hm-play-button"),h.stop()),s.remove()});o.on("click",function(n){e.find("img").each(function(){-1!==t(this).attr("style").indexOf("block")&&(HappySimplaMagnify(t(this)[0],r),o.css("display","none"),s.remove())})}),t(document).on("click",function(i){var a=t(i.target),r=e.find(".ha-img-magnifier-glass"),l=o.find("i");r.length&&a[0]!==l[0]&&(r.remove(),o.removeAttr("style")),a[0]===n[0]&&s.remove()}),n.on("mouseup mousedown",function(t){s.remove()})};elementorFrontend.hooks.addAction("frontend/element_ready/ha-slider.default",function(t){elementorFrontend.elementsHandler.addHandler(h,{$element:t,selectors:{container:".ha-slick--slider"},autoplay:!0,prevArrow:'<button type="button" class="slick-prev"><i class="hm hm-arrow-left"></i></button>',nextArrow:'<button type="button" class="slick-next"><i class="hm hm-arrow-right"></i></button>'})}),elementorFrontend.hooks.addAction("frontend/element_ready/ha-carousel.default",function(t){elementorFrontend.elementsHandler.addHandler(h,{$element:t,selectors:{container:".ha-slick--carousel"},autoplay:!0,prevArrow:'<button type="button" class="slick-prev"><i class="hm hm-arrow-left"></i></button>',nextArrow:'<button type="button" class="slick-next"><i class="hm hm-arrow-right"></i></button>'})}),elementorFrontend.hooks.addAction("frontend/element_ready/ha-horizontal-timeline.default",function(t){elementorFrontend.elementsHandler.addHandler(h,{$element:t,selectors:{container:".ha-horizontal-timeline-wrapper"},autoplay:!1,prevArrow:'<button type="button" class="slick-prev"><i class="hm hm-arrow-left"></i></button>',nextArrow:'<button type="button" class="slick-next"><i class="hm hm-arrow-right"></i></button>'})}),t("[data-ha-element-link]").each(function(){var e=t(this).data("ha-element-link");t(this).on("click.haElementOnClick",function(){e.is_external?window.open(e.url):location.href=e.url})});var w={"ha-image-compare.default":s,"ha-justified-gallery.default":r,"ha-number.default":d,"ha-skills.default":f,"ha-fun-factor.default":u,"ha-bar-chart.default":p,"ha-twitter-feed.default":m,"ha-threesixty-rotation.default":v,"ha-data-table.default":_};t.each(w,function(t,n){e.hooks.addAction("frontend/element_ready/"+t,n)});var C={"ha-image-grid.default":c,"ha-news-ticker.default":g,"ha-post-tab.default":y,widget:l};t.each(C,function(t,n){e.hooks.addAction("frontend/element_ready/"+t,function(t){e.elementsHandler.addHandler(n,{$element:t})})})})}(jQuery,window);
1
+ !function(t,e){"use strict";function n(t,e,n){var i;return function(){var a=this,o=arguments,s=function(){i=null,n||t.apply(a,o)},r=n&&!i;clearTimeout(i),i=setTimeout(s,e),r&&t.apply(a,o)}}function i(e,n){var i=e.find(".hajs-filter"),a=i.data("default-filter");i.length&&(i.on("click.onFilterNav","button",function(e){e.stopPropagation();var i=t(this);i.addClass("ha-filter__item--active").siblings().removeClass("ha-filter__item--active"),n(i.data("filter"))}),i.find('[data-filter="'+a+'"]').click())}function a(e){if(e.$element.on("click",e.selector,function(t){t.preventDefault()}),t.fn.magnificPopup){if(!e.isEnabled)return void t.magnificPopup.close();var n=t(window).width(),i=elementorFrontendConfig.breakpoints.md,a=elementorFrontendConfig.breakpoints.lg;e.$element.find(e.selector).magnificPopup({key:e.key,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")}},disableOn:function(){return!(e.disableOnMobile&&n<i)&&!(e.disableOnTablet&&n>=i&&n<a)}})}}var o=t(e);t.fn.getHappySettings=function(){return this.data("happy-settings")};var s=function(t){var e=t.find(".hajs-image-comparison"),n=e.getHappySettings();n[{on_hover:"move_slider_on_hover",on_swipe:"move_with_handle_only",on_click:"click_to_move"}[n.move_handle||"on_swipe"]]=!0,delete n.move_handle,e.imagesLoaded().done(function(){e.twentytwenty(n);var t=setTimeout(function(){o.trigger("resize.twentytwenty"),clearTimeout(t)},400)})};o.on("elementor/frontend/init",function(){var e=elementorFrontend,r=elementorModules,l=r.frontend.handlers.Base.extend({onInit:function(){r.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:n(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))}}),h=r.frontend.handlers.Base.extend({onInit:function(){r.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.run()},getDefaultSettings:function(){return{selectors:{container:".hajs-slick"},arrows:!0,dots:!1,checkVisible:!1,infinite:!0,slidesToShow: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>'}},getDefaultElements:function(){var t=this.getSettings("selectors");return{$container:this.findElement(t.container)}},onElementChange:function(){this.elements.$container.slick("unslick"),this.run()},getReadySettings:function(){var n={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":n.arrows=!0;break;case"dots":n.dots=!0;break;case"both":n.arrows=!0,n.dots=!0}return n.slidesToShow=this.getElementSettings("slides_to_show")||1,n.responsive=[{breakpoint:e.config.breakpoints.lg,settings:{slidesToShow:this.getElementSettings("slides_to_show_tablet")||n.slidesToShow}},{breakpoint:e.config.breakpoints.md,settings:{slidesToShow:this.getElementSettings("slides_to_show_mobile")||this.getElementSettings("slides_to_show_tablet")||n.slidesToShow}}],t.extend({},this.getDefaultSettings(),n)},run:function(){this.elements.$container.slick(this.getReadySettings())}}),d=function(t){e.waypoint(t,function(){var e=t.find(".ha-number-text");e.numerator(e.data("animation"))})},g=function(n){e.waypoint(n,function(){n.find(".ha-skill-level").each(function(){var e=t(this),n=e.find(".ha-skill-level-text"),i=e.data("level");e.animate({width:i+"%"},500),n.numerator({toValue:i+"%",duration:1300,onStep:function(){n.append("%")}})})})},f=r.frontend.handlers.Base.extend({onInit:function(){r.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.run(),this.runFilter(),o.on("resize",n(this.run.bind(this),100))},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()}},getDefaultElements:function(){return{$container:this.findElement(".hajs-isotope")}},getLightBoxSettings:function(){return{key:"imagegrid",$element:this.$element,selector:".ha-js-lightbox",isEnabled:!!this.getElementSettings("enable_popup"),disableOnTablet:!!this.getElementSettings("disable_lightbox_on_tablet"),disableOnMobile:!!this.getElementSettings("disable_lightbox_on_mobile")}},runFilter:function(){var t=this,e=this.getLightBoxSettings();i(this.$element,function(n){t.elements.$container.isotope({filter:n}),"*"!==n&&(e.selector=n),a(e)})},onElementChange:function(t){-1!==["layout","image_height","columns","image_margin","enable_popup"].indexOf(t)&&this.run()},run:function(){var t=this;t.elements.$container.isotope(t.getDefaultSettings()).imagesLoaded().progress(function(){t.elements.$container.isotope("layout")}),a(t.getLightBoxSettings())}}),c=r.frontend.handlers.Base.extend({onInit:function(){r.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.run(),this.runFilter(),o.on("resize",n(this.run.bind(this),100))},getDefaultSettings:function(){return{rowHeight:+this.getElementSettings("row_height.size")||150,lastRow:this.getElementSettings("last_row"),margins:+this.getElementSettings("margins.size"),captions:!!this.getElementSettings("show_caption")}},getDefaultElements:function(){return{$container:this.findElement(".hajs-justified-grid")}},getLightBoxSettings:function(){return{key:"justifiedgallery",$element:this.$element,selector:".ha-js-lightbox",isEnabled:!!this.getElementSettings("enable_popup"),disableOnTablet:!!this.getElementSettings("disable_lightbox_on_tablet"),disableOnMobile:!!this.getElementSettings("disable_lightbox_on_mobile")}},runFilter:function(){var t=this,e=this.getLightBoxSettings(),n={lastRow:this.getElementSettings("last_row")};i(t.$element,function(i){"*"!==i&&(n.lastRow="nojustify",e.selector=i),n.filter=i,t.elements.$container.justifiedGallery(n),a(e)})},onElementChange:function(t){-1!==["row_height","last_row","margins","show_caption","enable_popup"].indexOf(t)&&this.run()},run:function(){this.elements.$container.justifiedGallery(this.getDefaultSettings()),a(this.getLightBoxSettings())}}),u=r.frontend.handlers.Base.extend({onInit:function(){r.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(),n=this.wrapper.innerWidth(),i=this.wrapper.find(".ha-news-ticker-container"),a=i.find(".ha-news-ticker-item"),o=this.wrapper.data("scroll-direction"),s="scroll"+o+e+n,r=this.wrapper.data("duration"),l="normal",h=10,d={transform:"translateX(0"+n+"px)"},g={transform:"translateX(-101%)"};"right"===o&&(l="reverse"),a.each(function(){h+=t(this).outerWidth(!0)}),i.css({width:h,display:"flex"}),t.keyframe.define([{name:s,"0%":d,"100%":g}]),i.playKeyframe({name:s,duration:r+"ms",timingFunction:"linear",delay:"0s",iterationCount:"infinite",direction:l,fillMode:"none",complete:function(){}})}}),m=function(t){e.waypoint(t,function(){var e=t.find(".ha-fun-factor__content-number");e.numerator(e.data("animation"))})},p=function(n){e.waypoint(n,function(){var e=t(this),n=e.find(".ha-bar-chart-container"),i=e.find("#ha-bar-chart"),a=n.data("settings");n.length&&new Chart(i,a)})},_=function(e){var n=e.find(".ha-twitter-load-more"),i=e.find(".ha-tweet-items");n.on("click",function(n){n.preventDefault();var a=t(this),o=a.data("settings"),s=a.data("total"),r=e.find(".ha-tweet-item").length;t.ajax({url:HappyLocalize.ajax_url,type:"POST",data:{action:"ha_twitter_feed_action",security:HappyLocalize.nonce,query_settings:o,loaded_item:r},success:function(e){s>r?t(e).appendTo(i):(a.text("All Loaded").addClass("loaded"),setTimeout(function(){a.css({display:"none"})},800))},error:function(t){}})})},y=r.frontend.handlers.Base.extend({onInit:function(){r.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.wrapper=this.$element.find(".ha-post-tab"),this.run()},run:function(){var e=this.wrapper.find(".ha-post-tab-filter"),i=e.find("li"),a=this.wrapper.data("event"),o=this.wrapper.data("query-args");i.on(a,n(function(e){e.preventDefault();var n=t(this),a=n.data("term"),s=n.closest(".ha-post-tab"),r=s.find(".ha-post-tab-content"),l=r.find(".ha-post-tab-loading"),h=r.find(".ha-post-tab-item-wrapper"),d=!1;0===l.length&&(i.removeClass("active"),h.removeClass("active"),n.addClass("active"),h.each(function(){var e=t(this),n=e.data("term");a===n&&(e.addClass("active"),d=!0)}),!1===d&&t.ajax({url:HappyLocalize.ajax_url,type:"POST",data:{action:"ha_post_tab_action",security:HappyLocalize.nonce,post_tab_query:o,term_id:a},beforeSend:function(){r.append('<span class="ha-post-tab-loading"><i class="eicon-spinner eicon-animation-spin"></i></span>')},success:function(t){r.find(".ha-post-tab-loading").remove(),r.append(t)},error:function(t){}}))},200))}}),b=function(e){var n=e.find(".ha-table__head-column-cell");e.find(".ha-table__body-row").each(function(e,i){t(i).find(".ha-table__body-row-cell").each(function(e,i){t(i).prepend('<div class="ha-table__head-column-cell">'+n.eq(e).html()+"</div>")})})},v=function(e){var n=e.find(".ha-threesixty-rotation-inner"),i=n.data("selector"),a=n.data("autoplay"),o=e.find(".ha-threesixty-rotation-magnify"),s=e.find(".ha-threesixty-rotation-360img"),r=o.data("zoom"),l=e.find(".ha-threesixty-rotation-play"),h=circlr(i,{play:!0});if("on"===a){var d=e.find(".ha-threesixty-rotation-autoplay");d.on("click",function(t){t.preventDefault(),h.play(),s.remove()}),setTimeout(function(){d.trigger("click"),d.remove()},1e3)}else l.on("click",function(e){e.preventDefault();var n=t(this),i=n.find("i");i.hasClass("hm-play-button")?(i.removeClass("hm-play-button"),i.addClass("hm-stop"),h.play()):(i.removeClass("hm-stop"),i.addClass("hm-play-button"),h.stop()),s.remove()});o.on("click",function(n){e.find("img").each(function(){-1!==t(this).attr("style").indexOf("block")&&(HappySimplaMagnify(t(this)[0],r),o.css("display","none"),s.remove())})}),t(document).on("click",function(i){var a=t(i.target),r=e.find(".ha-img-magnifier-glass"),l=o.find("i");r.length&&a[0]!==l[0]&&(r.remove(),o.removeAttr("style")),a[0]===n[0]&&s.remove()}),n.on("mouseup mousedown",function(t){s.remove()})};elementorFrontend.hooks.addAction("frontend/element_ready/ha-slider.default",function(t){elementorFrontend.elementsHandler.addHandler(h,{$element:t,selectors:{container:".ha-slick--slider"},autoplay:!0,prevArrow:'<button type="button" class="slick-prev"><i class="hm hm-arrow-left"></i></button>',nextArrow:'<button type="button" class="slick-next"><i class="hm hm-arrow-right"></i></button>'})}),elementorFrontend.hooks.addAction("frontend/element_ready/ha-carousel.default",function(t){elementorFrontend.elementsHandler.addHandler(h,{$element:t,selectors:{container:".ha-slick--carousel"},autoplay:!0,prevArrow:'<button type="button" class="slick-prev"><i class="hm hm-arrow-left"></i></button>',nextArrow:'<button type="button" class="slick-next"><i class="hm hm-arrow-right"></i></button>'})}),elementorFrontend.hooks.addAction("frontend/element_ready/ha-horizontal-timeline.default",function(t){elementorFrontend.elementsHandler.addHandler(h,{$element:t,selectors:{container:".ha-horizontal-timeline-wrapper"},autoplay:!1,prevArrow:'<button type="button" class="slick-prev"><i class="hm hm-arrow-left"></i></button>',nextArrow:'<button type="button" class="slick-next"><i class="hm hm-arrow-right"></i></button>'})}),t("[data-ha-element-link]").on("click.onWrapperLink",function(){var e,n=t(this).data("ha-element-link"),i=t(this).data("id"),a=document.createElement("a");a.id="hawl"+i,a.href=n.url,a.target=n.is_external?"_blank":"_self",a.rel=n.nofollow?"nofollow noreferer":"",a.style.display="none",document.body.appendChild(a),e=document.getElementById(a.id),e.click();var o=setTimeout(function(){document.body.removeChild(e),clearTimeout(o)})});var w={"ha-image-compare.default":s,"ha-number.default":d,"ha-skills.default":g,"ha-fun-factor.default":m,"ha-bar-chart.default":p,"ha-twitter-feed.default":_,"ha-threesixty-rotation.default":v,"ha-data-table.default":b};t.each(w,function(t,n){e.hooks.addAction("frontend/element_ready/"+t,n)});var C={"ha-image-grid.default":f,"ha-justified-gallery.default":c,"ha-news-ticker.default":u,"ha-post-tab.default":y,widget:l};t.each(C,function(t,n){e.hooks.addAction("frontend/element_ready/"+t,function(t){e.elementsHandler.addHandler(n,{$element:t})})})})}(jQuery,window);
base.php CHANGED
@@ -30,7 +30,11 @@ class Base {
30
  }
31
 
32
  public function i18n() {
33
- load_plugin_textdomain( 'happy-elementor-addons' );
 
 
 
 
34
  }
35
 
36
  public function init() {
30
  }
31
 
32
  public function i18n() {
33
+ load_plugin_textdomain(
34
+ 'happy-elementor-addons',
35
+ false,
36
+ dirname( plugin_basename( HAPPY_ADDONS__FILE__ ) ) . '/i18n/'
37
+ );
38
  }
39
 
40
  public function init() {
changelog.txt CHANGED
@@ -1,3 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  = 2.15.0 - 4 November 2020 =
2
 
3
  - New: Ready made page templates (Happy Templates)
1
+ = 2.16.0 - 29 November 2020 =
2
+
3
+ - Added: Justified Grid lightbox disable option for mobile and tablet
4
+ - Added: Image Grid lightbox disable option for mobile and tablet
5
+ - Added: Justified Grid default filter select option
6
+ - Added: Image Grid default filter select option
7
+ - Added: Added .pot file
8
+ - Tweak: Improved Justified Grid and Image Grid base style
9
+ - Tweak: Improved Image Grid markup - removed extra inner div
10
+ - Tweak: Improved on demand assets loading
11
+ - Fix: Private page on demand assets loading issue
12
+ - Fix: Lightbox and Popup not working with wrapper link issue
13
+
14
  = 2.15.0 - 4 November 2020 =
15
 
16
  - New: Ready made page templates (Happy Templates)
classes/assets-cache.php CHANGED
@@ -5,7 +5,11 @@ defined( 'ABSPATH' ) || die();
5
 
6
  class Assets_Cache {
7
 
8
- const FILE_PREFIX = 'happy-';
 
 
 
 
9
 
10
  protected static $is_common_loaded = false;
11
 
@@ -40,7 +44,7 @@ class Assets_Cache {
40
  }
41
 
42
  public function get_cache_dir_name() {
43
- return trailingslashit( 'happyaddons' ) . trailingslashit( 'cache' );
44
  }
45
 
46
  public function get_post_id() {
@@ -48,7 +52,7 @@ class Assets_Cache {
48
  }
49
 
50
  public function get_cache_dir() {
51
- return $this->upload_path . $this->get_cache_dir_name();
52
  }
53
 
54
  public function get_cache_url() {
@@ -128,7 +132,7 @@ class Assets_Cache {
128
  // TODO: Update style handler, now it's dependent on elementor-frontend
129
  wp_add_inline_style(
130
  'elementor-frontend',
131
- $this->get_styles( $base_widget['css'] )
132
  );
133
 
134
  self::$is_common_loaded = true;
@@ -181,42 +185,49 @@ class Assets_Cache {
181
  }
182
 
183
  public function save() {
184
- $widgets = $this->get_widgets_cache()->get();
185
- $widgets_map = Widgets_Manager::get_widgets_map();
186
- $cached_widgets = [];
187
- $styles = '';
188
 
189
  foreach ( $widgets as $widget_key ) {
190
- if ( isset( $cached_widgets[ $widget_key ] ) ||
191
  ! isset( $widgets_map[ $widget_key ], $widgets_map[ $widget_key ]['css'] )
192
  ) {
193
  continue;
194
  }
 
195
  $is_pro = ( isset( $widgets_map[ $widget_key ]['is_pro'] ) && $widgets_map[ $widget_key ]['is_pro'] );
196
- $styles .= $this->get_styles( $widgets_map[ $widget_key ]['css'], $is_pro );
197
- $cached_widgets[ $widget_key ] = true;
 
198
  }
199
 
200
- $styles .= sprintf( '/** Compiled CSS for: %s **/', implode(', ', array_keys( $cached_widgets ) ) );
 
 
 
 
201
 
202
  if ( ! is_dir( $this->get_cache_dir() ) ) {
203
- @mkdir( $this->get_cache_dir(), 0755, true );
204
  }
205
 
206
- file_put_contents( $this->get_file_name(), $styles );
207
  }
208
 
209
- protected function get_styles( $files_name, $is_pro = false ) {
210
- $styles = '';
211
 
212
  foreach ( $files_name as $file_name ) {
213
  $file_path = HAPPY_ADDONS_DIR_PATH . "assets/css/widgets/{$file_name}.min.css";
214
  $file_path = apply_filters( 'happyaddons_get_styles_file_path', $file_path, $file_name, $is_pro );
 
215
  if ( is_readable( $file_path ) ) {
216
- $styles .= file_get_contents( $file_path );
217
  };
218
  }
219
 
220
- return $styles;
221
  }
222
  }
5
 
6
  class Assets_Cache {
7
 
8
+ const FILE_PREFIX = 'ha-';
9
+
10
+ const BASE_DIR = 'happyaddons';
11
+
12
+ const CSS_DIR = 'css';
13
 
14
  protected static $is_common_loaded = false;
15
 
44
  }
45
 
46
  public function get_cache_dir_name() {
47
+ return trailingslashit( self::BASE_DIR ) . trailingslashit( self::CSS_DIR );
48
  }
49
 
50
  public function get_post_id() {
52
  }
53
 
54
  public function get_cache_dir() {
55
+ return wp_normalize_path( $this->upload_path . $this->get_cache_dir_name() );
56
  }
57
 
58
  public function get_cache_url() {
132
  // TODO: Update style handler, now it's dependent on elementor-frontend
133
  wp_add_inline_style(
134
  'elementor-frontend',
135
+ $this->get_css( $base_widget['css'] )
136
  );
137
 
138
  self::$is_common_loaded = true;
185
  }
186
 
187
  public function save() {
188
+ $widgets = $this->get_widgets_cache()->get();
189
+ $widgets_map = Widgets_Manager::get_widgets_map();
190
+ $widgets_processed = [];
191
+ $css = '';
192
 
193
  foreach ( $widgets as $widget_key ) {
194
+ if ( isset( $processed[ $widget_key ] ) ||
195
  ! isset( $widgets_map[ $widget_key ], $widgets_map[ $widget_key ]['css'] )
196
  ) {
197
  continue;
198
  }
199
+
200
  $is_pro = ( isset( $widgets_map[ $widget_key ]['is_pro'] ) && $widgets_map[ $widget_key ]['is_pro'] );
201
+ $css .= $this->get_css( $widgets_map[ $widget_key ]['css'], $is_pro );
202
+
203
+ $widgets_processed[ $widget_key ] = true;
204
  }
205
 
206
+ if ( empty( $css ) ) {
207
+ return;
208
+ }
209
+
210
+ $css .= sprintf( '/** Widgets: %s **/', implode( ', ', array_keys( $widgets_processed ) ) );
211
 
212
  if ( ! is_dir( $this->get_cache_dir() ) ) {
213
+ wp_mkdir_p( $this->get_cache_dir() );
214
  }
215
 
216
+ file_put_contents( $this->get_file_name(), $css );
217
  }
218
 
219
+ protected function get_css( $files_name, $is_pro = false ) {
220
+ $css = '';
221
 
222
  foreach ( $files_name as $file_name ) {
223
  $file_path = HAPPY_ADDONS_DIR_PATH . "assets/css/widgets/{$file_name}.min.css";
224
  $file_path = apply_filters( 'happyaddons_get_styles_file_path', $file_path, $file_name, $is_pro );
225
+
226
  if ( is_readable( $file_path ) ) {
227
+ $css .= file_get_contents( $file_path );
228
  };
229
  }
230
 
231
+ return $css;
232
  }
233
  }
classes/assets-manager.php CHANGED
@@ -21,7 +21,7 @@ class Assets_Manager {
21
  add_action( 'elementor/preview/enqueue_styles', [ __CLASS__, 'enqueue_preview_styles' ] );
22
 
23
  // Enqueue editor scripts
24
- add_action( 'elementor/editor/after_enqueue_scripts', [ __CLASS__, 'enqueue_editor_scripts' ] );
25
 
26
  // Paragraph toolbar registration
27
  add_filter( 'elementor/editor/localize_settings', [ __CLASS__, 'add_inline_editing_intermediate_toolbar' ] );
@@ -63,6 +63,14 @@ class Assets_Manager {
63
  return $config;
64
  }
65
 
 
 
 
 
 
 
 
 
66
  public static function frontend_register() {
67
  $suffix = ha_is_script_debug_enabled() ? '.' : '.min.';
68
 
@@ -73,9 +81,7 @@ class Assets_Manager {
73
  HAPPY_ADDONS_VERSION
74
  );
75
 
76
- /**
77
- * Image comparasion
78
- */
79
  wp_register_style(
80
  'twentytwenty',
81
  HAPPY_ADDONS_ASSETS . 'vendor/twentytwenty/css/twentytwenty.css',
@@ -99,9 +105,7 @@ class Assets_Manager {
99
  true
100
  );
101
 
102
- /**
103
- * Justified Grid
104
- */
105
  wp_register_style(
106
  'justifiedGallery',
107
  HAPPY_ADDONS_ASSETS . 'vendor/justifiedGallery/css/justifiedGallery.min.css',
@@ -117,9 +121,7 @@ class Assets_Manager {
117
  true
118
  );
119
 
120
- /**
121
- * Carousel and Slider
122
- */
123
  wp_register_style(
124
  'slick',
125
  HAPPY_ADDONS_ASSETS . 'vendor/slick/slick.css',
@@ -142,9 +144,7 @@ class Assets_Manager {
142
  true
143
  );
144
 
145
- /**
146
- * Masonry grid
147
- */
148
  wp_register_script(
149
  'jquery-isotope',
150
  HAPPY_ADDONS_ASSETS . 'vendor/jquery.isotope.js',
@@ -153,9 +153,7 @@ class Assets_Manager {
153
  true
154
  );
155
 
156
- /**
157
- * Number animation
158
- */
159
  wp_register_script(
160
  'jquery-numerator',
161
  HAPPY_ADDONS_ASSETS . 'vendor/jquery-numerator/jquery-numerator.min.js',
@@ -164,9 +162,7 @@ class Assets_Manager {
164
  true
165
  );
166
 
167
- /**
168
- * Magnific popup
169
- */
170
  wp_register_style(
171
  'magnific-popup',
172
  HAPPY_ADDONS_ASSETS . 'vendor/magnific-popup/magnific-popup.css',
@@ -182,9 +178,7 @@ class Assets_Manager {
182
  true
183
  );
184
 
185
- /**
186
- * Floating effects
187
- */
188
  wp_register_script(
189
  'anime',
190
  HAPPY_ADDONS_ASSETS . 'vendor/anime/lib/anime.min.js',
@@ -219,6 +213,7 @@ class Assets_Manager {
219
  HAPPY_ADDONS_VERSION,
220
  true
221
  );
 
222
  // happy magnify js
223
  wp_register_script(
224
  'ha-simple-magnify',
@@ -276,36 +271,49 @@ class Assets_Manager {
276
  * Handle exception cases where regular enqueue won't work
277
  *
278
  * @param Post_CSS $file
 
 
279
  */
280
  public static function frontend_enqueue_exceptions( Post_CSS $file ) {
281
- if ( get_queried_object_id() === $file->get_post_id() ) {
 
 
282
  return;
283
  }
284
 
285
- $template_type = get_post_meta( $file->get_post_id(), '_elementor_template_type', true );
286
 
287
  if ( $template_type === 'kit' ) {
288
  return;
289
  }
290
 
291
- $post_id = $file->get_post_id();
292
-
293
- if ( Cache_Manager::should_enqueue( $post_id ) ) {
294
- Cache_Manager::enqueue( $post_id );
295
- }
296
-
297
- if ( Cache_Manager::should_enqueue_raw( $post_id ) ) {
298
- Cache_Manager::enqueue_raw( $post_id );
299
- }
300
  }
301
 
 
 
 
 
 
302
  public static function frontend_enqueue() {
303
  if ( ! is_singular() ) {
304
  return;
305
  }
306
 
307
- $post_id = get_the_ID();
 
308
 
 
 
 
 
 
 
 
 
 
 
 
309
  if ( Cache_Manager::should_enqueue( $post_id ) ) {
310
  Cache_Manager::enqueue( $post_id );
311
  }
@@ -319,7 +327,7 @@ class Assets_Manager {
319
  return HAPPY_ADDONS_ASSETS . 'admin/css/editor-dark.min.css';
320
  }
321
 
322
- protected static function enqueue_dark_stylesheet() {
323
  $theme = SettingsManager::get_settings_managers( 'editorPreferences' )->get_model()->get_settings( 'ui_theme' );
324
 
325
  if ( 'light' !== $theme ) {
@@ -341,7 +349,12 @@ class Assets_Manager {
341
  }
342
  }
343
 
344
- public static function enqueue_editor_scripts() {
 
 
 
 
 
345
  wp_enqueue_style(
346
  'happy-icons',
347
  HAPPY_ADDONS_ASSETS . 'fonts/style.min.css',
21
  add_action( 'elementor/preview/enqueue_styles', [ __CLASS__, 'enqueue_preview_styles' ] );
22
 
23
  // Enqueue editor scripts
24
+ add_action( 'elementor/editor/after_enqueue_scripts', [ __CLASS__, 'editor_enqueue' ] );
25
 
26
  // Paragraph toolbar registration
27
  add_filter( 'elementor/editor/localize_settings', [ __CLASS__, 'add_inline_editing_intermediate_toolbar' ] );
63
  return $config;
64
  }
65
 
66
+ /**
67
+ * Register frontend assets.
68
+ *
69
+ * Frontend assets handler will be used in widgets map
70
+ * to load widgets assets on demand.
71
+ *
72
+ * @return void
73
+ */
74
  public static function frontend_register() {
75
  $suffix = ha_is_script_debug_enabled() ? '.' : '.min.';
76
 
81
  HAPPY_ADDONS_VERSION
82
  );
83
 
84
+ // Image comparasion
 
 
85
  wp_register_style(
86
  'twentytwenty',
87
  HAPPY_ADDONS_ASSETS . 'vendor/twentytwenty/css/twentytwenty.css',
105
  true
106
  );
107
 
108
+ // Justified Grid
 
 
109
  wp_register_style(
110
  'justifiedGallery',
111
  HAPPY_ADDONS_ASSETS . 'vendor/justifiedGallery/css/justifiedGallery.min.css',
121
  true
122
  );
123
 
124
+ // Carousel and Slider
 
 
125
  wp_register_style(
126
  'slick',
127
  HAPPY_ADDONS_ASSETS . 'vendor/slick/slick.css',
144
  true
145
  );
146
 
147
+ // Masonry grid
 
 
148
  wp_register_script(
149
  'jquery-isotope',
150
  HAPPY_ADDONS_ASSETS . 'vendor/jquery.isotope.js',
153
  true
154
  );
155
 
156
+ // Number animation
 
 
157
  wp_register_script(
158
  'jquery-numerator',
159
  HAPPY_ADDONS_ASSETS . 'vendor/jquery-numerator/jquery-numerator.min.js',
162
  true
163
  );
164
 
165
+ // Magnific popup
 
 
166
  wp_register_style(
167
  'magnific-popup',
168
  HAPPY_ADDONS_ASSETS . 'vendor/magnific-popup/magnific-popup.css',
178
  true
179
  );
180
 
181
+ // Floating effects
 
 
182
  wp_register_script(
183
  'anime',
184
  HAPPY_ADDONS_ASSETS . 'vendor/anime/lib/anime.min.js',
213
  HAPPY_ADDONS_VERSION,
214
  true
215
  );
216
+
217
  // happy magnify js
218
  wp_register_script(
219
  'ha-simple-magnify',
271
  * Handle exception cases where regular enqueue won't work
272
  *
273
  * @param Post_CSS $file
274
+ *
275
+ * @return void
276
  */
277
  public static function frontend_enqueue_exceptions( Post_CSS $file ) {
278
+ $post_id = $file->get_post_id();
279
+
280
+ if ( get_queried_object_id() === $post_id ) {
281
  return;
282
  }
283
 
284
+ $template_type = get_post_meta( $post_id, '_elementor_template_type', true );
285
 
286
  if ( $template_type === 'kit' ) {
287
  return;
288
  }
289
 
290
+ self::enqueue( $post_id );
 
 
 
 
 
 
 
 
291
  }
292
 
293
+ /**
294
+ * Enqueue fontend assets
295
+ *
296
+ * @return void
297
+ */
298
  public static function frontend_enqueue() {
299
  if ( ! is_singular() ) {
300
  return;
301
  }
302
 
303
+ self::enqueue( get_the_ID() );
304
+ }
305
 
306
+ /**
307
+ * Just enqueue the assets
308
+ *
309
+ * It just processes the assets from cache if avilable
310
+ * otherwise raw assets
311
+ *
312
+ * @param int $post_id
313
+ *
314
+ * @return void
315
+ */
316
+ public static function enqueue( $post_id ) {
317
  if ( Cache_Manager::should_enqueue( $post_id ) ) {
318
  Cache_Manager::enqueue( $post_id );
319
  }
327
  return HAPPY_ADDONS_ASSETS . 'admin/css/editor-dark.min.css';
328
  }
329
 
330
+ public static function enqueue_dark_stylesheet() {
331
  $theme = SettingsManager::get_settings_managers( 'editorPreferences' )->get_model()->get_settings( 'ui_theme' );
332
 
333
  if ( 'light' !== $theme ) {
349
  }
350
  }
351
 
352
+ /**
353
+ * Enqueue editor assets
354
+ *
355
+ * @return void
356
+ */
357
+ public static function editor_enqueue() {
358
  wp_enqueue_style(
359
  'happy-icons',
360
  HAPPY_ADDONS_ASSETS . 'fonts/style.min.css',
classes/cache-manager.php CHANGED
@@ -50,19 +50,23 @@ class Cache_Manager {
50
  }
51
 
52
  public static function should_enqueue( $post_id ) {
53
- if ( ha_is_on_demand_cache_enabled() && self::is_built_with_elementor( $post_id ) && self::is_published( $post_id ) && ! self::is_editing_mode() ) {
54
- return true;
55
- }
56
-
57
- return false;
 
58
  }
59
 
60
  public static function should_enqueue_raw( $post_id ) {
61
- if ( ( ! ha_is_on_demand_cache_enabled() && self::is_built_with_elementor( $post_id ) ) || self::is_editing_mode() ) {
62
- return true;
63
- }
64
-
65
- return false;
 
 
 
66
  }
67
 
68
  public static function enqueue_fa5_fonts( $post_id ) {
@@ -91,10 +95,6 @@ class Cache_Manager {
91
  }
92
 
93
  public static function enqueue_raw() {
94
- if ( ! self::is_editing_mode() ) {
95
- return;
96
- }
97
-
98
  $widgets_map = Widgets_Manager::get_widgets_map();
99
  $inactive_widgets = Widgets_Manager::get_inactive_widgets();
100
 
50
  }
51
 
52
  public static function should_enqueue( $post_id ) {
53
+ return (
54
+ ha_is_on_demand_cache_enabled() &&
55
+ self::is_built_with_elementor( $post_id ) &&
56
+ self::is_published( $post_id ) &&
57
+ ! self::is_editing_mode()
58
+ );
59
  }
60
 
61
  public static function should_enqueue_raw( $post_id ) {
62
+ return (
63
+ self::is_built_with_elementor( $post_id ) &&
64
+ (
65
+ ! ha_is_on_demand_cache_enabled() ||
66
+ ! self::is_published( $post_id ) ||
67
+ self::is_editing_mode()
68
+ )
69
+ );
70
  }
71
 
72
  public static function enqueue_fa5_fonts( $post_id ) {
95
  }
96
 
97
  public static function enqueue_raw() {
 
 
 
 
98
  $widgets_map = Widgets_Manager::get_widgets_map();
99
  $inactive_widgets = Widgets_Manager::get_inactive_widgets();
100
 
i18n/happy-elementor-addons.pot ADDED
@@ -0,0 +1,4342 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2020 Happy Addons
2
+ # This file is distributed under the same license as the Happy Addons package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Happy Addons\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Language-Team: HappyMonster <happyaddons@gmail.com>\n"
10
+ "X-Poedit-Basepath: ..\n"
11
+ "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
12
+ "X-Poedit-SearchPath-0: .\n"
13
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
14
+ "X-Poedit-SourceCharset: UTF-8\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+
17
+ #: base.php:121, classes/dashboard.php:189, widgets/bar-chart/widget.php:161, widgets/data-table/widget.php:209
18
+ msgid "Happy Addons"
19
+ msgstr ""
20
+
21
+ #. translators: 1: Plugin name 2: PHP 3: Required PHP version
22
+ #. translators: 1: Plugin name 2: Elementor 3: Required Elementor version
23
+ #: plugin.php:87, plugin.php:121
24
+ msgid "\"%1$s\" requires \"%2$s\" version %3$s or greater."
25
+ msgstr ""
26
+
27
+ #: plugin.php:88, plugin.php:105, plugin.php:122, templates/admin/dashboard-main.php:9
28
+ msgid "Happy Elementor Addons"
29
+ msgstr ""
30
+
31
+ #: plugin.php:89
32
+ msgid "PHP"
33
+ msgstr ""
34
+
35
+ #. translators: 1: Plugin name 2: Elementor 3: Elementor installation link
36
+ #: plugin.php:104
37
+ msgid "%1$s requires %2$s to be installed and activated to function properly. %3$s"
38
+ msgstr ""
39
+
40
+ #: plugin.php:106, plugin.php:123, widgets/data-table/widget.php:206
41
+ msgid "Elementor"
42
+ msgstr ""
43
+
44
+ #: plugin.php:107
45
+ msgid "Please click on this link and install Elementor"
46
+ msgstr ""
47
+
48
+ #: classes/admin-bar.php:78, classes/assets-manager.php:396
49
+ msgid "HappyAddons"
50
+ msgstr ""
51
+
52
+ #: classes/admin-bar.php:86
53
+ msgid "Page: Renew On Demand Assets"
54
+ msgstr ""
55
+
56
+ #: classes/admin-bar.php:97
57
+ msgid "Global: Renew On Demand Assets"
58
+ msgstr ""
59
+
60
+ #: classes/assets-manager.php:397
61
+ msgid "%s Widget"
62
+ msgstr ""
63
+
64
+ #: classes/assets-manager.php:398
65
+ msgid "Use %s widget with other exclusive pro widgets and 100% unique features to extend your toolbox and build sites faster and better."
66
+ msgstr ""
67
+
68
+ #: classes/assets-manager.php:399
69
+ msgid "No Templates Found"
70
+ msgstr ""
71
+
72
+ #: classes/assets-manager.php:400
73
+ msgid "Try different category or sync for new templates."
74
+ msgstr ""
75
+
76
+ #: classes/assets-manager.php:401
77
+ msgid "No Results Found"
78
+ msgstr ""
79
+
80
+ #: classes/assets-manager.php:402
81
+ msgid "Please make sure your search is spelled correctly or try a different words."
82
+ msgstr ""
83
+
84
+ #: classes/clone-handler.php:43
85
+ msgid "Clone - %s"
86
+ msgstr ""
87
+
88
+ #: classes/clone-handler.php:44
89
+ msgid "Happy Clone"
90
+ msgstr ""
91
+
92
+ #: classes/clone-handler.php:154
93
+ msgid "%s - [Cloned #%d]"
94
+ msgstr ""
95
+
96
+ #: classes/dashboard.php:62, widgets/bar-chart/widget.php:185, widgets/carousel/widget.php:182, widgets/flip-box/widget.php:373, widgets/horizontal-timeline/widget.php:246, widgets/image-compare/widget.php:153, widgets/logo-grid/widget.php:200, widgets/post-list/widget.php:169, widgets/post-tab/widget.php:161, widgets/slider/widget.php:172, widgets/taxonomy-list/widget.php:201, widgets/threesixty-rotation/widget.php:85
97
+ msgid "Settings"
98
+ msgstr ""
99
+
100
+ #: classes/dashboard.php:69, classes/dashboard.php:238, templates/template-library/templates.php:69
101
+ msgid "Get Pro"
102
+ msgstr ""
103
+
104
+ #: classes/dashboard.php:159
105
+ msgid "Save Changes"
106
+ msgstr ""
107
+
108
+ #: classes/dashboard.php:160
109
+ msgid "Changes Saved"
110
+ msgstr ""
111
+
112
+ #: classes/dashboard.php:188
113
+ msgid "Happy Elementor Addons Dashboard"
114
+ msgstr ""
115
+
116
+ #: classes/dashboard.php:206
117
+ msgid "%s - Happy Elementor Addons"
118
+ msgstr ""
119
+
120
+ #: classes/dashboard.php:230
121
+ msgid "Home"
122
+ msgstr ""
123
+
124
+ #: classes/dashboard.php:234
125
+ msgid "Widgets"
126
+ msgstr ""
127
+
128
+ #: classes/finder-edit.php:28
129
+ msgid "Edit + Happy Clone"
130
+ msgstr ""
131
+
132
+ #: classes/finder-edit.php:99, classes/finder-edit.php:137
133
+ msgid "Template"
134
+ msgstr ""
135
+
136
+ #: classes/finder-edit.php:106
137
+ msgid "Clone / Duplicate This"
138
+ msgstr ""
139
+
140
+ #: classes/icons-manager.php:15
141
+ msgid "Happy Icons"
142
+ msgstr ""
143
+
144
+ #: classes/library-manager.php:66
145
+ msgid "Post not found."
146
+ msgstr ""
147
+
148
+ #: classes/library-manager.php:86
149
+ msgid "Post not found"
150
+ msgstr ""
151
+
152
+ #: classes/library-manager.php:93
153
+ msgid "Template id missing"
154
+ msgstr ""
155
+
156
+ #: classes/library-source.php:38
157
+ msgid "Happy Library"
158
+ msgstr ""
159
+
160
+ #: classes/library-source.php:210
161
+ msgid "Template does not have any content"
162
+ msgstr ""
163
+
164
+ #: classes/widgets-manager.php:65
165
+ msgid "Advanced Heading"
166
+ msgstr ""
167
+
168
+ #: classes/widgets-manager.php:70
169
+ msgid "List Group"
170
+ msgstr ""
171
+
172
+ #: classes/widgets-manager.php:75
173
+ msgid "Hover Box"
174
+ msgstr ""
175
+
176
+ #: classes/widgets-manager.php:80
177
+ msgid "Countdown"
178
+ msgstr ""
179
+
180
+ #: classes/widgets-manager.php:85
181
+ msgid "Team Carousel"
182
+ msgstr ""
183
+
184
+ #: classes/widgets-manager.php:90
185
+ msgid "Logo Carousel"
186
+ msgstr ""
187
+
188
+ #: classes/widgets-manager.php:95
189
+ msgid "Source Code"
190
+ msgstr ""
191
+
192
+ #: classes/widgets-manager.php:100
193
+ msgid "Feature List"
194
+ msgstr ""
195
+
196
+ #: classes/widgets-manager.php:105
197
+ msgid "Testimonial Carousel"
198
+ msgstr ""
199
+
200
+ #: classes/widgets-manager.php:110
201
+ msgid "Advanced Tabs"
202
+ msgstr ""
203
+
204
+ #: classes/widgets-manager.php:115
205
+ msgid "Animated Text"
206
+ msgstr ""
207
+
208
+ #: classes/widgets-manager.php:120, widgets/horizontal-timeline/widget.php:54
209
+ msgid "Timeline"
210
+ msgstr ""
211
+
212
+ #: classes/widgets-manager.php:125
213
+ msgid "Instagram Feed"
214
+ msgstr ""
215
+
216
+ #: classes/widgets-manager.php:130
217
+ msgid "Scrolling Image"
218
+ msgstr ""
219
+
220
+ #: classes/widgets-manager.php:135
221
+ msgid "Advanced Toggle"
222
+ msgstr ""
223
+
224
+ #: classes/widgets-manager.php:140
225
+ msgid "Advanced Accordion"
226
+ msgstr ""
227
+
228
+ #: classes/widgets-manager.php:145
229
+ msgid "Advanced Pricing Table"
230
+ msgstr ""
231
+
232
+ #: classes/widgets-manager.php:150
233
+ msgid "Advanced Flip Box"
234
+ msgstr ""
235
+
236
+ #: classes/widgets-manager.php:155
237
+ msgid "Business Hour"
238
+ msgstr ""
239
+
240
+ #: classes/widgets-manager.php:160
241
+ msgid "Promo Box"
242
+ msgstr ""
243
+
244
+ #: classes/widgets-manager.php:178, widgets/infobox/widget.php:33
245
+ msgid "Info Box"
246
+ msgstr ""
247
+
248
+ #: classes/widgets-manager.php:189, widgets/card/widget.php:35
249
+ msgid "Card"
250
+ msgstr ""
251
+
252
+ #: classes/widgets-manager.php:200, widgets/cf7/widget.php:28, widgets/cf7/widget.php:55
253
+ msgid "Contact Form 7"
254
+ msgstr ""
255
+
256
+ #: classes/widgets-manager.php:211, widgets/icon-box/widget.php:30
257
+ msgid "Icon Box"
258
+ msgstr ""
259
+
260
+ #: classes/widgets-manager.php:222, widgets/member/widget.php:36
261
+ msgid "Team Member"
262
+ msgstr ""
263
+
264
+ #: classes/widgets-manager.php:233, widgets/review/widget.php:30, widgets/review/widget.php:64, widgets/review/widget.php:109, widgets/review/widget.php:489
265
+ msgid "Review"
266
+ msgstr ""
267
+
268
+ #: classes/widgets-manager.php:244, widgets/image-compare/widget.php:31
269
+ msgid "Image Compare"
270
+ msgstr ""
271
+
272
+ #: classes/widgets-manager.php:255, widgets/justified-gallery/widget.php:31
273
+ msgid "Justified Grid"
274
+ msgstr ""
275
+
276
+ #: classes/widgets-manager.php:266, widgets/image-grid/widget.php:31
277
+ msgid "Image Grid"
278
+ msgstr ""
279
+
280
+ #: classes/widgets-manager.php:277, widgets/slider/widget.php:31
281
+ msgid "Slider"
282
+ msgstr ""
283
+
284
+ #: classes/widgets-manager.php:288, widgets/carousel/widget.php:31
285
+ msgid "Carousel"
286
+ msgstr ""
287
+
288
+ #: classes/widgets-manager.php:299, widgets/skills/widget.php:29, widgets/skills/widget.php:200
289
+ msgid "Skill Bars"
290
+ msgstr ""
291
+
292
+ #: classes/widgets-manager.php:310, widgets/gradient-heading/widget.php:28
293
+ msgid "Gradient Heading"
294
+ msgstr ""
295
+
296
+ #: classes/widgets-manager.php:321, widgets/wpform/widget.php:28, widgets/wpform/widget.php:55
297
+ msgid "WPForms"
298
+ msgstr ""
299
+
300
+ #: classes/widgets-manager.php:332, widgets/ninjaform/widget.php:28, widgets/ninjaform/widget.php:55
301
+ msgid "Ninja Forms"
302
+ msgstr ""
303
+
304
+ #: classes/widgets-manager.php:343, widgets/calderaform/widget.php:27, widgets/calderaform/widget.php:54
305
+ msgid "Caldera Forms"
306
+ msgstr ""
307
+
308
+ #: classes/widgets-manager.php:354, widgets/weform/widget.php:29, widgets/weform/widget.php:61
309
+ msgid "weForms"
310
+ msgstr ""
311
+
312
+ #: classes/widgets-manager.php:365, widgets/logo-grid/widget.php:29, widgets/logo-grid/widget.php:56
313
+ msgid "Logo Grid"
314
+ msgstr ""
315
+
316
+ #: classes/widgets-manager.php:376, widgets/dual-button/widget.php:28
317
+ msgid "Dual Button"
318
+ msgstr ""
319
+
320
+ #: classes/widgets-manager.php:387, widgets/testimonial/widget.php:31, widgets/testimonial/widget.php:58, widgets/testimonial/widget.php:66, widgets/testimonial/widget.php:191
321
+ msgid "Testimonial"
322
+ msgstr ""
323
+
324
+ #: classes/widgets-manager.php:398, widgets/fun-factor/widget.php:171, widgets/fun-factor/widget.php:583, widgets/number/widget.php:34, widgets/number/widget.php:64, widgets/review/widget.php:99
325
+ msgid "Number"
326
+ msgstr ""
327
+
328
+ #: classes/widgets-manager.php:409, widgets/flip-box/widget.php:32
329
+ msgid "Flip Box"
330
+ msgstr ""
331
+
332
+ #: classes/widgets-manager.php:420, widgets/calendly/widget.php:26, widgets/calendly/widget.php:56, widgets/calendly/widget.php:136
333
+ msgid "Calendly"
334
+ msgstr ""
335
+
336
+ #: classes/widgets-manager.php:431, widgets/pricing-table/widget.php:30
337
+ msgid "Pricing Table"
338
+ msgstr ""
339
+
340
+ #: classes/widgets-manager.php:442, widgets/step-flow/widget.php:28, widgets/step-flow/widget.php:55
341
+ msgid "Step Flow"
342
+ msgstr ""
343
+
344
+ #: classes/widgets-manager.php:452, widgets/gravityforms/widget.php:28, widgets/gravityforms/widget.php:60
345
+ msgid "Gravity Forms"
346
+ msgstr ""
347
+
348
+ #: classes/widgets-manager.php:462, widgets/news-ticker/widget.php:31, widgets/news-ticker/widget.php:80
349
+ msgid "News Ticker"
350
+ msgstr ""
351
+
352
+ #: classes/widgets-manager.php:472, widgets/fun-factor/widget.php:33
353
+ msgid "Fun Factor"
354
+ msgstr ""
355
+
356
+ #: classes/widgets-manager.php:483, widgets/bar-chart/widget.php:27, widgets/bar-chart/widget.php:50
357
+ msgid "Bar Chart"
358
+ msgstr ""
359
+
360
+ #: classes/widgets-manager.php:493, widgets/member/widget.php:879, widgets/social-icons/widget.php:31, widgets/social-icons/widget.php:296
361
+ msgid "Social Icons"
362
+ msgstr ""
363
+
364
+ #: classes/widgets-manager.php:503, widgets/twitter-feed/widget.php:30, widgets/twitter-feed/widget.php:57
365
+ msgid "Twitter Feed"
366
+ msgstr ""
367
+
368
+ #: classes/widgets-manager.php:513, widgets/post-list/widget.php:35
369
+ msgid "Post List"
370
+ msgstr ""
371
+
372
+ #: classes/widgets-manager.php:523, widgets/post-tab/widget.php:31
373
+ msgid "Post Tab"
374
+ msgstr ""
375
+
376
+ #: classes/widgets-manager.php:533, widgets/taxonomy-list/widget.php:35
377
+ msgid "Taxonomy List"
378
+ msgstr ""
379
+
380
+ #: classes/widgets-manager.php:543, widgets/threesixty-rotation/widget.php:59
381
+ msgid "Threesixty Rotation"
382
+ msgstr ""
383
+
384
+ #: classes/widgets-manager.php:553, widgets/fluent-form/widget.php:28, widgets/fluent-form/widget.php:51
385
+ msgid "Fluent Form"
386
+ msgstr ""
387
+
388
+ #: classes/widgets-manager.php:563, widgets/data-table/widget.php:35
389
+ msgid "Data Table"
390
+ msgstr ""
391
+
392
+ #: classes/widgets-manager.php:573, widgets/horizontal-timeline/widget.php:31
393
+ msgid "Horizontal Timeline"
394
+ msgstr ""
395
+
396
+ #: classes/widgets-manager.php:583, widgets/social-share/widget.php:34
397
+ msgid "Social Share"
398
+ msgstr ""
399
+
400
+ #: classes/wpml-manager.php:59
401
+ msgid "Bar Chart: Labels"
402
+ msgstr ""
403
+
404
+ #: classes/wpml-manager.php:64
405
+ msgid "Bar Chart: Title"
406
+ msgstr ""
407
+
408
+ #: classes/wpml-manager.php:78
409
+ msgid "Card: Badge Text"
410
+ msgstr ""
411
+
412
+ #: classes/wpml-manager.php:83
413
+ msgid "Card: Title"
414
+ msgstr ""
415
+
416
+ #: classes/wpml-manager.php:88
417
+ msgid "Card: Description"
418
+ msgstr ""
419
+
420
+ #: classes/wpml-manager.php:93
421
+ msgid "Card: Button Text"
422
+ msgstr ""
423
+
424
+ #: classes/wpml-manager.php:98
425
+ msgid "Card: Button Link"
426
+ msgstr ""
427
+
428
+ #: classes/wpml-manager.php:119
429
+ msgid "Dual Button: Primary Button Text"
430
+ msgstr ""
431
+
432
+ #: classes/wpml-manager.php:124
433
+ msgid "Dual Button: Primary Button Link"
434
+ msgstr ""
435
+
436
+ #: classes/wpml-manager.php:129
437
+ msgid "Dual Button: Connector Text"
438
+ msgstr ""
439
+
440
+ #: classes/wpml-manager.php:134
441
+ msgid "Dual Button: Secondary Button Text"
442
+ msgstr ""
443
+
444
+ #: classes/wpml-manager.php:139
445
+ msgid "Dual Button: Secondary Button Link"
446
+ msgstr ""
447
+
448
+ #: classes/wpml-manager.php:152
449
+ msgid "Flip Box: Front Title"
450
+ msgstr ""
451
+
452
+ #: classes/wpml-manager.php:157
453
+ msgid "Flip Box: Front Description"
454
+ msgstr ""
455
+
456
+ #: classes/wpml-manager.php:162
457
+ msgid "Flip Box: Back Title"
458
+ msgstr ""
459
+
460
+ #: classes/wpml-manager.php:167
461
+ msgid "Flip Box: Back Description"
462
+ msgstr ""
463
+
464
+ #: classes/wpml-manager.php:180
465
+ msgid "Fun Factor: Title"
466
+ msgstr ""
467
+
468
+ #: classes/wpml-manager.php:193
469
+ msgid "Gradient_Heading: Title"
470
+ msgstr ""
471
+
472
+ #: classes/wpml-manager.php:198
473
+ msgid "Gradient_Heading: Link"
474
+ msgstr ""
475
+
476
+ #: classes/wpml-manager.php:211
477
+ msgid "Icon Box: Title"
478
+ msgstr ""
479
+
480
+ #: classes/wpml-manager.php:216
481
+ msgid "Icon Box: Badge Text"
482
+ msgstr ""
483
+
484
+ #: classes/wpml-manager.php:221
485
+ msgid "Icon Box: Link"
486
+ msgstr ""
487
+
488
+ #: classes/wpml-manager.php:234
489
+ msgid "Image Compare: Before Label"
490
+ msgstr ""
491
+
492
+ #: classes/wpml-manager.php:239
493
+ msgid "Image Compare: After Label"
494
+ msgstr ""
495
+
496
+ #: classes/wpml-manager.php:252
497
+ msgid "Image Grid: All Filter Label"
498
+ msgstr ""
499
+
500
+ #: classes/wpml-manager.php:266
501
+ msgid "Info Box: Title"
502
+ msgstr ""
503
+
504
+ #: classes/wpml-manager.php:271
505
+ msgid "Info Box: Description"
506
+ msgstr ""
507
+
508
+ #: classes/wpml-manager.php:276
509
+ msgid "Info Box: Button Text"
510
+ msgstr ""
511
+
512
+ #: classes/wpml-manager.php:281
513
+ msgid "Info Box: Button Link"
514
+ msgstr ""
515
+
516
+ #: classes/wpml-manager.php:294
517
+ msgid "Justified Grid: All Filter Label"
518
+ msgstr ""
519
+
520
+ #: classes/wpml-manager.php:316
521
+ msgid "Team Member: Name"
522
+ msgstr ""
523
+
524
+ #: classes/wpml-manager.php:321
525
+ msgid "Team Member: Job Title"
526
+ msgstr ""
527
+
528
+ #: classes/wpml-manager.php:326
529
+ msgid "Team Member: Short Bio"
530
+ msgstr ""
531
+
532
+ #: classes/wpml-manager.php:339
533
+ msgid "News Ticker: Sticky Title"
534
+ msgstr ""
535
+
536
+ #: classes/wpml-manager.php:352
537
+ msgid "Number: Text"
538
+ msgstr ""
539
+
540
+ #: classes/wpml-manager.php:365
541
+ msgid "Pricing Table: Title"
542
+ msgstr ""
543
+
544
+ #: classes/wpml-manager.php:370
545
+ msgid "Pricing Table: Price"
546
+ msgstr ""
547
+
548
+ #: classes/wpml-manager.php:375
549
+ msgid "Pricing Table: Period"
550
+ msgstr ""
551
+
552
+ #: classes/wpml-manager.php:380
553
+ msgid "Pricing Table: Features Title"
554
+ msgstr ""
555
+
556
+ #: classes/wpml-manager.php:385
557
+ msgid "Pricing Table: Button Text"
558
+ msgstr ""
559
+
560
+ #: classes/wpml-manager.php:390
561
+ msgid "Pricing Table: Button Link"
562
+ msgstr ""
563
+
564
+ #: classes/wpml-manager.php:395
565
+ msgid "Pricing Table: Badge Text"
566
+ msgstr ""
567
+
568
+ #: classes/wpml-manager.php:409
569
+ msgid "Review: Review Text"
570
+ msgstr ""
571
+
572
+ #: classes/wpml-manager.php:414
573
+ msgid "Review: Reviewer Name"
574
+ msgstr ""
575
+
576
+ #: classes/wpml-manager.php:419
577
+ msgid "Review: Job Title"
578
+ msgstr ""
579
+
580
+ #: classes/wpml-manager.php:456
581
+ msgid "Step Flow: Badge Text"
582
+ msgstr ""
583
+
584
+ #: classes/wpml-manager.php:461
585
+ msgid "Step Flow: Title"
586
+ msgstr ""
587
+
588
+ #: classes/wpml-manager.php:466
589
+ msgid "Step Flow: Description"
590
+ msgstr ""
591
+
592
+ #: classes/wpml-manager.php:471
593
+ msgid "Step Flow: Link"
594
+ msgstr ""
595
+
596
+ #: classes/wpml-manager.php:484
597
+ msgid "Testimonial: Testimonial Text"
598
+ msgstr ""
599
+
600
+ #: classes/wpml-manager.php:489
601
+ msgid "Testimonial: Reviewer Name"
602
+ msgstr ""
603
+
604
+ #: classes/wpml-manager.php:494
605
+ msgid "Testimonial: Job Title"
606
+ msgstr ""
607
+
608
+ #: classes/wpml-manager.php:507
609
+ msgid "Twitter Feed: Read More Text"
610
+ msgstr ""
611
+
612
+ #: classes/wpml-manager.php:512
613
+ msgid "Twitter Feed: Load More Text"
614
+ msgstr ""
615
+
616
+ #: controls/foreground.php:57, controls/foreground.php:78
617
+ msgctxt "Background Control"
618
+ msgid "Text Color"
619
+ msgstr ""
620
+
621
+ #: controls/foreground.php:63
622
+ msgctxt "Text Color Control"
623
+ msgid "Classic"
624
+ msgstr ""
625
+
626
+ #: controls/foreground.php:67
627
+ msgctxt "Text Color Control"
628
+ msgid "Gradient"
629
+ msgstr ""
630
+
631
+ #: controls/foreground.php:75
632
+ msgctxt "Background Control"
633
+ msgid "Color"
634
+ msgstr ""
635
+
636
+ #: controls/foreground.php:88, controls/foreground.php:114
637
+ msgctxt "Background Control"
638
+ msgid "Location"
639
+ msgstr ""
640
+
641
+ #: controls/foreground.php:103
642
+ msgctxt "Background Control"
643
+ msgid "Second Color"
644
+ msgstr ""
645
+
646
+ #: controls/foreground.php:129
647
+ msgctxt "Background Control"
648
+ msgid "Type"
649
+ msgstr ""
650
+
651
+ #: controls/foreground.php:132
652
+ msgctxt "Background Control"
653
+ msgid "Linear"
654
+ msgstr ""
655
+
656
+ #: controls/foreground.php:133
657
+ msgctxt "Background Control"
658
+ msgid "Radial"
659
+ msgstr ""
660
+
661
+ #: controls/foreground.php:144
662
+ msgctxt "Background Control"
663
+ msgid "Angle"
664
+ msgstr ""
665
+
666
+ #: controls/foreground.php:167
667
+ msgctxt "Background Control"
668
+ msgid "Position"
669
+ msgstr ""
670
+
671
+ #: controls/foreground.php:170
672
+ msgctxt "Background Control"
673
+ msgid "Center Center"
674
+ msgstr ""
675
+
676
+ #: controls/foreground.php:171
677
+ msgctxt "Background Control"
678
+ msgid "Center Left"
679
+ msgstr ""
680
+
681
+ #: controls/foreground.php:172
682
+ msgctxt "Background Control"
683
+ msgid "Center Right"
684
+ msgstr ""
685
+
686
+ #: controls/foreground.php:173
687
+ msgctxt "Background Control"
688
+ msgid "Top Center"
689
+ msgstr ""
690
+
691
+ #: controls/foreground.php:174
692
+ msgctxt "Background Control"
693
+ msgid "Top Left"
694
+ msgstr ""
695
+
696
+ #: controls/foreground.php:175
697
+ msgctxt "Background Control"
698
+ msgid "Top Right"
699
+ msgstr ""
700
+
701
+ #: controls/foreground.php:176
702
+ msgctxt "Background Control"
703
+ msgid "Bottom Center"
704
+ msgstr ""
705
+
706
+ #: controls/foreground.php:177
707
+ msgctxt "Background Control"
708
+ msgid "Bottom Left"
709
+ msgstr ""
710
+
711
+ #: controls/foreground.php:178
712
+ msgctxt "Background Control"
713
+ msgid "Bottom Right"
714
+ msgstr ""
715
+
716
+ #: extensions/background-overlay.php:44, widgets/flip-box/widget.php:499, widgets/flip-box/widget.php:843, widgets/twitter-feed/widget.php:498
717
+ msgid "Background Overlay"
718
+ msgstr ""
719
+
720
+ #: extensions/background-overlay.php:57, extensions/background-overlay.php:106, extensions/happy-effects.php:510, inc/functions.php:123, widgets/bar-chart/widget.php:528, widgets/bar-chart/widget.php:550, widgets/bar-chart/widget.php:668, widgets/bar-chart/widget.php:690, widgets/bar-chart/widget.php:799, widgets/bar-chart/widget.php:821, widgets/bar-chart/widget.php:912, widgets/bar-chart/widget.php:934, widgets/bar-chart/widget.php:1114, widgets/bar-chart/widget.php:1136, widgets/bar-chart/widget.php:1215, widgets/bar-chart/widget.php:1237, widgets/calderaform/widget.php:180, widgets/calderaform/widget.php:471, widgets/card/widget.php:571, widgets/card/widget.php:1009, widgets/carousel/widget.php:556, widgets/carousel/widget.php:702, widgets/cf7/widget.php:239, widgets/cf7/widget.php:454, widgets/data-table/widget.php:806, widgets/dual-button/widget.php:532, widgets/dual-button/widget.php:733, widgets/fluent-form/widget.php:193, widgets/fluent-form/widget.php:525, widgets/gradient-heading/widget.php:196, widgets/gravityforms/widget.php:225, widgets/gravityforms/widget.php:568, widgets/gravityforms/widget.php:801, widgets/horizontal-timeline/widget.php:597, widgets/icon-box/widget.php:292, widgets/icon-box/widget.php:448, widgets/image-grid/widget.php:346, widgets/image-grid/widget.php:576, widgets/infobox/widget.php:791, widgets/justified-gallery/widget.php:345, widgets/justified-gallery/widget.php:643, widgets/logo-grid/widget.php:501, widgets/member/widget.php:334, widgets/member/widget.php:944, widgets/member/widget.php:1101, widgets/news-ticker/widget.php:384, widgets/ninjaform/widget.php:182, widgets/ninjaform/widget.php:463, widgets/post-list/widget.php:690, widgets/post-tab/widget.php:374, widgets/post-tab/widget.php:648, widgets/post-tab/widget.php:707, widgets/pricing-table/widget.php:756, widgets/slider/widget.php:504, widgets/slider/widget.php:650, widgets/social-icons/widget.php:201, widgets/social-icons/widget.php:463, widgets/social-share/widget.php:288, widgets/social-share/widget.php:623, widgets/taxonomy-list/widget.php:532, widgets/threesixty-rotation/widget.php:411, widgets/twitter-feed/widget.php:741, widgets/twitter-feed/widget.php:1126, widgets/weform/widget.php:218, widgets/weform/widget.php:551, widgets/wpform/widget.php:558
721
+ msgid "Normal"
722
+ msgstr ""
723
+
724
+ #: extensions/background-overlay.php:72, extensions/background-overlay.php:143, widgets/card/widget.php:578, widgets/card/widget.php:612, widgets/image-grid/widget.php:353, widgets/image-grid/widget.php:387, widgets/justified-gallery/widget.php:352, widgets/justified-gallery/widget.php:386, widgets/logo-grid/widget.php:508, widgets/logo-grid/widget.php:542, widgets/number/widget.php:269
725
+ msgid "Opacity"
726
+ msgstr ""
727
+
728
+ #: extensions/background-overlay.php:103, widgets/gradient-heading/widget.php:193
729
+ msgid "Blend Mode"
730
+ msgstr ""
731
+
732
+ #: extensions/background-overlay.php:128, extensions/happy-effects.php:848, widgets/calderaform/widget.php:503, widgets/card/widget.php:605, widgets/card/widget.php:1041, widgets/carousel/widget.php:588, widgets/carousel/widget.php:722, widgets/cf7/widget.php:486, widgets/data-table/widget.php:880, widgets/dual-button/widget.php:563, widgets/dual-button/widget.php:764, widgets/fluent-form/widget.php:557, widgets/gravityforms/widget.php:600, widgets/gravityforms/widget.php:835, widgets/horizontal-timeline/widget.php:629, widgets/icon-box/widget.php:348, widgets/icon-box/widget.php:468, widgets/image-grid/widget.php:380, widgets/image-grid/widget.php:608, widgets/infobox/widget.php:841, widgets/justified-gallery/widget.php:379, widgets/justified-gallery/widget.php:675, widgets/logo-grid/widget.php:535, widgets/member/widget.php:368, widgets/member/widget.php:974, widgets/member/widget.php:1133, widgets/news-ticker/widget.php:404, widgets/ninjaform/widget.php:495, widgets/post-list/widget.php:709, widgets/post-tab/widget.php:404, widgets/post-tab/widget.php:667, widgets/post-tab/widget.php:727, widgets/pricing-table/widget.php:787, widgets/slider/widget.php:536, widgets/slider/widget.php:670, widgets/social-icons/widget.php:249, widgets/social-icons/widget.php:509, widgets/social-share/widget.php:339, widgets/social-share/widget.php:665, widgets/taxonomy-list/widget.php:551, widgets/threesixty-rotation/widget.php:441, widgets/twitter-feed/widget.php:777, widgets/twitter-feed/widget.php:1157, widgets/weform/widget.php:583, widgets/wpform/widget.php:590
733
+ msgid "Hover"
734
+ msgstr ""
735
+
736
+ #: extensions/background-overlay.php:174, extensions/happy-effects.php:1184, widgets/card/widget.php:638, widgets/image-grid/widget.php:413, widgets/justified-gallery/widget.php:412, widgets/logo-grid/widget.php:568
737
+ msgid "Transition Duration"
738
+ msgstr ""
739
+
740
+ #: extensions/column-extended.php:24
741
+ msgid "Custom Column Width"
742
+ msgstr ""
743
+
744
+ #: extensions/column-extended.php:28
745
+ msgid "Here you can set the column width the way you always wanted to! e.g 250px, 50%, calc(100% - 250px)"
746
+ msgstr ""
747
+
748
+ #: extensions/column-extended.php:38
749
+ msgid "Column Order"
750
+ msgstr ""
751
+
752
+ #: extensions/column-extended.php:45
753
+ msgid "Column ordering is a great addition for responsive design. You can learn more about CSS order property from %sMDN%s."
754
+ msgstr ""
755
+
756
+ #: extensions/happy-effects.php:19
757
+ msgid "Happy Effects"
758
+ msgstr ""
759
+
760
+ #: extensions/happy-effects.php:48
761
+ msgid "Floating Effects"
762
+ msgstr ""
763
+
764
+ #: extensions/happy-effects.php:58, extensions/happy-effects.php:520, extensions/happy-effects.php:858
765
+ msgid "Translate"
766
+ msgstr ""
767
+
768
+ #: extensions/happy-effects.php:73, extensions/happy-effects.php:534, extensions/happy-effects.php:872
769
+ msgid "Translate X"
770
+ msgstr ""
771
+
772
+ #: extensions/happy-effects.php:89, extensions/happy-effects.php:122, extensions/happy-effects.php:219, extensions/happy-effects.php:252, extensions/happy-effects.php:285, extensions/happy-effects.php:383, extensions/happy-effects.php:417
773
+ msgid "From"
774
+ msgstr ""
775
+
776
+ #: extensions/happy-effects.php:90, extensions/happy-effects.php:123, extensions/happy-effects.php:220, extensions/happy-effects.php:253, extensions/happy-effects.php:286, extensions/happy-effects.php:384, extensions/happy-effects.php:418, widgets/social-share/widget.php:204
777
+ msgid "To"
778
+ msgstr ""
779
+
780
+ #: extensions/happy-effects.php:106, extensions/happy-effects.php:556, extensions/happy-effects.php:894
781
+ msgid "Translate Y"
782
+ msgstr ""
783
+
784
+ #: extensions/happy-effects.php:139, extensions/happy-effects.php:302, extensions/happy-effects.php:434, widgets/bar-chart/widget.php:366, widgets/fun-factor/widget.php:210, widgets/number/widget.php:98
785
+ msgid "Duration"
786
+ msgstr ""
787
+
788
+ #: extensions/happy-effects.php:164, extensions/happy-effects.php:327, extensions/happy-effects.php:459
789
+ msgid "Delay"
790
+ msgstr ""
791
+
792
+ #: extensions/happy-effects.php:188, extensions/happy-effects.php:580, extensions/happy-effects.php:918, widgets/social-icons/widget.php:714
793
+ msgid "Rotate"
794
+ msgstr ""
795
+
796
+ #: extensions/happy-effects.php:203, extensions/happy-effects.php:620, extensions/happy-effects.php:958
797
+ msgid "Rotate X"
798
+ msgstr ""
799
+
800
+ #: extensions/happy-effects.php:236, extensions/happy-effects.php:643, extensions/happy-effects.php:981
801
+ msgid "Rotate Y"
802
+ msgstr ""
803
+
804
+ #: extensions/happy-effects.php:269
805
+ msgid "Rotate Z"
806
+ msgstr ""
807
+
808
+ #: extensions/happy-effects.php:351, extensions/happy-effects.php:690, extensions/happy-effects.php:1028
809
+ msgid "Scale"
810
+ msgstr ""
811
+
812
+ #: extensions/happy-effects.php:366
813
+ msgid "Scale X"
814
+ msgstr ""
815
+
816
+ #: extensions/happy-effects.php:400, extensions/happy-effects.php:757, extensions/happy-effects.php:1095
817
+ msgid "Scale Y"
818
+ msgstr ""
819
+
820
+ #: extensions/happy-effects.php:491, widgets/horizontal-timeline/widget.php:231
821
+ msgid "CSS Transform"
822
+ msgstr ""
823
+
824
+ #: extensions/happy-effects.php:593, extensions/happy-effects.php:704, extensions/happy-effects.php:931, extensions/happy-effects.php:1042, widgets/bar-chart/widget.php:1022
825
+ msgid "Mode"
826
+ msgstr ""
827
+
828
+ #: extensions/happy-effects.php:597, extensions/happy-effects.php:708, extensions/happy-effects.php:935, extensions/happy-effects.php:1046
829
+ msgid "Compact"
830
+ msgstr ""
831
+
832
+ #: extensions/happy-effects.php:601, extensions/happy-effects.php:712, extensions/happy-effects.php:939, extensions/happy-effects.php:1050
833
+ msgid "Loose"
834
+ msgstr ""
835
+
836
+ #: extensions/happy-effects.php:666, extensions/happy-effects.php:1004
837
+ msgid "Rotate (Z)"
838
+ msgstr ""
839
+
840
+ #: extensions/happy-effects.php:731, extensions/happy-effects.php:1069
841
+ msgid "Scale (X)"
842
+ msgstr ""
843
+
844
+ #: extensions/happy-effects.php:786, extensions/happy-effects.php:1124
845
+ msgid "Skew"
846
+ msgstr ""
847
+
848
+ #: extensions/happy-effects.php:800, extensions/happy-effects.php:1138
849
+ msgid "Skew X"
850
+ msgstr ""
851
+
852
+ #: extensions/happy-effects.php:822, extensions/happy-effects.php:1160
853
+ msgid "Skew Y"
854
+ msgstr ""
855
+
856
+ #: extensions/happy-grid.php:19, extensions/happy-grid.php:27
857
+ msgid "Grid Layer"
858
+ msgstr ""
859
+
860
+ #: extensions/happy-grid.php:28
861
+ msgid "Use \"Cmd/Ctrl + Shift + G\" to On/Off Grid Layer"
862
+ msgstr ""
863
+
864
+ #: extensions/happy-grid.php:30, widgets/post-list/widget.php:581, widgets/taxonomy-list/widget.php:423, widgets/threesixty-rotation/widget.php:138
865
+ msgid "On"
866
+ msgstr ""
867
+
868
+ #: extensions/happy-grid.php:31, widgets/post-list/widget.php:582, widgets/taxonomy-list/widget.php:424, widgets/threesixty-rotation/widget.php:139
869
+ msgid "Off"
870
+ msgstr ""
871
+
872
+ #: extensions/happy-grid.php:40
873
+ msgid "Grid Number"
874
+ msgstr ""
875
+
876
+ #: extensions/happy-grid.php:59
877
+ msgid "Max Width"
878
+ msgstr ""
879
+
880
+ #: extensions/happy-grid.php:97, widgets/card/widget.php:463, widgets/card/widget.php:697, widgets/fun-factor/widget.php:491, widgets/icon-box/widget.php:499, widgets/infobox/widget.php:452, widgets/review/widget.php:579, widgets/step-flow/widget.php:639
881
+ msgid "Offset"
882
+ msgstr ""
883
+
884
+ #: extensions/happy-grid.php:144
885
+ msgid "Gutter"
886
+ msgstr ""
887
+
888
+ #: extensions/happy-grid.php:187
889
+ msgid "Z-Index"
890
+ msgstr ""
891
+
892
+ #: extensions/happy-grid.php:201, widgets/bar-chart/widget.php:465
893
+ msgid "Grid Color"
894
+ msgstr ""
895
+
896
+ #: extensions/happy-grid.php:214
897
+ msgid "Grid Layer On"
898
+ msgstr ""
899
+
900
+ #: extensions/widgets-extended.php:24
901
+ msgid "Fixed Size"
902
+ msgstr ""
903
+
904
+ #: extensions/widgets-extended.php:35, widgets/calendly/widget.php:101, widgets/card/widget.php:445, widgets/flip-box/widget.php:416, widgets/fun-factor/widget.php:361, widgets/fun-factor/widget.php:725, widgets/horizontal-timeline/widget.php:797, widgets/image-grid/widget.php:291, widgets/infobox/widget.php:431, widgets/justified-gallery/widget.php:192, widgets/logo-grid/widget.php:280, widgets/member/widget.php:624, widgets/review/widget.php:561, widgets/skills/widget.php:208, widgets/testimonial/widget.php:312
905
+ msgid "Height"
906
+ msgstr ""
907
+
908
+ #: extensions/widgets-extended.php:57, widgets/card/widget.php:412, widgets/cf7/widget.php:121, widgets/fun-factor/widget.php:332, widgets/fun-factor/widget.php:704, widgets/horizontal-timeline/widget.php:779, widgets/infobox/widget.php:406, widgets/member/widget.php:602, widgets/review/widget.php:539, widgets/step-flow/widget.php:594, widgets/testimonial/widget.php:286, widgets/threesixty-rotation/widget.php:203, widgets/threesixty-rotation/widget.php:358
909
+ msgid "Width"
910
+ msgstr ""
911
+
912
+ #: extensions/widgets-extended.php:80
913
+ msgid "Horizontal Align"
914
+ msgstr ""
915
+
916
+ #: extensions/widgets-extended.php:85, widgets/bar-chart/widget.php:331, widgets/card/widget.php:99, widgets/card/widget.php:226, widgets/card/widget.php:309, widgets/carousel/widget.php:679, widgets/data-table/widget.php:223, widgets/data-table/widget.php:251, widgets/data-table/widget.php:563, widgets/data-table/widget.php:593, widgets/dual-button/widget.php:450, widgets/flip-box/widget.php:192, widgets/flip-box/widget.php:349, widgets/fun-factor/widget.php:145, widgets/fun-factor/widget.php:256, widgets/gradient-heading/widget.php:129, widgets/gravityforms/widget.php:479, widgets/horizontal-timeline/widget.php:259, widgets/icon-box/widget.php:173, widgets/image-grid/widget.php:551, widgets/infobox/widget.php:241, widgets/justified-gallery/widget.php:618, widgets/member/widget.php:232, widgets/news-ticker/widget.php:104, widgets/news-ticker/widget.php:147, widgets/ninjaform/widget.php:368, widgets/number/widget.php:192, widgets/post-list/widget.php:216, widgets/post-list/widget.php:463, widgets/post-tab/widget.php:213, widgets/post-tab/widget.php:238, widgets/pricing-table/widget.php:329, widgets/review/widget.php:176, widgets/review/widget.php:231, widgets/slider/widget.php:627, widgets/social-icons/widget.php:415, widgets/social-share/widget.php:485, widgets/step-flow/widget.php:186, widgets/taxonomy-list/widget.php:306, widgets/testimonial/widget.php:85, widgets/threesixty-rotation/widget.php:111, widgets/threesixty-rotation/widget.php:167, widgets/twitter-feed/widget.php:316, widgets/twitter-feed/widget.php:345, widgets/twitter-feed/widget.php:371, widgets/weform/widget.php:445, widgets/wpform/widget.php:459
917
+ msgid "Left"
918
+ msgstr ""
919
+
920
+ #: extensions/widgets-extended.php:89, extensions/widgets-extended.php:124, widgets/card/widget.php:230, widgets/card/widget.php:313, widgets/carousel/widget.php:683, widgets/data-table/widget.php:227, widgets/data-table/widget.php:567, widgets/dual-button/widget.php:454, widgets/flip-box/widget.php:196, widgets/flip-box/widget.php:353, widgets/fun-factor/widget.php:260, widgets/gradient-heading/widget.php:133, widgets/gravityforms/widget.php:483, widgets/horizontal-timeline/widget.php:263, widgets/icon-box/widget.php:177, widgets/image-grid/widget.php:555, widgets/infobox/widget.php:245, widgets/justified-gallery/widget.php:622, widgets/member/widget.php:236, widgets/ninjaform/widget.php:372, widgets/number/widget.php:196, widgets/post-list/widget.php:467, widgets/post-tab/widget.php:242, widgets/review/widget.php:235, widgets/slider/widget.php:631, widgets/social-icons/widget.php:419, widgets/social-share/widget.php:489, widgets/step-flow/widget.php:190, widgets/taxonomy-list/widget.php:310, widgets/testimonial/widget.php:89, widgets/threesixty-rotation/widget.php:115, widgets/threesixty-rotation/widget.php:171, widgets/twitter-feed/widget.php:320, widgets/twitter-feed/widget.php:349, widgets/twitter-feed/widget.php:375, widgets/weform/widget.php:449, widgets/wpform/widget.php:463
921
+ msgid "Center"
922
+ msgstr ""
923
+
924
+ #: extensions/widgets-extended.php:93, extensions/widgets-extended.php:128, widgets/bar-chart/widget.php:333, widgets/card/widget.php:107, widgets/card/widget.php:234, widgets/card/widget.php:317, widgets/carousel/widget.php:687, widgets/data-table/widget.php:231, widgets/data-table/widget.php:255, widgets/data-table/widget.php:571, widgets/data-table/widget.php:597, widgets/dual-button/widget.php:458, widgets/flip-box/widget.php:200, widgets/flip-box/widget.php:357, widgets/fun-factor/widget.php:153, widgets/fun-factor/widget.php:264, widgets/gradient-heading/widget.php:137, widgets/gravityforms/widget.php:487, widgets/horizontal-timeline/widget.php:267, widgets/icon-box/widget.php:181, widgets/image-grid/widget.php:559, widgets/infobox/widget.php:249, widgets/justified-gallery/widget.php:626, widgets/member/widget.php:240, widgets/news-ticker/widget.php:108, widgets/news-ticker/widget.php:151, widgets/ninjaform/widget.php:376, widgets/number/widget.php:200, widgets/post-list/widget.php:471, widgets/post-tab/widget.php:221, widgets/post-tab/widget.php:246, widgets/pricing-table/widget.php:333, widgets/review/widget.php:184, widgets/review/widget.php:239, widgets/slider/widget.php:635, widgets/social-icons/widget.php:423, widgets/social-share/widget.php:493, widgets/step-flow/widget.php:194, widgets/taxonomy-list/widget.php:314, widgets/testimonial/widget.php:93, widgets/threesixty-rotation/widget.php:119, widgets/threesixty-rotation/widget.php:175, widgets/twitter-feed/widget.php:324, widgets/twitter-feed/widget.php:353, widgets/twitter-feed/widget.php:379, widgets/weform/widget.php:453, widgets/wpform/widget.php:467
925
+ msgid "Right"
926
+ msgstr ""
927
+
928
+ #: extensions/widgets-extended.php:115
929
+ msgid "Vertical Align"
930
+ msgstr ""
931
+
932
+ #: extensions/widgets-extended.php:120, widgets/bar-chart/widget.php:330, widgets/card/widget.php:103, widgets/data-table/widget.php:259, widgets/data-table/widget.php:601, widgets/fun-factor/widget.php:149, widgets/post-list/widget.php:220, widgets/post-list/widget.php:411, widgets/post-tab/widget.php:217, widgets/review/widget.php:180, widgets/twitter-feed/widget.php:398
933
+ msgid "Top"
934
+ msgstr ""
935
+
936
+ #: extensions/wrapper-link.php:29
937
+ msgid "Wrapper Link"
938
+ msgstr ""
939
+
940
+ #: extensions/wrapper-link.php:37, widgets/card/widget.php:276, widgets/carousel/widget.php:108, widgets/data-table/widget.php:329, widgets/dual-button/widget.php:85, widgets/dual-button/widget.php:274, widgets/gradient-heading/widget.php:76, widgets/infobox/widget.php:291, widgets/member/widget.php:512, widgets/pricing-table/widget.php:286, widgets/slider/widget.php:108, widgets/social-icons/widget.php:137, widgets/step-flow/widget.php:133
941
+ msgid "Link"
942
+ msgstr ""
943
+
944
+ #: inc/functions.php:82, widgets/bar-chart/widget.php:527, widgets/bar-chart/widget.php:549, widgets/bar-chart/widget.php:667, widgets/bar-chart/widget.php:689, widgets/bar-chart/widget.php:798, widgets/bar-chart/widget.php:820, widgets/bar-chart/widget.php:911, widgets/bar-chart/widget.php:933, widgets/bar-chart/widget.php:1113, widgets/bar-chart/widget.php:1135, widgets/bar-chart/widget.php:1214, widgets/bar-chart/widget.php:1236, widgets/testimonial/widget.php:113
945
+ msgid "Default"
946
+ msgstr ""
947
+
948
+ #: inc/functions.php:83
949
+ msgid "Alias"
950
+ msgstr ""
951
+
952
+ #: inc/functions.php:84
953
+ msgid "All scroll"
954
+ msgstr ""
955
+
956
+ #: inc/functions.php:85
957
+ msgid "Auto"
958
+ msgstr ""
959
+
960
+ #: inc/functions.php:86
961
+ msgid "Cell"
962
+ msgstr ""
963
+
964
+ #: inc/functions.php:87
965
+ msgid "Context menu"
966
+ msgstr ""
967
+
968
+ #: inc/functions.php:88
969
+ msgid "Col-resize"
970
+ msgstr ""
971
+
972
+ #: inc/functions.php:89
973
+ msgid "Copy"
974
+ msgstr ""
975
+
976
+ #: inc/functions.php:90
977
+ msgid "Crosshair"
978
+ msgstr ""
979
+
980
+ #: inc/functions.php:91
981
+ msgid "E-resize"
982
+ msgstr ""
983
+
984
+ #: inc/functions.php:92
985
+ msgid "EW-resize"
986
+ msgstr ""
987
+
988
+ #: inc/functions.php:93
989
+ msgid "Grab"
990
+ msgstr ""
991
+
992
+ #: inc/functions.php:94
993
+ msgid "Grabbing"
994
+ msgstr ""
995
+
996
+ #: inc/functions.php:95
997
+ msgid "Help"
998
+ msgstr ""
999
+
1000
+ #: inc/functions.php:96
1001
+ msgid "Move"
1002
+ msgstr ""
1003
+
1004
+ #: inc/functions.php:97
1005
+ msgid "N-resize"
1006
+ msgstr ""
1007
+
1008
+ #: inc/functions.php:98
1009
+ msgid "NE-resize"
1010
+ msgstr ""
1011
+
1012
+ #: inc/functions.php:99
1013
+ msgid "NESW-resize"
1014
+ msgstr ""
1015
+
1016
+ #: inc/functions.php:100
1017
+ msgid "NS-resize"
1018
+ msgstr ""
1019
+
1020
+ #: inc/functions.php:101
1021
+ msgid "NW-resize"
1022
+ msgstr ""
1023
+
1024
+ #: inc/functions.php:102
1025
+ msgid "NWSE-resize"
1026
+ msgstr ""
1027
+
1028
+ #: inc/functions.php:103
1029
+ msgid "No-drop"
1030
+ msgstr ""
1031
+
1032
+ #: inc/functions.php:104
1033
+ msgid "Not-allowed"
1034
+ msgstr ""
1035
+
1036
+ #: inc/functions.php:105
1037
+ msgid "Pointer"
1038
+ msgstr ""
1039
+
1040
+ #: inc/functions.php:106
1041
+ msgid "Progress"
1042
+ msgstr ""
1043
+
1044
+ #: inc/functions.php:107
1045
+ msgid "Row-resize"
1046
+ msgstr ""
1047
+
1048
+ #: inc/functions.php:108
1049
+ msgid "S-resize"
1050
+ msgstr ""
1051
+
1052
+ #: inc/functions.php:109
1053
+ msgid "SE-resize"
1054
+ msgstr ""
1055
+
1056
+ #: inc/functions.php:110
1057
+ msgid "SW-resize"
1058
+ msgstr ""
1059
+
1060
+ #: inc/functions.php:111, widgets/card/widget.php:262, widgets/dual-button/widget.php:72, widgets/dual-button/widget.php:184, widgets/dual-button/widget.php:204, widgets/dual-button/widget.php:261, widgets/infobox/widget.php:277, widgets/member/widget.php:495, widgets/number/widget.php:72, widgets/number/widget.php:290, widgets/pricing-table/widget.php:183, widgets/social-share/widget.php:431
1061
+ msgid "Text"
1062
+ msgstr ""
1063
+
1064
+ #: inc/functions.php:112
1065
+ msgid "URL"
1066
+ msgstr ""
1067
+
1068
+ #: inc/functions.php:113
1069
+ msgid "W-resize"
1070
+ msgstr ""
1071
+
1072
+ #: inc/functions.php:114
1073
+ msgid "Wait"
1074
+ msgstr ""
1075
+
1076
+ #: inc/functions.php:115
1077
+ msgid "Zoom-in"
1078
+ msgstr ""
1079
+
1080
+ #: inc/functions.php:116
1081
+ msgid "Zoom-out"
1082
+ msgstr ""
1083
+
1084
+ #: inc/functions.php:117, widgets/bar-chart/widget.php:479, widgets/bar-chart/widget.php:619, widgets/bar-chart/widget.php:750, widgets/bar-chart/widget.php:863, widgets/bar-chart/widget.php:1065, widgets/bar-chart/widget.php:1166, widgets/card/widget.php:465, widgets/card/widget.php:699, widgets/carousel/widget.php:277, widgets/carousel/widget.php:478, widgets/data-table/widget.php:113, widgets/data-table/widget.php:390, widgets/flip-box/widget.php:73, widgets/flip-box/widget.php:230, widgets/icon-box/widget.php:501, widgets/image-compare/widget.php:382, widgets/infobox/widget.php:454, widgets/logo-grid/widget.php:301, widgets/pricing-table/widget.php:92, widgets/review/widget.php:581, widgets/slider/widget.php:253, widgets/slider/widget.php:426, widgets/social-icons/widget.php:691, widgets/step-flow/widget.php:641, widgets/threesixty-rotation/widget.php:99
1085
+ msgid "None"
1086
+ msgstr ""
1087
+
1088
+ #: inc/functions.php:124
1089
+ msgid "Multiply"
1090
+ msgstr ""
1091
+
1092
+ #: inc/functions.php:125
1093
+ msgid "Screen"
1094
+ msgstr ""
1095
+
1096
+ #: inc/functions.php:126
1097
+ msgid "Overlay"
1098
+ msgstr ""
1099
+
1100
+ #: inc/functions.php:127
1101
+ msgid "Darken"
1102
+ msgstr ""
1103
+
1104
+ #: inc/functions.php:128
1105
+ msgid "Lighten"
1106
+ msgstr ""
1107
+
1108
+ #: inc/functions.php:129
1109
+ msgid "Color Dodge"
1110
+ msgstr ""
1111
+
1112
+ #: inc/functions.php:130
1113
+ msgid "Color Burn"
1114
+ msgstr ""
1115
+
1116
+ #: inc/functions.php:131
1117
+ msgid "Saturation"
1118
+ msgstr ""
1119
+
1120
+ #: inc/functions.php:132
1121
+ msgid "Difference"
1122
+ msgstr ""
1123
+
1124
+ #: inc/functions.php:133
1125
+ msgid "Exclusion"
1126
+ msgstr ""
1127
+
1128
+ #: inc/functions.php:134
1129
+ msgid "Hue"
1130
+ msgstr ""
1131
+
1132
+ #: inc/functions.php:135, widgets/bar-chart/widget.php:564, widgets/bar-chart/widget.php:704, widgets/bar-chart/widget.php:835, widgets/bar-chart/widget.php:948, widgets/bar-chart/widget.php:1150, widgets/bar-chart/widget.php:1251, widgets/carousel/widget.php:563, widgets/carousel/widget.php:595, widgets/carousel/widget.php:709, widgets/carousel/widget.php:729, widgets/carousel/widget.php:749, widgets/data-table/widget.php:699, widgets/data-table/widget.php:1018, widgets/flip-box/widget.php:666, widgets/flip-box/widget.php:711, widgets/flip-box/widget.php:762, widgets/flip-box/widget.php:858, widgets/flip-box/widget.php:1029, widgets/flip-box/widget.php:1086, widgets/flip-box/widget.php:1125, widgets/fluent-form/widget.php:411, widgets/fluent-form/widget.php:647, widgets/fluent-form/widget.php:667, widgets/fun-factor/widget.php:603, widgets/fun-factor/widget.php:658, widgets/fun-factor/widget.php:751, widgets/gravityforms/widget.php:692, widgets/gravityforms/widget.php:712, widgets/horizontal-timeline/widget.php:401, widgets/horizontal-timeline/widget.php:449, widgets/horizontal-timeline/widget.php:878, widgets/horizontal-timeline/widget.php:920, widgets/horizontal-timeline/widget.php:950, widgets/icon-box/widget.php:299, widgets/icon-box/widget.php:355, widgets/image-compare/widget.php:243, widgets/image-compare/widget.php:461, widgets/infobox/widget.php:564, widgets/post-list/widget.php:697, widgets/post-list/widget.php:716, widgets/post-list/widget.php:754, widgets/post-list/widget.php:909, widgets/post-list/widget.php:956, widgets/post-list/widget.php:1001, widgets/post-tab/widget.php:381, widgets/post-tab/widget.php:411, widgets/post-tab/widget.php:655, widgets/post-tab/widget.php:674, widgets/post-tab/widget.php:714, widgets/post-tab/widget.php:734, widgets/post-tab/widget.php:785, widgets/slider/widget.php:657, widgets/slider/widget.php:677, widgets/slider/widget.php:697, widgets/social-icons/widget.php:208, widgets/social-icons/widget.php:256, widgets/social-icons/widget.php:379, widgets/social-icons/widget.php:470, widgets/social-icons/widget.php:516, widgets/social-icons/widget.php:831, widgets/social-share/widget.php:295, widgets/social-share/widget.php:346, widgets/social-share/widget.php:630, widgets/social-share/widget.php:672, widgets/step-flow/widget.php:326, widgets/step-flow/widget.php:403, widgets/step-flow/widget.php:473, widgets/step-flow/widget.php:538, widgets/step-flow/widget.php:705, widgets/taxonomy-list/widget.php:539, widgets/taxonomy-list/widget.php:558, widgets/twitter-feed/widget.php:584, widgets/twitter-feed/widget.php:868, widgets/twitter-feed/widget.php:913, widgets/twitter-feed/widget.php:975, widgets/twitter-feed/widget.php:1036, widgets/twitter-feed/widget.php:1144, widgets/twitter-feed/widget.php:1175, widgets/weform/widget.php:665, widgets/weform/widget.php:685
1133
+ msgid "Color"
1134
+ msgstr ""
1135
+
1136
+ #: inc/functions.php:136
1137
+ msgid "Luminosity"
1138
+ msgstr ""
1139
+
1140
+ #: inc/functions.php:306
1141
+ msgid "This input field has support for the following HTML tags: %1$s"
1142
+ msgstr ""
1143
+
1144
+ #: wpml/bar-chart.php:33
1145
+ msgid "Bar Chart: Label Text"
1146
+ msgstr ""
1147
+
1148
+ #: wpml/carousel.php:37
1149
+ msgid "Carousel: Title"
1150
+ msgstr ""
1151
+
1152
+ #: wpml/carousel.php:39
1153
+ msgid "Carousel: Subtitle"
1154
+ msgstr ""
1155
+
1156
+ #: wpml/carousel.php:41
1157
+ msgid "Carousel: Link"
1158
+ msgstr ""
1159
+
1160
+ #: wpml/image-grid.php:33
1161
+ msgid "Image Grid: Filter Name"
1162
+ msgstr ""
1163
+
1164
+ #: wpml/justified-gallery.php:33
1165
+ msgid "Justified Grid: Filter Name"
1166
+ msgstr ""
1167
+
1168
+ #: wpml/logo-grid.php:36
1169
+ msgid "Logo Grid: Brand Name"
1170
+ msgstr ""
1171
+
1172
+ #: wpml/logo-grid.php:38
1173
+ msgid "Logo Grid: Link"
1174
+ msgstr ""
1175
+
1176
+ #: wpml/pricing-table.php:33
1177
+ msgid "Pricing Table: Feature Text"
1178
+ msgstr ""
1179
+
1180
+ #: wpml/skills.php:33
1181
+ msgid "Skills: Skill Name"
1182
+ msgstr ""
1183
+
1184
+ #: wpml/slider.php:37
1185
+ msgid "Slider: Title"
1186
+ msgstr ""
1187
+
1188
+ #: wpml/slider.php:39
1189
+ msgid "Slider: Subtitle"
1190
+ msgstr ""
1191
+
1192
+ #: wpml/slider.php:41
1193
+ msgid "Slider: Link"
1194
+ msgstr ""
1195
+
1196
+ #: wpml/social-icons.php:36
1197
+ msgid "Social Icons: Title"
1198
+ msgstr ""
1199
+
1200
+ #: wpml/social-icons.php:38
1201
+ msgid "Social Icons: Link"
1202
+ msgstr ""
1203
+
1204
+ #: templates/admin/dashboard-main.php:37
1205
+ msgid "Tab %s"
1206
+ msgstr ""
1207
+
1208
+ #: templates/admin/dashboard-main.php:44, templates/admin/dashboard-widgets.php:78
1209
+ msgid "Save Settings"
1210
+ msgstr ""
1211
+
1212
+ #: templates/admin/dashboard-widgets.php:16
1213
+ msgid "Happy Widgets"
1214
+ msgstr ""
1215
+
1216
+ #: templates/admin/dashboard-widgets.php:17
1217
+ msgid "Here is the list of our all %s widgets. You can enable or disable widgets from here to optimize loading speed and Elementor editor experience. %sAfter enabling or disabling any widget make sure to click the Save Changes button.%s"
1218
+ msgstr ""
1219
+
1220
+ #: templates/admin/dashboard-widgets.php:20, widgets/calendly/widget.php:80, widgets/image-grid/widget.php:169, widgets/justified-gallery/widget.php:163
1221
+ msgid "All"
1222
+ msgstr ""
1223
+
1224
+ #: templates/admin/dashboard-widgets.php:21
1225
+ msgid "Free"
1226
+ msgstr ""
1227
+
1228
+ #: templates/admin/dashboard-widgets.php:22, templates/admin/dashboard-widgets.php:57, templates/template-library/templates.php:126
1229
+ msgid "Pro"
1230
+ msgstr ""
1231
+
1232
+ #: templates/admin/dashboard-widgets.php:24
1233
+ msgid "Enable All"
1234
+ msgstr ""
1235
+
1236
+ #: templates/admin/dashboard-widgets.php:25
1237
+ msgid "Disable All"
1238
+ msgstr ""
1239
+
1240
+ #: templates/admin/dashboard-widgets.php:63
1241
+ msgid "Click and view demo"
1242
+ msgstr ""
1243
+
1244
+ #: templates/template-library/templates.php:18
1245
+ msgid "Back to Library"
1246
+ msgstr ""
1247
+
1248
+ #: templates/template-library/templates.php:29, templates/template-library/templates.php:30
1249
+ msgid "Desktop view"
1250
+ msgstr ""
1251
+
1252
+ #: templates/template-library/templates.php:33, templates/template-library/templates.php:34
1253
+ msgid "Tab view"
1254
+ msgstr ""
1255
+
1256
+ #: templates/template-library/templates.php:37, templates/template-library/templates.php:38
1257
+ msgid "Mobile view"
1258
+ msgstr ""
1259
+
1260
+ #: templates/template-library/templates.php:44, templates/template-library/templates.php:45
1261
+ msgid "Sync Library"
1262
+ msgstr ""
1263
+
1264
+ #: templates/template-library/templates.php:62
1265
+ msgid "Insert"
1266
+ msgstr ""
1267
+
1268
+ #: templates/template-library/templates.php:83
1269
+ msgid "Loading"
1270
+ msgstr ""
1271
+
1272
+ #: templates/template-library/templates.php:94
1273
+ msgid "Filter"
1274
+ msgstr ""
1275
+
1276
+ #: templates/template-library/templates.php:108
1277
+ msgid "Search Templates:"
1278
+ msgstr ""
1279
+
1280
+ #: templates/template-library/templates.php:109
1281
+ msgid "Search"
1282
+ msgstr ""
1283
+
1284
+ #: templates/template-library/templates.php:133
1285
+ msgid "Preview"
1286
+ msgstr ""
1287
+
1288
+ #: templates/template-library/templates.php:145
1289
+ msgid "Want to learn more about the Happy Library?"
1290
+ msgstr ""
1291
+
1292
+ #: templates/template-library/templates.php:146
1293
+ msgid "Click here"
1294
+ msgstr ""
1295
+
1296
+ #: widgets/bar-chart/widget.php:58, widgets/calderaform/widget.php:90, widgets/cf7/widget.php:92, widgets/gravityforms/widget.php:89, widgets/ninjaform/widget.php:91, widgets/weform/widget.php:98, widgets/wpform/widget.php:335
1297
+ msgstr ""
1298
+
1299
+ #: widgets/bar-chart/widget.php:62
1300
+ msgid "Vertical Bar"
1301
+ msgstr ""
1302
+
1303
+ #: widgets/bar-chart/widget.php:63
1304
+ msgid "Horizontal Bar"
1305
+ msgstr ""
1306
+
1307
+ #: widgets/bar-chart/widget.php:71, widgets/bar-chart/widget.php:720
1308
+ msgid "Labels"
1309
+ msgstr ""
1310
+
1311
+ #: widgets/bar-chart/widget.php:74
1312
+ msgid "January, February, March"
1313
+ msgstr ""
1314
+
1315
+ #: widgets/bar-chart/widget.php:75
1316
+ msgid "Write multiple label with comma ( , ) separator. Example: January, February, March etc"
1317
+ msgstr ""
1318
+
1319
+ #: widgets/bar-chart/widget.php:86, widgets/data-table/widget.php:74, widgets/data-table/widget.php:303, widgets/horizontal-timeline/widget.php:677, widgets/icon-box/widget.php:57, widgets/post-list/widget.php:888, widgets/post-tab/widget.php:561, widgets/skills/widget.php:271, widgets/twitter-feed/widget.php:817
1320
+ msgid "Content"
1321
+ msgstr ""
1322
+
1323
+ #: widgets/bar-chart/widget.php:93, widgets/image-compare/widget.php:88, widgets/image-compare/widget.php:125, widgets/image-compare/widget.php:360
1324
+ msgid "Label"
1325
+ msgstr ""
1326
+
1327
+ #: widgets/bar-chart/widget.php:103
1328
+ msgid "Data"
1329
+ msgstr ""
1330
+
1331
+ #: widgets/bar-chart/widget.php:106
1332
+ msgid "Write data values with comma ( , ) separator. Example: 4, 2, 6"
1333
+ msgstr ""
1334
+
1335
+ #: widgets/bar-chart/widget.php:115, widgets/data-table/widget.php:174, widgets/data-table/widget.php:447, widgets/step-flow/widget.php:576
1336
+ msgid "Style"
1337
+ msgstr ""
1338
+
1339
+ #: widgets/bar-chart/widget.php:122, widgets/bar-chart/widget.php:1041, widgets/calderaform/widget.php:203, widgets/calderaform/widget.php:242, widgets/calderaform/widget.php:490, widgets/calderaform/widget.php:521, widgets/calendly/widget.php:174, widgets/card/widget.php:776, widgets/card/widget.php:1028, widgets/card/widget.php:1059, widgets/carousel/widget.php:575, widgets/carousel/widget.php:606, widgets/cf7/widget.php:262, widgets/cf7/widget.php:301, widgets/cf7/widget.php:473, widgets/cf7/widget.php:504, widgets/data-table/widget.php:457, widgets/dual-button/widget.php:550, widgets/dual-button/widget.php:581, widgets/dual-button/widget.php:642, widgets/dual-button/widget.php:751, widgets/dual-button/widget.php:782, widgets/flip-box/widget.php:680, widgets/flip-box/widget.php:1043, widgets/fluent-form/widget.php:216, widgets/fluent-form/widget.php:255, widgets/fluent-form/widget.php:433, widgets/fluent-form/widget.php:544, widgets/fluent-form/widget.php:575, widgets/fun-factor/widget.php:477, widgets/gravityforms/widget.php:256, widgets/gravityforms/widget.php:304, widgets/gravityforms/widget.php:587, widgets/gravityforms/widget.php:619, widgets/gravityforms/widget.php:821, widgets/gravityforms/widget.php:856, widgets/horizontal-timeline/widget.php:525, widgets/horizontal-timeline/widget.php:616, widgets/horizontal-timeline/widget.php:647, widgets/horizontal-timeline/widget.php:757, widgets/icon-box/widget.php:310, widgets/icon-box/widget.php:366, widgets/icon-box/widget.php:584, widgets/image-compare/widget.php:472, widgets/image-grid/widget.php:595, widgets/image-grid/widget.php:626, widgets/image-grid/widget.php:671, widgets/infobox/widget.php:578, widgets/infobox/widget.php:810, widgets/infobox/widget.php:859, widgets/justified-gallery/widget.php:327, widgets/justified-gallery/widget.php:489, widgets/justified-gallery/widget.php:662, widgets/justified-gallery/widget.php:693, widgets/justified-gallery/widget.php:738, widgets/logo-grid/widget.php:386, widgets/member/widget.php:354, widgets/member/widget.php:388, widgets/member/widget.php:697, widgets/member/widget.php:962, widgets/member/widget.php:992, widgets/member/widget.php:1120, widgets/member/widget.php:1151, widgets/ninjaform/widget.php:205, widgets/ninjaform/widget.php:244, widgets/ninjaform/widget.php:482, widgets/ninjaform/widget.php:513, widgets/pricing-table/widget.php:774, widgets/pricing-table/widget.php:805, widgets/pricing-table/widget.php:865, widgets/review/widget.php:353, widgets/slider/widget.php:523, widgets/slider/widget.php:554, widgets/social-icons/widget.php:221, widgets/social-icons/widget.php:268, widgets/social-icons/widget.php:484, widgets/social-icons/widget.php:529, widgets/social-share/widget.php:310, widgets/social-share/widget.php:360, widgets/social-share/widget.php:642, widgets/social-share/widget.php:683, widgets/step-flow/widget.php:337, widgets/step-flow/widget.php:417, widgets/testimonial/widget.php:234, widgets/twitter-feed/widget.php:1133, widgets/twitter-feed/widget.php:1164, widgets/weform/widget.php:241, widgets/weform/widget.php:280, widgets/weform/widget.php:570, widgets/weform/widget.php:601, widgets/wpform/widget.php:208, widgets/wpform/widget.php:247, widgets/wpform/widget.php:577, widgets/wpform/widget.php:608
1340
+ msgid "Background Color"
1341
+ msgstr ""
1342
+
1343
+ #: widgets/bar-chart/widget.php:130
1344
+ msgid "Background Hover Color"
1345
+ msgstr ""
1346
+
1347
+ #: widgets/bar-chart/widget.php:138, widgets/bar-chart/widget.php:1052, widgets/calderaform/widget.php:532, widgets/card/widget.php:1070, widgets/carousel/widget.php:617, widgets/cf7/widget.php:515, widgets/dual-button/widget.php:592, widgets/dual-button/widget.php:793, widgets/fluent-form/widget.php:586, widgets/gravityforms/widget.php:631, widgets/gravityforms/widget.php:870, widgets/horizontal-timeline/widget.php:658, widgets/icon-box/widget.php:377, widgets/image-grid/widget.php:637, widgets/image-grid/widget.php:682, widgets/infobox/widget.php:870, widgets/justified-gallery/widget.php:704, widgets/justified-gallery/widget.php:749, widgets/logo-grid/widget.php:372, widgets/member/widget.php:401, widgets/member/widget.php:1003, widgets/member/widget.php:1162, widgets/ninjaform/widget.php:524, widgets/pricing-table/widget.php:816, widgets/slider/widget.php:565, widgets/social-icons/widget.php:235, widgets/social-icons/widget.php:280, widgets/social-icons/widget.php:497, widgets/social-icons/widget.php:541, widgets/social-share/widget.php:324, widgets/social-share/widget.php:374, widgets/social-share/widget.php:694, widgets/twitter-feed/widget.php:1186, widgets/weform/widget.php:612, widgets/wpform/widget.php:619
1348
+ msgid "Border Color"
1349
+ msgstr ""
1350
+
1351
+ #: widgets/bar-chart/widget.php:146
1352
+ msgid "Border Hover Color"
1353
+ msgstr ""
1354
+
1355
+ #: widgets/bar-chart/widget.php:162
1356
+ msgid "2, 4, 5"
1357
+ msgstr ""
1358
+
1359
+ #: widgets/bar-chart/widget.php:169
1360
+ msgid "Happy Addons Pro"
1361
+ msgstr ""
1362
+
1363
+ #: widgets/bar-chart/widget.php:170
1364
+ msgid "1, 6, 8"
1365
+ msgstr ""
1366
+
1367
+ #: widgets/bar-chart/widget.php:192
1368
+ msgid "Chart Height"
1369
+ msgstr ""
1370
+
1371
+ #: widgets/bar-chart/widget.php:213
1372
+ msgid "X Axes Grid Lines"
1373
+ msgstr ""
1374
+
1375
+ #: widgets/bar-chart/widget.php:223
1376
+ msgid "Y Axes Grid Lines"
1377
+ msgstr ""
1378
+
1379
+ #: widgets/bar-chart/widget.php:233
1380
+ msgid "Show X Axes Labels"
1381
+ msgstr ""
1382
+
1383
+ #: widgets/bar-chart/widget.php:243
1384
+ msgid "Show Y Axes Labels"
1385
+ msgstr ""
1386
+
1387
+ #: widgets/bar-chart/widget.php:253
1388
+ msgid "Show Tooltips"
1389
+ msgstr ""
1390
+
1391
+ #: widgets/bar-chart/widget.php:263
1392
+ msgid "Show Title"
1393
+ msgstr ""
1394
+
1395
+ #: widgets/bar-chart/widget.php:273, widgets/card/widget.php:157, widgets/card/widget.php:857, widgets/carousel/widget.php:84, widgets/carousel/widget.php:383, widgets/data-table/widget.php:81, widgets/data-table/widget.php:313, widgets/data-table/widget.php:682, widgets/data-table/widget.php:956, widgets/flip-box/widget.php:158, widgets/flip-box/widget.php:315, widgets/flip-box/widget.php:704, widgets/flip-box/widget.php:1067, widgets/fluent-form/widget.php:640, widgets/fun-factor/widget.php:184, widgets/fun-factor/widget.php:637, widgets/gradient-heading/widget.php:55, widgets/gradient-heading/widget.php:63, widgets/gradient-heading/widget.php:159, widgets/gravityforms/widget.php:685, widgets/horizontal-timeline/widget.php:112, widgets/horizontal-timeline/widget.php:847, widgets/icon-box/widget.php:92, widgets/icon-box/widget.php:421, widgets/infobox/widget.php:172, widgets/infobox/widget.php:639, widgets/news-ticker/widget.php:374, widgets/post-list/widget.php:123, widgets/post-list/widget.php:671, widgets/post-tab/widget.php:613, widgets/pricing-table/widget.php:65, widgets/pricing-table/widget.php:167, widgets/pricing-table/widget.php:598, widgets/slider/widget.php:84, widgets/slider/widget.php:333, widgets/step-flow/widget.php:104, widgets/step-flow/widget.php:107, widgets/step-flow/widget.php:454, widgets/taxonomy-list/widget.php:513, widgets/testimonial/widget.php:173, widgets/testimonial/widget.php:423, widgets/weform/widget.php:658
1396
+ msgid "Title"
1397
+ msgstr ""
1398
+
1399
+ #: widgets/bar-chart/widget.php:276
1400
+ msgid "Happy Addons Rocks"
1401
+ msgstr ""
1402
+
1403
+ #: widgets/bar-chart/widget.php:286
1404
+ msgid "Scale Axis Range"
1405
+ msgstr ""
1406
+
1407
+ #: widgets/bar-chart/widget.php:289
1408
+ msgid "Maximum number for the scale."
1409
+ msgstr ""
1410
+
1411
+ #: widgets/bar-chart/widget.php:296
1412
+ msgid "Step Size"
1413
+ msgstr ""
1414
+
1415
+ #: widgets/bar-chart/widget.php:300
1416
+ msgid "Step size for the scale."
1417
+ msgstr ""
1418
+
1419
+ #: widgets/bar-chart/widget.php:307, widgets/bar-chart/widget.php:580
1420
+ msgid "Legend"
1421
+ msgstr ""
1422
+
1423
+ #: widgets/bar-chart/widget.php:316
1424
+ msgid "Show Legend"
1425
+ msgstr ""
1426
+
1427
+ #: widgets/bar-chart/widget.php:326, widgets/card/widget.php:677, widgets/carousel/widget.php:476, widgets/fun-factor/widget.php:140, widgets/image-compare/widget.php:380, widgets/member/widget.php:478, widgets/pricing-table/widget.php:324, widgets/slider/widget.php:424
1428
+ msgid "Position"
1429
+ msgstr ""
1430
+
1431
+ #: widgets/bar-chart/widget.php:332, widgets/data-table/widget.php:263, widgets/data-table/widget.php:605, widgets/post-list/widget.php:412, widgets/twitter-feed/widget.php:402
1432
+ msgid "Bottom"
1433
+ msgstr ""
1434
+
1435
+ #: widgets/bar-chart/widget.php:344
1436
+ msgid "Reverse"
1437
+ msgstr ""
1438
+
1439
+ #: widgets/bar-chart/widget.php:357, widgets/social-icons/widget.php:702, widgets/social-icons/widget.php:736, widgets/social-icons/widget.php:768
1440
+ msgid "Animation"
1441
+ msgstr ""
1442
+
1443
+ #: widgets/bar-chart/widget.php:379
1444
+ msgid "Easing"
1445
+ msgstr ""
1446
+
1447
+ #: widgets/bar-chart/widget.php:383
1448
+ msgid "Linear"
1449
+ msgstr ""
1450
+
1451
+ #: widgets/bar-chart/widget.php:384
1452
+ msgid "Ease In Cubic"
1453
+ msgstr ""
1454
+
1455
+ #: widgets/bar-chart/widget.php:385
1456
+ msgid "Ease In Circ"
1457
+ msgstr ""
1458
+
1459
+ #: widgets/bar-chart/widget.php:386
1460
+ msgid "Ease In Bounce"
1461
+ msgstr ""
1462
+
1463
+ #: widgets/bar-chart/widget.php:398, widgets/dual-button/widget.php:382, widgets/flip-box/widget.php:408, widgets/post-list/widget.php:507, widgets/social-icons/widget.php:453, widgets/taxonomy-list/widget.php:349, widgets/twitter-feed/widget.php:430
1464
+ msgid "Common"
1465
+ msgstr ""
1466
+
1467
+ #: widgets/bar-chart/widget.php:406, widgets/bar-chart/widget.php:728, widgets/bar-chart/widget.php:972, widgets/calderaform/widget.php:121, widgets/calderaform/widget.php:279, widgets/calderaform/widget.php:413, widgets/card/widget.php:520, widgets/card/widget.php:753, widgets/card/widget.php:950, widgets/cf7/widget.php:171, widgets/cf7/widget.php:395, widgets/data-table/widget.php:636, widgets/data-table/widget.php:783, widgets/dual-button/widget.php:390, widgets/dual-button/widget.php:480, widgets/dual-button/widget.php:681, widgets/flip-box/widget.php:462, widgets/flip-box/widget.php:613, widgets/flip-box/widget.php:806, widgets/flip-box/widget.php:976, widgets/fluent-form/widget.php:125, widgets/fluent-form/widget.php:358, widgets/fluent-form/widget.php:466, widgets/fun-factor/widget.php:425, widgets/fun-factor/widget.php:572, widgets/gravityforms/widget.php:156, widgets/gravityforms/widget.php:516, widgets/horizontal-timeline/widget.php:469, widgets/horizontal-timeline/widget.php:716, widgets/icon-box/widget.php:230, widgets/icon-box/widget.php:561, widgets/image-compare/widget.php:368, widgets/image-grid/widget.php:314, widgets/image-grid/widget.php:482, widgets/infobox/widget.php:520, widgets/infobox/widget.php:732, widgets/justified-gallery/widget.php:466, widgets/justified-gallery/widget.php:549, widgets/logo-grid/widget.php:268, widgets/member/widget.php:654, widgets/member/widget.php:899, widgets/member/widget.php:1042, widgets/news-ticker/widget.php:250, widgets/news-ticker/widget.php:360, widgets/ninjaform/widget.php:122, widgets/ninjaform/widget.php:281, widgets/ninjaform/widget.php:404, widgets/number/widget.php:146, widgets/post-list/widget.php:527, widgets/post-tab/widget.php:310, widgets/post-tab/widget.php:361, widgets/post-tab/widget.php:507, widgets/pricing-table/widget.php:697, widgets/pricing-table/widget.php:842, widgets/review/widget.php:330, widgets/review/widget.php:635, widgets/social-icons/widget.php:555, widgets/social-icons/widget.php:662, widgets/social-share/widget.php:520, widgets/step-flow/widget.php:260, widgets/step-flow/widget.php:361, widgets/taxonomy-list/widget.php:369, widgets/testimonial/widget.php:199, widgets/threesixty-rotation/widget.php:266, widgets/threesixty-rotation/widget.php:502, widgets/twitter-feed/widget.php:449, widgets/twitter-feed/widget.php:825, widgets/weform/widget.php:157, widgets/weform/widget.php:317, widgets/weform/widget.php:484, widgets/wpform/widget.php:123, widgets/wpform/widget.php:283, widgets/wpform/widget.php:499
1468
+ msgid "Padding"
1469
+ msgstr ""
1470
+
1471
+ #: widgets/bar-chart/widget.php:415
1472
+ msgid "Bar Width"
1473
+ msgstr ""
1474
+
1475
+ #: widgets/bar-chart/widget.php:433
1476
+ msgid "Category Width"
1477
+ msgstr ""
1478
+
1479
+ #: widgets/bar-chart/widget.php:451
1480
+ msgid "Bar Border Width"
1481
+ msgstr ""
1482
+
1483
+ #: widgets/bar-chart/widget.php:477, widgets/bar-chart/widget.php:1063, widgets/fluent-form/widget.php:619, widgets/gravityforms/widget.php:665, widgets/weform/widget.php:637
1484
+ msgid "Title Typography"
1485
+ msgstr ""
1486
+
1487
+ #: widgets/bar-chart/widget.php:480, widgets/bar-chart/widget.php:620, widgets/bar-chart/widget.php:751, widgets/bar-chart/widget.php:864, widgets/bar-chart/widget.php:1066, widgets/bar-chart/widget.php:1167, widgets/card/widget.php:466, widgets/card/widget.php:700, widgets/carousel/widget.php:479, widgets/icon-box/widget.php:502, widgets/image-compare/widget.php:383, widgets/infobox/widget.php:455, widgets/pricing-table/widget.php:111, widgets/review/widget.php:582, widgets/slider/widget.php:427, widgets/social-icons/widget.php:348, widgets/step-flow/widget.php:642, widgets/wpform/widget.php:336
1488
+ msgid "Custom"
1489
+ msgstr ""
1490
+
1491
+ #: widgets/bar-chart/widget.php:493, widgets/bar-chart/widget.php:633, widgets/bar-chart/widget.php:764, widgets/bar-chart/widget.php:877, widgets/bar-chart/widget.php:1079, widgets/bar-chart/widget.php:1180, widgets/post-list/widget.php:770
1492
+ msgid "Font Size"
1493
+ msgstr ""
1494
+
1495
+ #: widgets/bar-chart/widget.php:511, widgets/bar-chart/widget.php:651, widgets/bar-chart/widget.php:782, widgets/bar-chart/widget.php:895, widgets/bar-chart/widget.php:1097, widgets/bar-chart/widget.php:1198
1496
+ msgid "Font Family"
1497
+ msgstr ""
1498
+
1499
+ #: widgets/bar-chart/widget.php:524, widgets/bar-chart/widget.php:664, widgets/bar-chart/widget.php:795, widgets/bar-chart/widget.php:908, widgets/bar-chart/widget.php:1110, widgets/bar-chart/widget.php:1211
1500
+ msgid "Font Weight"
1501
+ msgstr ""
1502
+
1503
+ #: widgets/bar-chart/widget.php:529, widgets/bar-chart/widget.php:669, widgets/bar-chart/widget.php:800, widgets/bar-chart/widget.php:913, widgets/bar-chart/widget.php:1115, widgets/bar-chart/widget.php:1216
1504
+ msgid "Bold"
1505
+ msgstr ""
1506
+
1507
+ #: widgets/bar-chart/widget.php:530, widgets/bar-chart/widget.php:670, widgets/bar-chart/widget.php:801, widgets/bar-chart/widget.php:914, widgets/bar-chart/widget.php:1116, widgets/bar-chart/widget.php:1217
1508
+ msgid "300"
1509
+ msgstr ""
1510
+
1511
+ #: widgets/bar-chart/widget.php:531, widgets/bar-chart/widget.php:671, widgets/bar-chart/widget.php:802, widgets/bar-chart/widget.php:915, widgets/bar-chart/widget.php:1117, widgets/bar-chart/widget.php:1218
1512
+ msgid "400"
1513
+ msgstr ""
1514
+
1515
+ #: widgets/bar-chart/widget.php:532, widgets/bar-chart/widget.php:672, widgets/bar-chart/widget.php:803, widgets/bar-chart/widget.php:916, widgets/bar-chart/widget.php:1118, widgets/bar-chart/widget.php:1219
1516
+ msgid "600"
1517
+ msgstr ""
1518
+
1519
+ #: widgets/bar-chart/widget.php:533, widgets/bar-chart/widget.php:673, widgets/bar-chart/widget.php:804, widgets/bar-chart/widget.php:917, widgets/bar-chart/widget.php:1119, widgets/bar-chart/widget.php:1220
1520
+ msgid "700"
1521
+ msgstr ""
1522
+
1523
+ #: widgets/bar-chart/widget.php:545, widgets/bar-chart/widget.php:685, widgets/bar-chart/widget.php:816, widgets/bar-chart/widget.php:929, widgets/bar-chart/widget.php:1131, widgets/bar-chart/widget.php:1232
1524
+ msgid "Font Style"
1525
+ msgstr ""
1526
+
1527
+ #: widgets/bar-chart/widget.php:551, widgets/bar-chart/widget.php:691, widgets/bar-chart/widget.php:822, widgets/bar-chart/widget.php:935, widgets/bar-chart/widget.php:1137, widgets/bar-chart/widget.php:1238
1528
+ msgid "Italic"
1529
+ msgstr ""
1530
+
1531
+ #: widgets/bar-chart/widget.php:552, widgets/bar-chart/widget.php:692, widgets/bar-chart/widget.php:823, widgets/bar-chart/widget.php:936, widgets/bar-chart/widget.php:1138, widgets/bar-chart/widget.php:1239
1532
+ msgid "Oblique"
1533
+ msgstr ""
1534
+
1535
+ #: widgets/bar-chart/widget.php:590
1536
+ msgid "Lagend is Switched off from Content > Settings."
1537
+ msgstr ""
1538
+
1539
+ #: widgets/bar-chart/widget.php:600, widgets/image-compare/widget.php:296
1540
+ msgid "Box Width"
1541
+ msgstr ""
1542
+
1543
+ #: widgets/bar-chart/widget.php:617, widgets/calderaform/widget.php:146, widgets/card/widget.php:819, widgets/card/widget.php:889, widgets/card/widget.php:931, widgets/carousel/widget.php:415, widgets/carousel/widget.php:457, widgets/cf7/widget.php:204, widgets/cf7/widget.php:353, widgets/dual-button/widget.php:428, widgets/dual-button/widget.php:513, widgets/dual-button/widget.php:654, widgets/dual-button/widget.php:714, widgets/flip-box/widget.php:723, widgets/flip-box/widget.php:774, widgets/flip-box/widget.php:1098, widgets/flip-box/widget.php:1137, widgets/fluent-form/widget.php:158, widgets/fluent-form/widget.php:307, widgets/fluent-form/widget.php:391, widgets/fun-factor/widget.php:615, widgets/fun-factor/widget.php:670, widgets/gravityforms/widget.php:185, widgets/horizontal-timeline/widget.php:440, widgets/horizontal-timeline/widget.php:869, widgets/horizontal-timeline/widget.php:911, widgets/horizontal-timeline/widget.php:941, widgets/icon-box/widget.php:627, widgets/infobox/widget.php:671, widgets/infobox/widget.php:713, widgets/justified-gallery/widget.php:501, widgets/news-ticker/widget.php:320, widgets/news-ticker/widget.php:426, widgets/ninjaform/widget.php:147, widgets/number/widget.php:310, widgets/post-list/widget.php:680, widgets/post-list/widget.php:900, widgets/post-list/widget.php:947, widgets/post-tab/widget.php:437, widgets/post-tab/widget.php:638, widgets/post-tab/widget.php:697, widgets/post-tab/widget.php:773, widgets/pricing-table/widget.php:905, widgets/social-icons/widget.php:800, widgets/social-icons/widget.php:847, widgets/social-share/widget.php:612, widgets/taxonomy-list/widget.php:522, widgets/testimonial/widget.php:247, widgets/testimonial/widget.php:402, widgets/testimonial/widget.php:444, widgets/twitter-feed/widget.php:859, widgets/twitter-feed/widget.php:901, widgets/twitter-feed/widget.php:963, widgets/weform/widget.php:183, widgets/wpform/widget.php:150
1544
+ msgid "Typography"
1545
+ msgstr ""
1546
+
1547
+ #: widgets/bar-chart/widget.php:738
1548
+ msgid "X Axes Label is Switched off from Content > Settings."
1549
+ msgstr ""
1550
+
1551
+ #: widgets/bar-chart/widget.php:748
1552
+ msgid "X Axes Typography"
1553
+ msgstr ""
1554
+
1555
+ #: widgets/bar-chart/widget.php:851
1556
+ msgid "Y Axes Label is Switched off from Content > Settings."
1557
+ msgstr ""
1558
+
1559
+ #: widgets/bar-chart/widget.php:861
1560
+ msgid "Y Axes Typography"
1561
+ msgstr ""
1562
+
1563
+ #: widgets/bar-chart/widget.php:964
1564
+ msgid "Tooltip"
1565
+ msgstr ""
1566
+
1567
+ #: widgets/bar-chart/widget.php:983, widgets/logo-grid/widget.php:318
1568
+ msgid "Border Width"
1569
+ msgstr ""
1570
+
1571
+ #: widgets/bar-chart/widget.php:1000, widgets/calderaform/widget.php:133, widgets/calderaform/widget.php:441, widgets/card/widget.php:540, widgets/card/widget.php:795, widgets/card/widget.php:979, widgets/carousel/widget.php:337, widgets/carousel/widget.php:542, widgets/cf7/widget.php:183, widgets/cf7/widget.php:424, widgets/data-table/widget.php:648, widgets/dual-button/widget.php:500, widgets/dual-button/widget.php:701, widgets/flip-box/widget.php:435, widgets/flip-box/widget.php:639, widgets/flip-box/widget.php:1002, widgets/fluent-form/widget.php:137, widgets/fluent-form/widget.php:378, widgets/fluent-form/widget.php:495, widgets/fun-factor/widget.php:446, widgets/fun-factor/widget.php:740, widgets/gravityforms/widget.php:170, widgets/gravityforms/widget.php:545, widgets/horizontal-timeline/widget.php:505, widgets/horizontal-timeline/widget.php:583, widgets/horizontal-timeline/widget.php:685, widgets/horizontal-timeline/widget.php:827, widgets/icon-box/widget.php:267, widgets/icon-box/widget.php:603, widgets/image-compare/widget.php:346, widgets/image-compare/widget.php:449, widgets/image-grid/widget.php:327, widgets/image-grid/widget.php:514, widgets/infobox/widget.php:540, widgets/infobox/widget.php:761, widgets/justified-gallery/widget.php:315, widgets/justified-gallery/widget.php:581, widgets/logo-grid/widget.php:397, widgets/member/widget.php:674, widgets/member/widget.php:931, widgets/member/widget.php:1071, widgets/news-ticker/widget.php:229, widgets/news-ticker/widget.php:348, widgets/ninjaform/widget.php:134, widgets/ninjaform/widget.php:433, widgets/number/widget.php:167, widgets/post-list/widget.php:567, widgets/post-list/widget.php:833, widgets/post-tab/widget.php:455, widgets/post-tab/widget.php:547, widgets/post-tab/widget.php:601, widgets/pricing-table/widget.php:717, widgets/pricing-table/widget.php:884, widgets/review/widget.php:372, widgets/review/widget.php:655, widgets/skills/widget.php:246, widgets/slider/widget.php:287, widgets/slider/widget.php:490, widgets/social-icons/widget.php:615, widgets/social-share/widget.php:543, widgets/step-flow/widget.php:306, widgets/step-flow/widget.php:388, widgets/taxonomy-list/widget.php:409, widgets/taxonomy-list/widget.php:650, widgets/testimonial/widget.php:256, widgets/testimonial/widget.php:352, widgets/threesixty-rotation/widget.php:245, widgets/threesixty-rotation/widget.php:481, widgets/twitter-feed/widget.php:469, widgets/twitter-feed/widget.php:1092, widgets/weform/widget.php:170, widgets/weform/widget.php:513, widgets/wpform/widget.php:136, widgets/wpform/widget.php:528
1572
+ msgid "Border Radius"
1573
+ msgstr ""
1574
+
1575
+ #: widgets/bar-chart/widget.php:1011
1576
+ msgid "Caret Size"
1577
+ msgstr ""
1578
+
1579
+ #: widgets/bar-chart/widget.php:1025
1580
+ msgid "Select Mode"
1581
+ msgstr ""
1582
+
1583
+ #: widgets/bar-chart/widget.php:1026
1584
+ msgid "Nearest"
1585
+ msgstr ""
1586
+
1587
+ #: widgets/bar-chart/widget.php:1027
1588
+ msgid "Index"
1589
+ msgstr ""
1590
+
1591
+ #: widgets/bar-chart/widget.php:1028
1592
+ msgid "X"
1593
+ msgstr ""
1594
+
1595
+ #: widgets/bar-chart/widget.php:1029
1596
+ msgid "Y"
1597
+ msgstr ""
1598
+
1599
+ #: widgets/bar-chart/widget.php:1164
1600
+ msgid "Body Typography"
1601
+ msgstr ""
1602
+
1603
+ #: widgets/calderaform/widget.php:54, widgets/cf7/widget.php:55, widgets/fluent-form/widget.php:51, widgets/gravityforms/widget.php:60, widgets/ninjaform/widget.php:55, widgets/weform/widget.php:61, widgets/wpform/widget.php:55
1604
+ msgid "Missing Notice"
1605
+ msgstr ""
1606
+
1607
+ #: widgets/calderaform/widget.php:64, widgets/cf7/widget.php:66, widgets/fluent-form/widget.php:62, widgets/ninjaform/widget.php:66, widgets/weform/widget.php:73, widgets/wpform/widget.php:67
1608
+ msgid "Hello %2$s, looks like %1$s is missing in your site. Please click on the link below and install/activate %1$s. Make sure to refresh this page after installation or activation."
1609
+ msgstr ""
1610
+
1611
+ #: widgets/calderaform/widget.php:87, widgets/cf7/widget.php:89, widgets/fluent-form/widget.php:85, widgets/gravityforms/widget.php:86, widgets/ninjaform/widget.php:88, widgets/weform/widget.php:95, widgets/wpform/widget.php:89
1612
+ msgid "Select Your Form"
1613
+ msgstr ""
1614
+
1615
+ #: widgets/calderaform/widget.php:101, widgets/cf7/widget.php:113, widgets/fluent-form/widget.php:99, widgets/gravityforms/widget.php:113, widgets/ninjaform/widget.php:102, widgets/weform/widget.php:109, widgets/wpform/widget.php:103
1616
+ msgid "Form Fields"
1617
+ msgstr ""
1618
+
1619
+ #: widgets/calderaform/widget.php:109, widgets/gravityforms/widget.php:144, widgets/ninjaform/widget.php:110, widgets/weform/widget.php:145, widgets/wpform/widget.php:111
1620
+ msgid "Field Spacing"
1621
+ msgstr ""
1622
+
1623
+ #: widgets/calderaform/widget.php:154, widgets/gravityforms/widget.php:194, widgets/ninjaform/widget.php:156, widgets/weform/widget.php:192, widgets/wpform/widget.php:159
1624
+ msgid "Field Text Color"
1625
+ msgstr ""
1626
+
1627
+ #: widgets/calderaform/widget.php:165, widgets/gravityforms/widget.php:210, widgets/ninjaform/widget.php:167, widgets/weform/widget.php:203, widgets/wpform/widget.php:170
1628
+ msgid "Field Placeholder Color"
1629
+ msgstr ""
1630
+
1631
+ #: widgets/calderaform/widget.php:216, widgets/cf7/widget.php:275, widgets/fluent-form/widget.php:229, widgets/gravityforms/widget.php:274, widgets/ninjaform/widget.php:218, widgets/weform/widget.php:254, widgets/wpform/widget.php:221
1632
+ msgid "Focus"
1633
+ msgstr ""
1634
+
1635
+ #: widgets/calderaform/widget.php:259, widgets/cf7/widget.php:318, widgets/fluent-form/widget.php:272, widgets/gravityforms/widget.php:323, widgets/ninjaform/widget.php:261, widgets/weform/widget.php:297, widgets/wpform/widget.php:263
1636
+ msgid "Form Fields Label"
1637
+ msgstr ""
1638
+
1639
+ #: widgets/calderaform/widget.php:267, widgets/calderaform/widget.php:401, widgets/cf7/widget.php:383, widgets/fluent-form/widget.php:454, widgets/gravityforms/widget.php:331, widgets/gravityforms/widget.php:504, widgets/image-grid/widget.php:461, widgets/justified-gallery/widget.php:528, widgets/member/widget.php:1030, widgets/ninjaform/widget.php:269, widgets/ninjaform/widget.php:392, widgets/post-list/widget.php:515, widgets/post-list/widget.php:603, widgets/post-list/widget.php:642, widgets/post-list/widget.php:980, widgets/post-tab/widget.php:349, widgets/post-tab/widget.php:748, widgets/taxonomy-list/widget.php:357, widgets/taxonomy-list/widget.php:445, widgets/taxonomy-list/widget.php:484, widgets/weform/widget.php:305, widgets/weform/widget.php:472, widgets/wpform/widget.php:271, widgets/wpform/widget.php:487
1640
+ msgid "Margin"
1641
+ msgstr ""
1642
+
1643
+ #: widgets/calderaform/widget.php:300, widgets/gravityforms/widget.php:370, widgets/ninjaform/widget.php:302, widgets/weform/widget.php:338, widgets/wpform/widget.php:304
1644
+ msgid "Label Typography"
1645
+ msgstr ""
1646
+
1647
+ #: widgets/calderaform/widget.php:309, widgets/fluent-form/widget.php:629, widgets/gravityforms/widget.php:675, widgets/ninjaform/widget.php:312, widgets/weform/widget.php:647, widgets/wpform/widget.php:324
1648
+ msgid "Description Typography"
1649
+ msgstr ""
1650
+
1651
+ #: widgets/calderaform/widget.php:317, widgets/gravityforms/widget.php:389, widgets/ninjaform/widget.php:321, widgets/weform/widget.php:357, widgets/wpform/widget.php:346
1652
+ msgid "Label Text Color"
1653
+ msgstr ""
1654
+
1655
+ #: widgets/calderaform/widget.php:328, widgets/fluent-form/widget.php:338, widgets/gravityforms/widget.php:413, widgets/ninjaform/widget.php:332, widgets/weform/widget.php:368, widgets/wpform/widget.php:360
1656
+ msgid "Required Label Color"
1657
+ msgstr ""
1658
+
1659
+ #: widgets/calderaform/widget.php:339, widgets/ninjaform/widget.php:343, widgets/wpform/widget.php:388
1660
+ msgid "Description Text Color"
1661
+ msgstr ""
1662
+
1663
+ #: widgets/calderaform/widget.php:352, widgets/cf7/widget.php:375, widgets/fluent-form/widget.php:446, widgets/gravityforms/widget.php:426, widgets/ninjaform/widget.php:356, widgets/weform/widget.php:392, widgets/wpform/widget.php:406
1664
+ msgid "Submit Button"
1665
+ msgstr ""
1666
+
1667
+ #: widgets/calderaform/widget.php:360, widgets/gravityforms/widget.php:434, widgets/weform/widget.php:400, widgets/wpform/widget.php:414
1668
+ msgid "Button Full Width?"
1669
+ msgstr ""
1670
+
1671
+ #: widgets/calderaform/widget.php:362, widgets/carousel/widget.php:206, widgets/carousel/widget.php:236, widgets/carousel/widget.php:249, widgets/carousel/widget.php:263, widgets/fun-factor/widget.php:199, widgets/fun-factor/widget.php:494, widgets/gravityforms/widget.php:436, widgets/horizontal-timeline/widget.php:145, widgets/horizontal-timeline/widget.php:288, widgets/horizontal-timeline/widget.php:331, widgets/image-compare/widget.php:204, widgets/justified-gallery/widget.php:135, widgets/member/widget.php:318, widgets/number/widget.php:88, widgets/skills/widget.php:100, widgets/slider/widget.php:196, widgets/slider/widget.php:226, widgets/slider/widget.php:239, widgets/social-icons/widget.php:157, widgets/social-icons/widget.php:184, widgets/social-share/widget.php:271, widgets/social-share/widget.php:441, widgets/step-flow/widget.php:214, widgets/weform/widget.php:402, widgets/wpform/widget.php:416
1672
+ msgid "Yes"
1673
+ msgstr ""
1674
+
1675
+ #: widgets/calderaform/widget.php:363, widgets/carousel/widget.php:207, widgets/carousel/widget.php:237, widgets/carousel/widget.php:250, widgets/carousel/widget.php:264, widgets/fun-factor/widget.php:200, widgets/fun-factor/widget.php:493, widgets/gravityforms/widget.php:437, widgets/horizontal-timeline/widget.php:146, widgets/horizontal-timeline/widget.php:289, widgets/horizontal-timeline/widget.php:332, widgets/image-compare/widget.php:205, widgets/justified-gallery/widget.php:136, widgets/member/widget.php:319, widgets/number/widget.php:89, widgets/skills/widget.php:101, widgets/slider/widget.php:197, widgets/slider/widget.php:227, widgets/slider/widget.php:240, widgets/social-icons/widget.php:158, widgets/social-icons/widget.php:185, widgets/social-share/widget.php:272, widgets/social-share/widget.php:442, widgets/step-flow/widget.php:215, widgets/weform/widget.php:403, widgets/wpform/widget.php:417
1676
+ msgid "No"
1677
+ msgstr ""
1678
+
1679
+ #: widgets/calderaform/widget.php:372, widgets/gravityforms/widget.php:446, widgets/weform/widget.php:412, widgets/wpform/widget.php:426
1680
+ msgid "Button Width"
1681
+ msgstr ""
1682
+
1683
+ #: widgets/calderaform/widget.php:478, widgets/calderaform/widget.php:510, widgets/calendly/widget.php:157, widgets/card/widget.php:765, widgets/card/widget.php:877, widgets/card/widget.php:919, widgets/card/widget.php:1016, widgets/card/widget.php:1048, widgets/carousel/widget.php:403, widgets/carousel/widget.php:445, widgets/cf7/widget.php:213, widgets/cf7/widget.php:362, widgets/cf7/widget.php:461, widgets/cf7/widget.php:493, widgets/data-table/widget.php:471, widgets/dual-button/widget.php:539, widgets/dual-button/widget.php:570, widgets/dual-button/widget.php:631, widgets/dual-button/widget.php:740, widgets/dual-button/widget.php:771, widgets/fluent-form/widget.php:167, widgets/fluent-form/widget.php:316, widgets/fluent-form/widget.php:532, widgets/fluent-form/widget.php:564, widgets/gravityforms/widget.php:575, widgets/gravityforms/widget.php:607, widgets/gravityforms/widget.php:808, widgets/gravityforms/widget.php:842, widgets/horizontal-timeline/widget.php:604, widgets/horizontal-timeline/widget.php:636, widgets/icon-box/widget.php:455, widgets/icon-box/widget.php:475, widgets/icon-box/widget.php:573, widgets/image-grid/widget.php:583, widgets/image-grid/widget.php:615, widgets/image-grid/widget.php:660, widgets/infobox/widget.php:659, widgets/infobox/widget.php:701, widgets/infobox/widget.php:798, widgets/infobox/widget.php:848, widgets/justified-gallery/widget.php:478, widgets/justified-gallery/widget.php:650, widgets/justified-gallery/widget.php:682, widgets/justified-gallery/widget.php:727, widgets/member/widget.php:341, widgets/member/widget.php:375, widgets/member/widget.php:751, widgets/member/widget.php:800, widgets/member/widget.php:849, widgets/member/widget.php:951, widgets/member/widget.php:981, widgets/member/widget.php:1108, widgets/member/widget.php:1140, widgets/ninjaform/widget.php:470, widgets/ninjaform/widget.php:502, widgets/number/widget.php:298, widgets/pricing-table/widget.php:377, widgets/pricing-table/widget.php:473, widgets/pricing-table/widget.php:514, widgets/pricing-table/widget.php:555, widgets/pricing-table/widget.php:618, widgets/pricing-table/widget.php:659, widgets/pricing-table/widget.php:763, widgets/pricing-table/widget.php:794, widgets/pricing-table/widget.php:854, widgets/review/widget.php:342, widgets/review/widget.php:427, widgets/review/widget.php:468, widgets/review/widget.php:509, widgets/skills/widget.php:111, widgets/skills/widget.php:279, widgets/slider/widget.php:353, widgets/slider/widget.php:394, widgets/slider/widget.php:511, widgets/slider/widget.php:543, widgets/testimonial/widget.php:223, widgets/testimonial/widget.php:390, widgets/testimonial/widget.php:432, widgets/weform/widget.php:558, widgets/weform/widget.php:590, widgets/wpform/widget.php:565, widgets/wpform/widget.php:597
1684
+ msgid "Text Color"
1685
+ msgstr ""
1686
+
1687
+ #: widgets/calendly/widget.php:64
1688
+ msgid "Username"
1689
+ msgstr ""
1690
+
1691
+ #: widgets/calendly/widget.php:67
1692
+ msgid "Type calendly username here"
1693
+ msgstr ""
1694
+
1695
+ #: widgets/calendly/widget.php:74
1696
+ msgid "Time Slot"
1697
+ msgstr ""
1698
+
1699
+ #: widgets/calendly/widget.php:77
1700
+ msgid "15 Minutes"
1701
+ msgstr ""
1702
+
1703
+ #: widgets/calendly/widget.php:78
1704
+ msgid "30 Minutes"
1705
+ msgstr ""
1706
+
1707
+ #: widgets/calendly/widget.php:79
1708
+ msgid "60 Minutes"
1709
+ msgstr ""
1710
+
1711
+ #: widgets/calendly/widget.php:89
1712
+ msgid "Hide Event Type Details"
1713
+ msgstr ""
1714
+
1715
+ #: widgets/calendly/widget.php:91
1716
+ msgid "yes"
1717
+ msgstr ""
1718
+
1719
+ #: widgets/calendly/widget.php:92
1720
+ msgid "no"
1721
+ msgstr ""
1722
+
1723
+ #: widgets/calendly/widget.php:146
1724
+ msgid "The following color customization controls only work with %s. Basic and Premium plan users cannot customize colors as per Calendy pricing plan. For more information please %s."
1725
+ msgstr ""
1726
+
1727
+ #: widgets/calendly/widget.php:166
1728
+ msgid "Button & Link Color"
1729
+ msgstr ""
1730
+
1731
+ #: widgets/card/widget.php:62
1732
+ msgid "Image & Badge"
1733
+ msgstr ""
1734
+
1735
+ #: widgets/card/widget.php:70, widgets/card/widget.php:404, widgets/carousel/widget.php:69, widgets/data-table/widget.php:121, widgets/data-table/widget.php:144, widgets/data-table/widget.php:386, widgets/data-table/widget.php:414, widgets/flip-box/widget.php:81, widgets/flip-box/widget.php:125, widgets/flip-box/widget.php:238, widgets/flip-box/widget.php:250, widgets/fun-factor/widget.php:73, widgets/fun-factor/widget.php:86, widgets/horizontal-timeline/widget.php:87, widgets/horizontal-timeline/widget.php:770, widgets/image-compare/widget.php:74, widgets/image-compare/widget.php:111, widgets/image-grid/widget.php:283, widgets/infobox/widget.php:80, widgets/infobox/widget.php:93, widgets/justified-gallery/widget.php:307, widgets/post-tab/widget.php:569, widgets/slider/widget.php:69, widgets/taxonomy-list/widget.php:123, widgets/taxonomy-list/widget.php:151, widgets/taxonomy-list/widget.php:249, widgets/taxonomy-list/widget.php:282, widgets/testimonial/widget.php:135, widgets/testimonial/widget.php:278
1736
+ msgid "Image"
1737
+ msgstr ""
1738
+
1739
+ #: widgets/card/widget.php:93, widgets/post-list/widget.php:210, widgets/review/widget.php:171
1740
+ msgid "Image Position"
1741
+ msgstr ""
1742
+
1743
+ #: widgets/card/widget.php:94
1744
+ msgid "You can adjust the image width and height from <mark>Style</mark> tab to get your expected design."
1745
+ msgstr ""
1746
+
1747
+ #: widgets/card/widget.php:131, widgets/card/widget.php:134, widgets/icon-box/widget.php:106, widgets/pricing-table/widget.php:349
1748
+ msgid "Badge Text"
1749
+ msgstr ""
1750
+
1751
+ #: widgets/card/widget.php:135, widgets/pricing-table/widget.php:352
1752
+ msgid "Type badge text"
1753
+ msgstr ""
1754
+
1755
+ #: widgets/card/widget.php:137
1756
+ msgid "Set badge position and control all the style settings from Style tab"
1757
+ msgstr ""
1758
+
1759
+ #: widgets/card/widget.php:149, widgets/card/widget.php:836, widgets/flip-box/widget.php:694, widgets/flip-box/widget.php:1057, widgets/infobox/widget.php:164, widgets/infobox/widget.php:618, widgets/step-flow/widget.php:445
1760
+ msgid "Title & Description"
1761
+ msgstr ""
1762
+
1763
+ #: widgets/card/widget.php:160
1764
+ msgid "Happy Card Title"
1765
+ msgstr ""
1766
+
1767
+ #: widgets/card/widget.php:161
1768
+ msgid "Type Card Title"
1769
+ msgstr ""
1770
+
1771
+ #: widgets/card/widget.php:171, widgets/card/widget.php:899, widgets/flip-box/widget.php:173, widgets/flip-box/widget.php:178, widgets/flip-box/widget.php:330, widgets/flip-box/widget.php:335, widgets/flip-box/widget.php:743, widgets/flip-box/widget.php:1118, widgets/fluent-form/widget.php:660, widgets/gravityforms/widget.php:705, widgets/horizontal-timeline/widget.php:132, widgets/horizontal-timeline/widget.php:931, widgets/infobox/widget.php:186, widgets/infobox/widget.php:681, widgets/step-flow/widget.php:119, widgets/step-flow/widget.php:122, widgets/step-flow/widget.php:530, widgets/twitter-feed/widget.php:837, widgets/weform/widget.php:678
1772
+ msgid "Description"
1773
+ msgstr ""
1774
+
1775
+ #: widgets/card/widget.php:174
1776
+ msgid "Happy card description goes here"
1777
+ msgstr ""
1778
+
1779
+ #: widgets/card/widget.php:175
1780
+ msgid "Type card description"
1781
+ msgstr ""
1782
+
1783
+ #: widgets/card/widget.php:186, widgets/fun-factor/widget.php:284, widgets/gradient-heading/widget.php:89, widgets/icon-box/widget.php:132, widgets/infobox/widget.php:201, widgets/member/widget.php:191, widgets/post-list/widget.php:423, widgets/step-flow/widget.php:145
1784
+ msgid "Title HTML Tag"
1785
+ msgstr ""
1786
+
1787
+ #: widgets/card/widget.php:190, widgets/fun-factor/widget.php:288, widgets/gradient-heading/widget.php:93, widgets/icon-box/widget.php:137, widgets/infobox/widget.php:205, widgets/member/widget.php:195, widgets/post-list/widget.php:427, widgets/review/widget.php:262, widgets/step-flow/widget.php:150
1788
+ msgid "H1"
1789
+ msgstr ""
1790
+
1791
+ #: widgets/card/widget.php:194, widgets/fun-factor/widget.php:292, widgets/gradient-heading/widget.php:97, widgets/icon-box/widget.php:141, widgets/infobox/widget.php:209, widgets/member/widget.php:199, widgets/post-list/widget.php:431, widgets/review/widget.php:266, widgets/step-flow/widget.php:154
1792
+ msgid "H2"
1793
+ msgstr ""
1794
+
1795
+ #: widgets/card/widget.php:198, widgets/fun-factor/widget.php:296, widgets/gradient-heading/widget.php:101, widgets/icon-box/widget.php:145, widgets/infobox/widget.php:213, widgets/member/widget.php:203, widgets/post-list/widget.php:435, widgets/review/widget.php:270, widgets/step-flow/widget.php:158
1796
+ msgid "H3"
1797
+ msgstr ""
1798
+
1799
+ #: widgets/card/widget.php:202, widgets/fun-factor/widget.php:300, widgets/gradient-heading/widget.php:105, widgets/icon-box/widget.php:149, widgets/infobox/widget.php:217, widgets/member/widget.php:207, widgets/post-list/widget.php:439, widgets/review/widget.php:274, widgets/step-flow/widget.php:162
1800
+ msgid "H4"
1801
+ msgstr ""
1802
+
1803
+ #: widgets/card/widget.php:206, widgets/fun-factor/widget.php:304, widgets/gradient-heading/widget.php:109, widgets/icon-box/widget.php:153, widgets/infobox/widget.php:221, widgets/member/widget.php:211, widgets/post-list/widget.php:443, widgets/review/widget.php:278, widgets/step-flow/widget.php:166
1804
+ msgid "H5"
1805
+ msgstr ""
1806
+
1807
+ #: widgets/card/widget.php:210, widgets/fun-factor/widget.php:308, widgets/gradient-heading/widget.php:113, widgets/icon-box/widget.php:157, widgets/infobox/widget.php:225, widgets/member/widget.php:215, widgets/post-list/widget.php:447, widgets/review/widget.php:282, widgets/step-flow/widget.php:170
1808
+ msgid "H6"
1809
+ msgstr ""
1810
+
1811
+ #: widgets/card/widget.php:222, widgets/card/widget.php:305, widgets/carousel/widget.php:674, widgets/data-table/widget.php:218, widgets/data-table/widget.php:558, widgets/dual-button/widget.php:445, widgets/flip-box/widget.php:188, widgets/flip-box/widget.php:345, widgets/gradient-heading/widget.php:125, widgets/icon-box/widget.php:169, widgets/image-grid/widget.php:546, widgets/infobox/widget.php:237, widgets/justified-gallery/widget.php:613, widgets/member/widget.php:228, widgets/number/widget.php:188, widgets/post-list/widget.php:459, widgets/review/widget.php:227, widgets/slider/widget.php:622, widgets/social-icons/widget.php:411, widgets/social-share/widget.php:481, widgets/step-flow/widget.php:182, widgets/taxonomy-list/widget.php:302, widgets/testimonial/widget.php:80, widgets/threesixty-rotation/widget.php:163, widgets/twitter-feed/widget.php:312
1812
+ msgid "Alignment"
1813
+ msgstr ""
1814
+
1815
+ #: widgets/card/widget.php:238, widgets/fun-factor/widget.php:268, widgets/gradient-heading/widget.php:141, widgets/icon-box/widget.php:185, widgets/infobox/widget.php:253, widgets/justified-gallery/widget.php:240, widgets/member/widget.php:244, widgets/review/widget.php:243, widgets/step-flow/widget.php:198
1816
+ msgid "Justify"
1817
+ msgstr ""
1818
+
1819
+ #: widgets/card/widget.php:254, widgets/card/widget.php:942, widgets/infobox/widget.php:269, widgets/infobox/widget.php:724, widgets/pricing-table/widget.php:690, widgets/social-share/widget.php:512
1820
+ msgid "Button"
1821
+ msgstr ""
1822
+
1823
+ #: widgets/card/widget.php:265, widgets/infobox/widget.php:280, widgets/member/widget.php:498, widgets/pricing-table/widget.php:275
1824
+ msgid "Type button text here"
1825
+ msgstr ""
1826
+
1827
+ #: widgets/card/widget.php:291
1828
+ msgid "Full Width?"
1829
+ msgstr ""
1830
+
1831
+ #: widgets/card/widget.php:321
1832
+ msgid "Stretch"
1833
+ msgstr ""
1834
+
1835
+ #: widgets/card/widget.php:346, widgets/data-table/widget.php:117, widgets/data-table/widget.php:131, widgets/data-table/widget.php:382, widgets/data-table/widget.php:400, widgets/dual-button/widget.php:112, widgets/dual-button/widget.php:101, widgets/dual-button/widget.php:188, widgets/dual-button/widget.php:234, widgets/dual-button/widget.php:221, widgets/dual-button/widget.php:301, widgets/dual-button/widget.php:290, widgets/flip-box/widget.php:77, widgets/flip-box/widget.php:107, widgets/flip-box/widget.php:94, widgets/flip-box/widget.php:234, widgets/flip-box/widget.php:297, widgets/flip-box/widget.php:284, widgets/fun-factor/widget.php:69, widgets/horizontal-timeline/widget.php:72, widgets/horizontal-timeline/widget.php:460, widgets/icon-box/widget.php:204, widgets/infobox/widget.php:76, widgets/infobox/widget.php:131, widgets/infobox/widget.php:307, widgets/post-list/widget.php:271, widgets/pricing-table/widget.php:211, widgets/pricing-table/widget.php:196, widgets/social-icons/widget.php:54, widgets/social-icons/widget.php:63, widgets/social-icons/widget.php:638, widgets/social-share/widget.php:430, widgets/step-flow/widget.php:75, widgets/step-flow/widget.php:64, widgets/step-flow/widget.php:229, widgets/taxonomy-list/widget.php:115, widgets/taxonomy-list/widget.php:119, widgets/taxonomy-list/widget.php:135, widgets/taxonomy-list/widget.php:245, widgets/taxonomy-list/widget.php:264
1836
+ msgid "Icon"
1837
+ msgstr ""
1838
+
1839
+ #: widgets/card/widget.php:370, widgets/data-table/widget.php:247, widgets/data-table/widget.php:589, widgets/dual-button/widget.php:123, widgets/dual-button/widget.php:313, widgets/infobox/widget.php:331, widgets/member/widget.php:542
1840
+ msgid "Icon Position"
1841
+ msgstr ""
1842
+
1843
+ #: widgets/card/widget.php:374
1844
+ msgid "Before Text"
1845
+ msgstr ""
1846
+
1847
+ #: widgets/card/widget.php:375
1848
+ msgid "After Text"
1849
+ msgstr ""
1850
+
1851
+ #: widgets/card/widget.php:387, widgets/dual-button/widget.php:146, widgets/dual-button/widget.php:336, widgets/infobox/widget.php:354, widgets/member/widget.php:568
1852
+ msgid "Icon Spacing"
1853
+ msgstr ""
1854
+
1855
+ #: widgets/card/widget.php:476, widgets/card/widget.php:710, widgets/fun-factor/widget.php:504, widgets/icon-box/widget.php:512, widgets/infobox/widget.php:465, widgets/step-flow/widget.php:677
1856
+ msgid "Offset Left"
1857
+ msgstr ""
1858
+
1859
+ #: widgets/card/widget.php:497, widgets/card/widget.php:731, widgets/fun-factor/widget.php:522, widgets/icon-box/widget.php:536, widgets/infobox/widget.php:486, widgets/step-flow/widget.php:652
1860
+ msgid "Offset Top"
1861
+ msgstr ""
1862
+
1863
+ #: widgets/card/widget.php:655, widgets/image-grid/widget.php:430, widgets/justified-gallery/widget.php:429, widgets/logo-grid/widget.php:585, widgets/social-icons/widget.php:688
1864
+ msgid "Hover Animation"
1865
+ msgstr ""
1866
+
1867
+ #: widgets/card/widget.php:669, widgets/icon-box/widget.php:491, widgets/pricing-table/widget.php:304, widgets/pricing-table/widget.php:834, widgets/step-flow/widget.php:90, widgets/step-flow/widget.php:92, widgets/step-flow/widget.php:350
1868
+ msgid "Badge"
1869
+ msgstr ""
1870
+
1871
+ #: widgets/card/widget.php:680
1872
+ msgid "Top Left"
1873
+ msgstr ""
1874
+
1875
+ #: widgets/card/widget.php:681
1876
+ msgid "Top Center"
1877
+ msgstr ""
1878
+
1879
+ #: widgets/card/widget.php:682
1880
+ msgid "Top Right"
1881
+ msgstr ""
1882
+
1883
+ #: widgets/card/widget.php:683
1884
+ msgid "Middle Left"
1885
+ msgstr ""
1886
+
1887
+ #: widgets/card/widget.php:684
1888
+ msgid "Middle Center"
1889
+ msgstr ""
1890
+
1891
+ #: widgets/card/widget.php:685
1892
+ msgid "Middle Right"
1893
+ msgstr ""
1894
+
1895
+ #: widgets/card/widget.php:686
1896
+ msgid "Bottom Left"
1897
+ msgstr ""
1898
+
1899
+ #: widgets/card/widget.php:687
1900
+ msgid "Bottom Center"
1901
+ msgstr ""
1902
+
1903
+ #: widgets/card/widget.php:688
1904
+ msgid "Bottom Right"
1905
+ msgstr ""
1906
+
1907
+ #: widgets/card/widget.php:844, widgets/carousel/widget.php:359, widgets/member/widget.php:718, widgets/slider/widget.php:309
1908
+ msgid "Content Padding"
1909
+ msgstr ""
1910
+
1911
+ #: widgets/card/widget.php:865, widgets/card/widget.php:907, widgets/carousel/widget.php:391, widgets/carousel/widget.php:433, widgets/flip-box/widget.php:537, widgets/flip-box/widget.php:897, widgets/flip-box/widget.php:1074, widgets/fun-factor/widget.php:466, widgets/fun-factor/widget.php:591, widgets/fun-factor/widget.php:646, widgets/fun-factor/widget.php:762, widgets/horizontal-timeline/widget.php:815, widgets/horizontal-timeline/widget.php:856, widgets/horizontal-timeline/widget.php:898, widgets/icon-box/widget.php:242, widgets/infobox/widget.php:508, widgets/infobox/widget.php:647, widgets/infobox/widget.php:689, widgets/member/widget.php:642, widgets/member/widget.php:739, widgets/member/widget.php:788, widgets/member/widget.php:837, widgets/pricing-table/widget.php:403, widgets/pricing-table/widget.php:461, widgets/pricing-table/widget.php:543, widgets/pricing-table/widget.php:606, widgets/review/widget.php:318, widgets/review/widget.php:415, widgets/review/widget.php:456, widgets/review/widget.php:497, widgets/slider/widget.php:341, widgets/slider/widget.php:382, widgets/step-flow/widget.php:279, widgets/step-flow/widget.php:461, widgets/testimonial/widget.php:211, widgets/testimonial/widget.php:411, widgets/twitter-feed/widget.php:846
1912
+ msgid "Bottom Spacing"
1913
+ msgstr ""
1914
+
1915
+ #: widgets/carousel/widget.php:58, widgets/slider/widget.php:58
1916
+ msgid "Slides"
1917
+ msgstr ""
1918
+
1919
+ #: widgets/carousel/widget.php:85, widgets/slider/widget.php:85
1920
+ msgid "Type title here"
1921
+ msgstr ""
1922
+
1923
+ #: widgets/carousel/widget.php:95, widgets/carousel/widget.php:425, widgets/slider/widget.php:97, widgets/slider/widget.php:374
1924
+ msgid "Subtitle"
1925
+ msgstr ""
1926
+
1927
+ #: widgets/carousel/widget.php:98, widgets/slider/widget.php:98
1928
+ msgid "Type subtitle here"
1929
+ msgstr ""
1930
+
1931
+ #: widgets/carousel/widget.php:190, widgets/horizontal-timeline/widget.php:298, widgets/slider/widget.php:180
1932
+ msgid "Animation Speed"
1933
+ msgstr ""
1934
+
1935
+ #: widgets/carousel/widget.php:196, widgets/horizontal-timeline/widget.php:304, widgets/slider/widget.php:186
1936
+ msgid "Slide speed in milliseconds"
1937
+ msgstr ""
1938
+
1939
+ #: widgets/carousel/widget.php:204, widgets/slider/widget.php:194
1940
+ msgid "Autoplay?"
1941
+ msgstr ""
1942
+
1943
+ #: widgets/carousel/widget.php:217, widgets/horizontal-timeline/widget.php:312, widgets/slider/widget.php:207
1944
+ msgid "Autoplay Speed"
1945
+ msgstr ""
1946
+
1947
+ #: widgets/carousel/widget.php:223, widgets/horizontal-timeline/widget.php:318, widgets/slider/widget.php:213
1948
+ msgid "Autoplay speed in milliseconds"
1949
+ msgstr ""
1950
+
1951
+ #: widgets/carousel/widget.php:234, widgets/horizontal-timeline/widget.php:329, widgets/slider/widget.php:224
1952
+ msgid "Infinite Loop?"
1953
+ msgstr ""
1954
+
1955
+ #: widgets/carousel/widget.php:247
1956
+ msgid "Center Mode?"
1957
+ msgstr ""
1958
+
1959
+ #: widgets/carousel/widget.php:252
1960
+ msgid "Best works with odd number of slides (Slides To Show) and loop (Infinite Loop)"
1961
+ msgstr ""
1962
+
1963
+ #: widgets/carousel/widget.php:261, widgets/slider/widget.php:237
1964
+ msgid "Vertical Mode?"
1965
+ msgstr ""
1966
+
1967
+ #: widgets/carousel/widget.php:274, widgets/slider/widget.php:250
1968
+ msgid "Navigation"
1969
+ msgstr ""
1970
+
1971
+ #: widgets/carousel/widget.php:278, widgets/horizontal-timeline/widget.php:547, widgets/slider/widget.php:254
1972
+ msgid "Arrow"
1973
+ msgstr ""
1974
+
1975
+ #: widgets/carousel/widget.php:279, widgets/slider/widget.php:255
1976
+ msgid "Dots"
1977
+ msgstr ""
1978
+
1979
+ #: widgets/carousel/widget.php:280, widgets/slider/widget.php:256
1980
+ msgid "Arrow & Dots"
1981
+ msgstr ""
1982
+
1983
+ #: widgets/carousel/widget.php:291, widgets/horizontal-timeline/widget.php:342
1984
+ msgid "Slides To Show"
1985
+ msgstr ""
1986
+
1987
+ #: widgets/carousel/widget.php:294, widgets/horizontal-timeline/widget.php:345
1988
+ msgid "1 Slide"
1989
+ msgstr ""
1990
+
1991
+ #: widgets/carousel/widget.php:295, widgets/horizontal-timeline/widget.php:346
1992
+ msgid "2 Slides"
1993
+ msgstr ""
1994
+
1995
+ #: widgets/carousel/widget.php:296, widgets/horizontal-timeline/widget.php:347
1996
+ msgid "3 Slides"
1997
+ msgstr ""
1998
+
1999
+ #: widgets/carousel/widget.php:297, widgets/horizontal-timeline/widget.php:348
2000
+ msgid "4 Slides"
2001
+ msgstr ""
2002
+
2003
+ #: widgets/carousel/widget.php:298, widgets/horizontal-timeline/widget.php:349
2004
+ msgid "5 Slides"
2005
+ msgstr ""
2006
+
2007
+ #: widgets/carousel/widget.php:299, widgets/horizontal-timeline/widget.php:350
2008
+ msgid "6 Slides"
2009
+ msgstr ""
2010
+
2011
+ #: widgets/carousel/widget.php:316
2012
+ msgid "Carousel Item"
2013
+ msgstr ""
2014
+
2015
+ #: widgets/carousel/widget.php:324
2016
+ msgid "Slide Spacing (px)"
2017
+ msgstr ""
2018
+
2019
+ #: widgets/carousel/widget.php:351, widgets/slider/widget.php:301
2020
+ msgid "Slide Content"
2021
+ msgstr ""
2022
+
2023
+ #: widgets/carousel/widget.php:468, widgets/slider/widget.php:416
2024
+ msgid "Navigation - Arrow"
2025
+ msgstr ""
2026
+
2027
+ #: widgets/carousel/widget.php:489, widgets/image-compare/widget.php:190, widgets/image-compare/widget.php:393, widgets/slider/widget.php:437
2028
+ msgid "Vertical"
2029
+ msgstr ""
2030
+
2031
+ #: widgets/carousel/widget.php:510, widgets/image-compare/widget.php:186, widgets/image-compare/widget.php:416, widgets/slider/widget.php:458
2032
+ msgid "Horizontal"
2033
+ msgstr ""
2034
+
2035
+ #: widgets/carousel/widget.php:636, widgets/slider/widget.php:584
2036
+ msgid "Navigation - Dots"
2037
+ msgstr ""
2038
+
2039
+ #: widgets/carousel/widget.php:644, widgets/slider/widget.php:592
2040
+ msgid "Vertical Position"
2041
+ msgstr ""
2042
+
2043
+ #: widgets/carousel/widget.php:662, widgets/data-table/widget.php:719, widgets/data-table/widget.php:982, widgets/flip-box/widget.php:750, widgets/image-grid/widget.php:494, widgets/justified-gallery/widget.php:561, widgets/slider/widget.php:610, widgets/social-icons/widget.php:810, widgets/social-share/widget.php:532, widgets/testimonial/widget.php:330, widgets/twitter-feed/widget.php:634
2044
+ msgid "Spacing"
2045
+ msgstr ""
2046
+
2047
+ #: widgets/carousel/widget.php:742, widgets/image-grid/widget.php:653, widgets/justified-gallery/widget.php:720, widgets/slider/widget.php:690
2048
+ msgid "Active"
2049
+ msgstr ""
2050
+
2051
+ #: widgets/cf7/widget.php:99
2052
+ msgid "HTML Class"
2053
+ msgstr ""
2054
+
2055
+ #: widgets/cf7/widget.php:102
2056
+ msgid "Add CSS custom class to the form."
2057
+ msgstr ""
2058
+
2059
+ #: widgets/cf7/widget.php:153, widgets/cf7/widget.php:326, widgets/fluent-form/widget.php:107, widgets/fluent-form/widget.php:280
2060
+ msgid "Spacing Bottom"
2061
+ msgstr ""
2062
+
2063
+ #: widgets/cf7/widget.php:224, widgets/fluent-form/widget.php:178
2064
+ msgid "Placeholder Text Color"
2065
+ msgstr ""
2066
+
2067
+ #: widgets/data-table/widget.php:62, widgets/data-table/widget.php:628
2068
+ msgid "Table Head"
2069
+ msgstr ""
2070
+
2071
+ #: widgets/data-table/widget.php:84
2072
+ msgid "Column Name"
2073
+ msgstr ""
2074
+
2075
+ #: widgets/data-table/widget.php:85
2076
+ msgid "Column One"
2077
+ msgstr ""
2078
+
2079
+ #: widgets/data-table/widget.php:95, widgets/data-table/widget.php:344
2080
+ msgid "Col Span"
2081
+ msgstr ""
2082
+
2083
+ #: widgets/data-table/widget.php:106, widgets/data-table/widget.php:372
2084
+ msgid "Media"
2085
+ msgstr ""
2086
+
2087
+ #: widgets/data-table/widget.php:181, widgets/data-table/widget.php:485, widgets/data-table/widget.php:754, widgets/fluent-form/widget.php:400, widgets/fun-factor/widget.php:411, widgets/horizontal-timeline/widget.php:155, widgets/horizontal-timeline/widget.php:536, widgets/taxonomy-list/widget.php:581, widgets/threesixty-rotation/widget.php:347, widgets/twitter-feed/widget.php:1048
2088
+ msgid "Icon Color"
2089
+ msgstr ""
2090
+
2091
+ #: widgets/data-table/widget.php:203, widgets/member/widget.php:103
2092
+ msgid "WordPress"
2093
+ msgstr ""
2094
+
2095
+ #: widgets/data-table/widget.php:278, widgets/data-table/widget.php:292
2096
+ msgid "Row"
2097
+ msgstr ""
2098
+
2099
+ #: widgets/data-table/widget.php:288
2100
+ msgid "Row/Column"
2101
+ msgstr ""
2102
+
2103
+ #: widgets/data-table/widget.php:293, widgets/post-tab/widget.php:169, widgets/post-tab/widget.php:469
2104
+ msgid "Column"
2105
+ msgstr ""
2106
+
2107
+ #: widgets/data-table/widget.php:316
2108
+ msgid "Cell Name"
2109
+ msgstr ""
2110
+
2111
+ #: widgets/data-table/widget.php:358
2112
+ msgid "Row Span"
2113
+ msgstr ""
2114
+
2115
+ #: widgets/data-table/widget.php:500
2116
+ msgid "Icon/Image Size"
2117
+ msgstr ""
2118
+
2119
+ #: widgets/data-table/widget.php:521, widgets/data-table/widget.php:537
2120
+ msgid "Row Starts"
2121
+ msgstr ""
2122
+
2123
+ #: widgets/data-table/widget.php:541
2124
+ msgid "Stay Happy"
2125
+ msgstr ""
2126
+
2127
+ #: widgets/data-table/widget.php:545
2128
+ msgid "Stay Safe"
2129
+ msgstr ""
2130
+
2131
+ #: widgets/data-table/widget.php:549
2132
+ msgid "Spread Happiness"
2133
+ msgstr ""
2134
+
2135
+ #: widgets/data-table/widget.php:711, widgets/data-table/widget.php:974
2136
+ msgid "Icon/Image"
2137
+ msgstr ""
2138
+
2139
+ #: widgets/data-table/widget.php:731, widgets/flip-box/widget.php:588, widgets/flip-box/widget.php:951, widgets/member/widget.php:911, widgets/social-share/widget.php:571, widgets/taxonomy-list/widget.php:593, widgets/threesixty-rotation/widget.php:328
2140
+ msgid "Icon Size"
2141
+ msgstr ""
2142
+
2143
+ #: widgets/data-table/widget.php:743, widgets/data-table/widget.php:1007
2144
+ msgid "Image Border Radius"
2145
+ msgstr ""
2146
+
2147
+ #: widgets/data-table/widget.php:775
2148
+ msgid "Table Row"
2149
+ msgstr ""
2150
+
2151
+ #: widgets/data-table/widget.php:813, widgets/data-table/widget.php:887, widgets/gravityforms/widget.php:919
2152
+ msgid "Background Color (Even)"
2153
+ msgstr ""
2154
+
2155
+ #: widgets/data-table/widget.php:827, widgets/data-table/widget.php:901, widgets/gravityforms/widget.php:930
2156
+ msgid "Background Color (Odd)"
2157
+ msgstr ""
2158
+
2159
+ #: widgets/data-table/widget.php:841, widgets/data-table/widget.php:915
2160
+ msgid "Color (Even)"
2161
+ msgstr ""
2162
+
2163
+ #: widgets/data-table/widget.php:854, widgets/data-table/widget.php:928
2164
+ msgid "Color (Odd)"
2165
+ msgstr ""
2166
+
2167
+ #: widgets/data-table/widget.php:867, widgets/data-table/widget.php:941, widgets/step-flow/widget.php:484
2168
+ msgid "Link Color"
2169
+ msgstr ""
2170
+
2171
+ #: widgets/data-table/widget.php:994, widgets/fun-factor/widget.php:389, widgets/horizontal-timeline/widget.php:487, widgets/icon-box/widget.php:212, widgets/image-compare/widget.php:268, widgets/infobox/widget.php:385, widgets/number/widget.php:128, widgets/review/widget.php:306, widgets/social-icons/widget.php:645, widgets/step-flow/widget.php:237, widgets/twitter-feed/widget.php:570, widgets/twitter-feed/widget.php:619
2172
+ msgid "Size"
2173
+ msgstr ""
2174
+
2175
+ #: widgets/dual-button/widget.php:55
2176
+ msgid "Dual Buttons"
2177
+ msgstr ""
2178
+
2179
+ #: widgets/dual-button/widget.php:65
2180
+ msgid "Primary"
2181
+ msgstr ""
2182
+
2183
+ #: widgets/dual-button/widget.php:128, widgets/dual-button/widget.php:318, widgets/image-compare/widget.php:67, widgets/image-compare/widget.php:90, widgets/infobox/widget.php:336, widgets/member/widget.php:547
2184
+ msgid "Before"
2185
+ msgstr ""
2186
+
2187
+ #: widgets/dual-button/widget.php:132, widgets/dual-button/widget.php:322, widgets/image-compare/widget.php:104, widgets/image-compare/widget.php:127, widgets/infobox/widget.php:340, widgets/member/widget.php:551
2188
+ msgid "After"
2189
+ msgstr ""
2190
+
2191
+ #: widgets/dual-button/widget.php:161, widgets/dual-button/widget.php:611
2192
+ msgid "Connector"
2193
+ msgstr ""
2194
+
2195
+ #: widgets/dual-button/widget.php:168
2196
+ msgid "Hide Connector?"
2197
+ msgstr ""
2198
+
2199
+ #: widgets/dual-button/widget.php:170, widgets/fun-factor/widget.php:243, widgets/gravityforms/widget.php:100, widgets/justified-gallery/widget.php:241, widgets/member/widget.php:444, widgets/member/widget.php:468, widgets/post-list/widget.php:201, widgets/post-list/widget.php:259, widgets/post-list/widget.php:291, widgets/post-list/widget.php:303, widgets/post-list/widget.php:315, widgets/post-list/widget.php:346, widgets/post-list/widget.php:377, widgets/post-tab/widget.php:198, widgets/pricing-table/widget.php:314
2200
+ msgid "Hide"
2201
+ msgstr ""
2202
+
2203
+ #: widgets/dual-button/widget.php:171, widgets/fun-factor/widget.php:242, widgets/gravityforms/widget.php:99, widgets/member/widget.php:443, widgets/member/widget.php:467, widgets/post-list/widget.php:200, widgets/post-list/widget.php:258, widgets/post-list/widget.php:290, widgets/post-list/widget.php:302, widgets/post-list/widget.php:314, widgets/post-list/widget.php:345, widgets/post-list/widget.php:376, widgets/post-tab/widget.php:197, widgets/pricing-table/widget.php:311, widgets/pricing-table/widget.php:313
2204
+ msgid "Show"
2205
+ msgstr ""
2206
+
2207
+ #: widgets/dual-button/widget.php:179
2208
+ msgid "Connector Type"
2209
+ msgstr ""
2210
+
2211
+ #: widgets/dual-button/widget.php:206
2212
+ msgid "Or"
2213
+ msgstr ""
2214
+
2215
+ #: widgets/dual-button/widget.php:254
2216
+ msgid "Secondary"
2217
+ msgstr ""
2218
+
2219
+ #: widgets/dual-button/widget.php:352, widgets/image-grid/widget.php:209, widgets/post-list/widget.php:177, widgets/taxonomy-list/widget.php:209
2220
+ msgid "Layout"
2221
+ msgstr ""
2222
+
2223
+ #: widgets/dual-button/widget.php:357
2224
+ msgid "Queue"
2225
+ msgstr ""
2226
+
2227
+ #: widgets/dual-button/widget.php:361
2228
+ msgid "Stack"
2229
+ msgstr ""
2230
+
2231
+ #: widgets/dual-button/widget.php:402
2232
+ msgid "Space Between Buttons"
2233
+ msgstr ""
2234
+
2235
+ #: widgets/dual-button/widget.php:472
2236
+ msgid "Primary Button"
2237
+ msgstr ""
2238
+
2239
+ #: widgets/dual-button/widget.php:620
2240
+ msgid "Connector is hidden now, please enable connector from Content > Connector tab."
2241
+ msgstr ""
2242
+
2243
+ #: widgets/dual-button/widget.php:673
2244
+ msgid "Secondary Button"
2245
+ msgstr ""
2246
+
2247
+ #: widgets/flip-box/widget.php:59, widgets/flip-box/widget.php:454
2248
+ msgid "Front Side"
2249
+ msgstr ""
2250
+
2251
+ #: widgets/flip-box/widget.php:67, widgets/flip-box/widget.php:224, widgets/fun-factor/widget.php:64, widgets/infobox/widget.php:71
2252
+ msgid "Media Type"
2253
+ msgstr ""
2254
+
2255
+ #: widgets/flip-box/widget.php:163, widgets/flip-box/widget.php:320
2256
+ msgid "Type Flip Box Title"
2257
+ msgstr ""
2258
+
2259
+ #: widgets/flip-box/widget.php:216, widgets/flip-box/widget.php:798
2260
+ msgid "Back Side"
2261
+ msgstr ""
2262
+
2263
+ #: widgets/flip-box/widget.php:319, widgets/step-flow/widget.php:108
2264
+ msgid "Start Marketing"
2265
+ msgstr ""
2266
+
2267
+ #: widgets/flip-box/widget.php:381
2268
+ msgid "Flip Direction"
2269
+ msgstr ""
2270
+
2271
+ #: widgets/flip-box/widget.php:387
2272
+ msgid "Bottom To Top"
2273
+ msgstr ""
2274
+
2275
+ #: widgets/flip-box/widget.php:391
2276
+ msgid "Left To Right"
2277
+ msgstr ""
2278
+
2279
+ #: widgets/flip-box/widget.php:513, widgets/flip-box/widget.php:873
2280
+ msgid "Media Type - Icon"
2281
+ msgstr ""
2282
+
2283
+ #: widgets/flip-box/widget.php:525, widgets/flip-box/widget.php:885
2284
+ msgid "Media Type - Image"
2285
+ msgstr ""
2286
+
2287
+ #: widgets/flip-box/widget.php:549, widgets/flip-box/widget.php:912
2288
+ msgid "Resize Image"
2289
+ msgstr ""
2290
+
2291
+ #: widgets/flip-box/widget.php:570, widgets/flip-box/widget.php:933
2292
+ msgid "Image Fit"
2293
+ msgstr ""
2294
+
2295
+ #: widgets/flip-box/widget.php:573, widgets/flip-box/widget.php:936
2296
+ msgid "Contain"
2297
+ msgstr ""
2298
+
2299
+ #: widgets/flip-box/widget.php:574, widgets/flip-box/widget.php:937
2300
+ msgid "Cover"
2301
+ msgstr ""
2302
+
2303
+ #: widgets/flip-box/widget.php:733, widgets/flip-box/widget.php:784, widgets/flip-box/widget.php:1108, widgets/flip-box/widget.php:1147, widgets/fun-factor/widget.php:625, widgets/fun-factor/widget.php:680, widgets/gradient-heading/widget.php:185, widgets/number/widget.php:320
2304
+ msgid "Text Shadow"
2305
+ msgstr ""
2306
+
2307
+ #: widgets/fluent-form/widget.php:88
2308
+ msgid "Select a Form"
2309
+ msgstr ""
2310
+
2311
+ #: widgets/fluent-form/widget.php:327
2312
+ msgid "Check Box Label Color"
2313
+ msgstr ""
2314
+
2315
+ #: widgets/fluent-form/widget.php:349
2316
+ msgid "Help Text"
2317
+ msgstr ""
2318
+
2319
+ #: widgets/fluent-form/widget.php:422
2320
+ msgid "Arrow Color"
2321
+ msgstr ""
2322
+
2323
+ #: widgets/fluent-form/widget.php:602, widgets/gravityforms/widget.php:648
2324
+ msgid "Break"
2325
+ msgstr ""
2326
+
2327
+ #: widgets/fluent-form/widget.php:610, widgets/gravityforms/widget.php:656, widgets/weform/widget.php:628
2328
+ msgid "Section Break"
2329
+ msgstr ""
2330
+
2331
+ #: widgets/fun-factor/widget.php:56
2332
+ msgid "Contents"
2333
+ msgstr ""
2334
+
2335
+ #: widgets/fun-factor/widget.php:123
2336
+ msgid "Icons"
2337
+ msgstr ""
2338
+
2339
+ #: widgets/fun-factor/widget.php:189
2340
+ msgid "Happy Clients"
2341
+ msgstr ""
2342
+
2343
+ #: widgets/fun-factor/widget.php:196, widgets/number/widget.php:85
2344
+ msgid "Animate"
2345
+ msgstr ""
2346
+
2347
+ #: widgets/fun-factor/widget.php:232
2348
+ msgid "Options"
2349
+ msgstr ""
2350
+
2351
+ #: widgets/fun-factor/widget.php:240
2352
+ msgid "Show Divider"
2353
+ msgstr ""
2354
+
2355
+ #: widgets/fun-factor/widget.php:252
2356
+ msgid "Text Alignment"
2357
+ msgstr ""
2358
+
2359
+ #: widgets/fun-factor/widget.php:324, widgets/infobox/widget.php:63, widgets/infobox/widget.php:377
2360
+ msgid "Icon / Image"
2361
+ msgstr ""
2362
+
2363
+ #: widgets/fun-factor/widget.php:564
2364
+ msgid "Number & Title"
2365
+ msgstr ""
2366
+
2367
+ #: widgets/fun-factor/widget.php:693
2368
+ msgid "Divider"
2369
+ msgstr ""
2370
+
2371
+ #: widgets/gradient-heading/widget.php:66
2372
+ msgid "Type Gradient Heading Text"
2373
+ msgstr ""
2374
+
2375
+ #: widgets/gravityforms/widget.php:72
2376
+ msgid "Hello %1$s, looks like Gravity Forms is missing in your site. Please install/activate Gravity Forms. Make sure to refresh this page after installation or activation."
2377
+ msgstr ""
2378
+
2379
+ #: widgets/gravityforms/widget.php:96
2380
+ msgid "Form Title"
2381
+ msgstr ""
2382
+
2383
+ #: widgets/gravityforms/widget.php:121, widgets/weform/widget.php:117
2384
+ msgid "Large Field Width"
2385
+ msgstr ""
2386
+
2387
+ #: widgets/gravityforms/widget.php:343
2388
+ msgid "Label Padding"
2389
+ msgstr ""
2390
+
2391
+ #: widgets/gravityforms/widget.php:356
2392
+ msgid "Sub Label Margin"
2393
+ msgstr ""
2394
+
2395
+ #: widgets/gravityforms/widget.php:380, widgets/wpform/widget.php:314
2396
+ msgid "Sub Label Typography"
2397
+ msgstr ""
2398
+
2399
+ #: widgets/gravityforms/widget.php:402, widgets/wpform/widget.php:374
2400
+ msgid "Sub Label Text Color"
2401
+ msgstr ""
2402
+
2403
+ #: widgets/gravityforms/widget.php:475, widgets/ninjaform/widget.php:364, widgets/weform/widget.php:441, widgets/wpform/widget.php:455
2404
+ msgid "Button Position"
2405
+ msgstr ""
2406
+
2407
+ #: widgets/gravityforms/widget.php:726
2408
+ msgid "Page Break"
2409
+ msgstr ""
2410
+
2411
+ #: widgets/gravityforms/widget.php:735
2412
+ msgid "Progress bar background Color"
2413
+ msgstr ""
2414
+
2415
+ #: widgets/gravityforms/widget.php:746
2416
+ msgid "Button Padding"
2417
+ msgstr ""
2418
+
2419
+ #: widgets/gravityforms/widget.php:760
2420
+ msgid "Button Box Shadow"
2421
+ msgstr ""
2422
+
2423
+ #: widgets/gravityforms/widget.php:776
2424
+ msgid "Button Border Radius"
2425
+ msgstr ""
2426
+
2427
+ #: widgets/gravityforms/widget.php:790
2428
+ msgid "Button Typography"
2429
+ msgstr ""
2430
+
2431
+ #: widgets/gravityforms/widget.php:889, widgets/post-list/widget.php:72, widgets/post-list/widget.php:183, widgets/post-list/widget.php:499, widgets/pricing-table/widget.php:639, widgets/taxonomy-list/widget.php:78, widgets/taxonomy-list/widget.php:215, widgets/taxonomy-list/widget.php:341
2432
+ msgid "List"
2433
+ msgstr ""
2434
+
2435
+ #: widgets/gravityforms/widget.php:897
2436
+ msgid "Button Size"
2437
+ msgstr ""
2438
+
2439
+ #: widgets/horizontal-timeline/widget.php:63, widgets/horizontal-timeline/widget.php:65
2440
+ msgid "Event Date"
2441
+ msgstr ""
2442
+
2443
+ #: widgets/horizontal-timeline/widget.php:115
2444
+ msgid "Event Title"
2445
+ msgstr ""
2446
+
2447
+ #: widgets/horizontal-timeline/widget.php:122, widgets/horizontal-timeline/widget.php:889
2448
+ msgid "Sub Title"
2449
+ msgstr ""
2450
+
2451
+ #: widgets/horizontal-timeline/widget.php:125
2452
+ msgid "Event Sub Title"
2453
+ msgstr ""
2454
+
2455
+ #: widgets/horizontal-timeline/widget.php:135
2456
+ msgid "Event Description"
2457
+ msgstr ""
2458
+
2459
+ #: widgets/horizontal-timeline/widget.php:136
2460
+ msgid "Best Elementor Addons Plugin."
2461
+ msgstr ""
2462
+
2463
+ #: widgets/horizontal-timeline/widget.php:143
2464
+ msgid "Custom Style"
2465
+ msgstr ""
2466
+
2467
+ #: widgets/horizontal-timeline/widget.php:170
2468
+ msgid "Icon Background Color"
2469
+ msgstr ""
2470
+
2471
+ #: widgets/horizontal-timeline/widget.php:184
2472
+ msgid "Content Background Color"
2473
+ msgstr ""
2474
+
2475
+ #: widgets/horizontal-timeline/widget.php:200
2476
+ msgid "Content Color"
2477
+ msgstr ""
2478
+
2479
+ #: widgets/horizontal-timeline/widget.php:223
2480
+ msgid "Build beautiful websites"
2481
+ msgstr ""
2482
+
2483
+ #: widgets/horizontal-timeline/widget.php:227
2484
+ msgid "Cross Domain Copy Paste"
2485
+ msgstr ""
2486
+
2487
+ #: widgets/horizontal-timeline/widget.php:235
2488
+ msgid "Fast and Lightweight"
2489
+ msgstr ""
2490
+
2491
+ #: widgets/horizontal-timeline/widget.php:254
2492
+ msgid "Content Alignment"
2493
+ msgstr ""
2494
+
2495
+ #: widgets/horizontal-timeline/widget.php:286
2496
+ msgid "Hide Content Arrow"
2497
+ msgstr ""
2498
+
2499
+ #: widgets/horizontal-timeline/widget.php:367
2500
+ msgid "Events"
2501
+ msgstr ""
2502
+
2503
+ #: widgets/horizontal-timeline/widget.php:375
2504
+ msgid "Line"
2505
+ msgstr ""
2506
+
2507
+ #: widgets/horizontal-timeline/widget.php:383
2508
+ msgid "Thickness"
2509
+ msgstr ""
2510
+
2511
+ #: widgets/horizontal-timeline/widget.php:412, widgets/post-list/widget.php:343
2512
+ msgid "Date"
2513
+ msgstr ""
2514
+
2515
+ #: widgets/horizontal-timeline/widget.php:421
2516
+ msgid "Left Spacing"
2517
+ msgstr ""
2518
+
2519
+ #: widgets/horizontal-timeline/widget.php:556
2520
+ msgid "Vertical Alignment"
2521
+ msgstr ""
2522
+
2523
+ #: widgets/horizontal-timeline/widget.php:728
2524
+ msgid "Space between contents"
2525
+ msgstr ""
2526
+
2527
+ #: widgets/horizontal-timeline/widget.php:741, widgets/logo-grid/widget.php:224, widgets/news-ticker/widget.php:221, widgets/news-ticker/widget.php:340, widgets/number/widget.php:159, widgets/post-list/widget.php:559, widgets/post-list/widget.php:619, widgets/post-list/widget.php:658, widgets/post-list/widget.php:822, widgets/post-tab/widget.php:332, widgets/post-tab/widget.php:447, widgets/post-tab/widget.php:539, widgets/post-tab/widget.php:593, widgets/step-flow/widget.php:298, widgets/step-flow/widget.php:377, widgets/taxonomy-list/widget.php:401, widgets/taxonomy-list/widget.php:461, widgets/taxonomy-list/widget.php:500, widgets/taxonomy-list/widget.php:642, widgets/threesixty-rotation/widget.php:237, widgets/threesixty-rotation/widget.php:378, widgets/threesixty-rotation/widget.php:473
2528
+ msgid "Border"
2529
+ msgstr ""
2530
+
2531
+ #: widgets/icon-box/widget.php:95
2532
+ msgid "Happy Icon Box"
2533
+ msgstr ""
2534
+
2535
+ #: widgets/icon-box/widget.php:96
2536
+ msgid "Type Icon Box Title"
2537
+ msgstr ""
2538
+
2539
+ #: widgets/icon-box/widget.php:109
2540
+ msgid "Type Icon Badge Text"
2541
+ msgstr ""
2542
+
2543
+ #: widgets/icon-box/widget.php:119
2544
+ msgid "Box Link"
2545
+ msgstr ""
2546
+
2547
+ #: widgets/icon-box/widget.php:321, widgets/icon-box/widget.php:391
2548
+ msgid "Rotate Icon Box"
2549
+ msgstr ""
2550
+
2551
+ #: widgets/image-compare/widget.php:58
2552
+ msgid "Images"
2553
+ msgstr ""
2554
+
2555
+ #: widgets/image-compare/widget.php:91
2556
+ msgid "Type before image label"
2557
+ msgstr ""
2558
+
2559
+ #: widgets/image-compare/widget.php:92, widgets/image-compare/widget.php:129
2560
+ msgid "Label will not be shown if Hide Overlay is enabled in Settings"
2561
+ msgstr ""
2562
+
2563
+ #: widgets/image-compare/widget.php:128
2564
+ msgid "Type after image label"
2565
+ msgstr ""
2566
+
2567
+ #: widgets/image-compare/widget.php:161
2568
+ msgid "Visibility Ratio"
2569
+ msgstr ""
2570
+
2571
+ #: widgets/image-compare/widget.php:181
2572
+ msgid "Orientation"
2573
+ msgstr ""
2574
+
2575
+ #: widgets/image-compare/widget.php:202
2576
+ msgid "Hide Overlay"
2577
+ msgstr ""
2578
+
2579
+ #: widgets/image-compare/widget.php:207
2580
+ msgid "Hide overlay with before and after label"
2581
+ msgstr ""
2582
+
2583
+ #: widgets/image-compare/widget.php:215
2584
+ msgid "Move Handle"
2585
+ msgstr ""
2586
+
2587
+ #: widgets/image-compare/widget.php:219, widgets/post-tab/widget.php:268
2588
+ msgid "On Hover"
2589
+ msgstr ""
2590
+
2591
+ #: widgets/image-compare/widget.php:220, widgets/post-tab/widget.php:267
2592
+ msgid "On Click"
2593
+ msgstr ""
2594
+
2595
+ #: widgets/image-compare/widget.php:221
2596
+ msgid "On Swipe"
2597
+ msgstr ""
2598
+
2599
+ #: widgets/image-compare/widget.php:223
2600
+ msgid "Select handle movement type. Note: overlay does not work with On Hover."
2601
+ msgstr ""
2602
+
2603
+ #: widgets/image-compare/widget.php:235
2604
+ msgid "Handle"
2605
+ msgstr ""
2606
+
2607
+ #: widgets/image-compare/widget.php:259
2608
+ msgid "Handle Bar"
2609
+ msgstr ""
2610
+
2611
+ #: widgets/image-compare/widget.php:287
2612
+ msgid "Handle Arrow"
2613
+ msgstr ""
2614
+
2615
+ #: widgets/image-compare/widget.php:315
2616
+ msgid "Box Height"
2617
+ msgstr ""
2618
+
2619
+ #: widgets/image-grid/widget.php:58, widgets/justified-gallery/widget.php:50, widgets/threesixty-rotation/widget.php:67
2620
+ msgid "Gallery"
2621
+ msgstr ""
2622
+
2623
+ #: widgets/image-grid/widget.php:68, widgets/image-grid/widget.php:72, widgets/justified-gallery/widget.php:60, widgets/justified-gallery/widget.php:64
2624
+ msgid "Filter Name"
2625
+ msgstr ""
2626
+
2627
+ #: widgets/image-grid/widget.php:70, widgets/justified-gallery/widget.php:62
2628
+ msgid "Type gallery filter name"
2629
+ msgstr ""
2630
+
2631
+ #: widgets/image-grid/widget.php:71, widgets/justified-gallery/widget.php:63
2632
+ msgid "Filter name will be used in filter menu."
2633
+ msgstr ""
2634
+
2635
+ #: widgets/image-grid/widget.php:82, widgets/justified-gallery/widget.php:74
2636
+ msgid "Is Default Filter?"
2637
+ msgstr ""
2638
+
2639
+ #: widgets/image-grid/widget.php:85, widgets/justified-gallery/widget.php:77
2640
+ msgid "Set this as default active filter. Make sure filter menu is active and visible. Last active will get priority."
2641
+ msgstr ""
2642
+
2643
+ #. translators: 1: Filter name
2644
+ #. translators: 1: Filter name
2645
+ #: widgets/image-grid/widget.php:107, widgets/justified-gallery/widget.php:99
2646
+ msgid "Filter Group: %1$s"
2647
+ msgstr ""
2648
+
2649
+ #: widgets/image-grid/widget.php:110, widgets/justified-gallery/widget.php:102, widgets/testimonial/widget.php:162
2650
+ msgid "Happy"
2651
+ msgstr ""
2652
+
2653
+ #: widgets/image-grid/widget.php:133, widgets/justified-gallery/widget.php:125
2654
+ msgid "Advance"
2655
+ msgstr ""
2656
+
2657
+ #: widgets/image-grid/widget.php:141, widgets/justified-gallery/widget.php:133
2658
+ msgid "Show Filter Menu"
2659
+ msgstr ""
2660
+
2661
+ #: widgets/image-grid/widget.php:144, widgets/justified-gallery/widget.php:138
2662
+ msgid "Enable to display filter menu."
2663
+ msgstr ""
2664
+
2665
+ #: widgets/image-grid/widget.php:152, widgets/justified-gallery/widget.php:146
2666
+ msgid "Show \"All\" Filter"
2667
+ msgstr ""
2668
+
2669
+ #: widgets/image-grid/widget.php:156, widgets/justified-gallery/widget.php:150
2670
+ msgid "Enable to display \"All\" filter in filter menu."
2671
+ msgstr ""
2672
+
2673
+ #: widgets/image-grid/widget.php:167, widgets/justified-gallery/widget.php:161
2674
+ msgid "Filter Label"
2675
+ msgstr ""
2676
+
2677
+ #: widgets/image-grid/widget.php:170, widgets/justified-gallery/widget.php:164
2678
+ msgid "Type filter label"
2679
+ msgstr ""
2680
+
2681
+ #: widgets/image-grid/widget.php:171, widgets/justified-gallery/widget.php:165
2682
+ msgid "Type \"All\" filter label."
2683
+ msgstr ""
2684
+
2685
+ #: widgets/image-grid/widget.php:185, widgets/logo-grid/widget.php:236
2686
+ msgid "Columns"
2687
+ msgstr ""
2688
+
2689
+ #: widgets/image-grid/widget.php:188, widgets/post-tab/widget.php:172, widgets/twitter-feed/widget.php:155
2690
+ msgid "1 Column"
2691
+ msgstr ""
2692
+
2693
+ #: widgets/image-grid/widget.php:189, widgets/logo-grid/widget.php:239
2694
+ msgid "2 Columns"
2695
+ msgstr ""
2696
+
2697
+ #: widgets/image-grid/widget.php:190, widgets/logo-grid/widget.php:240
2698
+ msgid "3 Columns"
2699
+ msgstr ""
2700
+
2701
+ #: widgets/image-grid/widget.php:191, widgets/logo-grid/widget.php:241
2702
+ msgid "4 Columns"
2703
+ msgstr ""
2704
+
2705
+ #: widgets/image-grid/widget.php:192, widgets/logo-grid/widget.php:242
2706
+ msgid "5 Columns"
2707
+ msgstr ""
2708
+
2709
+ #: widgets/image-grid/widget.php:193, widgets/logo-grid/widget.php:243
2710
+ msgid "6 Columns"
2711
+ msgstr ""
2712
+
2713
+ #: widgets/image-grid/widget.php:212
2714
+ msgid "Even"
2715
+ msgstr ""
2716
+
2717
+ #: widgets/image-grid/widget.php:213
2718
+ msgid "Fit Rows"
2719
+ msgstr ""
2720
+
2721
+ #: widgets/image-grid/widget.php:214
2722
+ msgid "Masonry"
2723
+ msgstr ""
2724
+
2725
+ #: widgets/image-grid/widget.php:227
2726
+ msgid "Enable Lightbox"
2727
+ msgstr ""
2728
+
2729
+ #: widgets/image-grid/widget.php:239, widgets/justified-gallery/widget.php:263
2730
+ msgid "Disable On Tablet"
2731
+ msgstr ""
2732
+
2733
+ #: widgets/image-grid/widget.php:252, widgets/justified-gallery/widget.php:276
2734
+ msgid "Disable On Mobile"
2735
+ msgstr ""
2736
+
2737
+ #: widgets/image-grid/widget.php:292
2738
+ msgid "Image height is only applicable for Even layout"
2739
+ msgstr ""
2740
+
2741
+ #: widgets/image-grid/widget.php:445, widgets/justified-gallery/widget.php:512
2742
+ msgid "Filter Menu"
2743
+ msgstr ""
2744
+
2745
+ #: widgets/image-grid/widget.php:453, widgets/justified-gallery/widget.php:520
2746
+ msgid "Menu"
2747
+ msgstr ""
2748
+
2749
+ #: widgets/image-grid/widget.php:473, widgets/justified-gallery/widget.php:540
2750
+ msgid "Filter Buttons"
2751
+ msgstr ""
2752
+
2753
+ #: widgets/image-grid/widget.php:760, widgets/justified-gallery/widget.php:825
2754
+ msgctxt "Gallery filter aria label"
2755
+ msgid "Gallery filter"
2756
+ msgstr ""
2757
+
2758
+ #: widgets/infobox/widget.php:175
2759
+ msgid "Happy Info Box Title"
2760
+ msgstr ""
2761
+
2762
+ #: widgets/infobox/widget.php:176
2763
+ msgid "Type Info Box Title"
2764
+ msgstr ""
2765
+
2766
+ #: widgets/infobox/widget.php:189
2767
+ msgid "Happy info box description goes here"
2768
+ msgstr ""
2769
+
2770
+ #: widgets/infobox/widget.php:190
2771
+ msgid "Type info box description"
2772
+ msgstr ""
2773
+
2774
+ #: widgets/infobox/widget.php:279, widgets/pricing-table/widget.php:272, widgets/social-share/widget.php:257
2775
+ msgid "Button Text"
2776
+ msgstr ""
2777
+
2778
+ #: widgets/infobox/widget.php:592
2779
+ msgid "Background Rotate"
2780
+ msgstr ""
2781
+
2782
+ #: widgets/infobox/widget.php:626
2783
+ msgid "Content Box Padding"
2784
+ msgstr ""
2785
+
2786
+ #: widgets/infobox/widget.php:821, widgets/infobox/widget.php:884
2787
+ msgid "Icon Translate X"
2788
+ msgstr ""
2789
+
2790
+ #: widgets/justified-gallery/widget.php:179
2791
+ msgid "Show Caption"
2792
+ msgstr ""
2793
+
2794
+ #: widgets/justified-gallery/widget.php:183
2795
+ msgid "Make sure to add image caption."
2796
+ msgstr ""
2797
+
2798
+ #: widgets/justified-gallery/widget.php:212
2799
+ msgid "Margins"
2800
+ msgstr ""
2801
+
2802
+ #: widgets/justified-gallery/widget.php:235
2803
+ msgid "Last Row"
2804
+ msgstr ""
2805
+
2806
+ #: widgets/justified-gallery/widget.php:239
2807
+ msgid "No Justify"
2808
+ msgstr ""
2809
+
2810
+ #: widgets/justified-gallery/widget.php:251
2811
+ msgid "Enable Lightbox?"
2812
+ msgstr ""
2813
+
2814
+ #: widgets/justified-gallery/widget.php:439
2815
+ msgid "Hover Cursor"
2816
+ msgstr ""
2817
+
2818
+ #: widgets/justified-gallery/widget.php:458
2819
+ msgid "Caption"
2820
+ msgstr ""
2821
+
2822
+ #: widgets/logo-grid/widget.php:66
2823
+ msgid "Logo"
2824
+ msgstr ""
2825
+
2826
+ #: widgets/logo-grid/widget.php:80
2827
+ msgid "Website Url"
2828
+ msgstr ""
2829
+
2830
+ #: widgets/logo-grid/widget.php:97, widgets/logo-grid/widget.php:99
2831
+ msgid "Brand Name"
2832
+ msgstr ""
2833
+
2834
+ #: widgets/logo-grid/widget.php:220
2835
+ msgid "Grid Layout"
2836
+ msgstr ""
2837
+
2838
+ #: widgets/logo-grid/widget.php:223
2839
+ msgid "Box"
2840
+ msgstr ""
2841
+
2842
+ #: widgets/logo-grid/widget.php:225
2843
+ msgid "Tic Tac Toe"
2844
+ msgstr ""
2845
+
2846
+ #: widgets/logo-grid/widget.php:260
2847
+ msgid "Grid"
2848
+ msgstr ""
2849
+
2850
+ #: widgets/logo-grid/widget.php:298
2851
+ msgid "Border Type"
2852
+ msgstr ""
2853
+
2854
+ #: widgets/logo-grid/widget.php:302, widgets/step-flow/widget.php:579
2855
+ msgid "Solid"
2856
+ msgstr ""
2857
+
2858
+ #: widgets/logo-grid/widget.php:303
2859
+ msgid "Double"
2860
+ msgstr ""
2861
+
2862
+ #: widgets/logo-grid/widget.php:304, widgets/step-flow/widget.php:580
2863
+ msgid "Dotted"
2864
+ msgstr ""
2865
+
2866
+ #: widgets/logo-grid/widget.php:305, widgets/step-flow/widget.php:581
2867
+ msgid "Dashed"
2868
+ msgstr ""
2869
+
2870
+ #: widgets/logo-grid/widget.php:306
2871
+ msgid "Groove"
2872
+ msgstr ""
2873
+
2874
+ #: widgets/member/widget.php:68
2875
+ msgid "500px"
2876
+ msgstr ""
2877
+
2878
+ #: widgets/member/widget.php:69
2879
+ msgid "Apple"
2880
+ msgstr ""
2881
+
2882
+ #: widgets/member/widget.php:70
2883
+ msgid "Behance"
2884
+ msgstr ""
2885
+
2886
+ #: widgets/member/widget.php:71
2887
+ msgid "BitBucket"
2888
+ msgstr ""
2889
+
2890
+ #: widgets/member/widget.php:72
2891
+ msgid "CodePen"
2892
+ msgstr ""
2893
+
2894
+ #: widgets/member/widget.php:73
2895
+ msgid "Delicious"
2896
+ msgstr ""
2897
+
2898
+ #: widgets/member/widget.php:74
2899
+ msgid "DeviantArt"
2900
+ msgstr ""
2901
+
2902
+ #: widgets/member/widget.php:75, widgets/social-share/widget.php:83
2903
+ msgid "Digg"
2904
+ msgstr ""
2905
+
2906
+ #: widgets/member/widget.php:76
2907
+ msgid "Dribbble"
2908
+ msgstr ""
2909
+
2910
+ #: widgets/member/widget.php:77, widgets/social-share/widget.php:73
2911
+ msgid "Email"
2912
+ msgstr ""
2913
+
2914
+ #: widgets/member/widget.php:78, widgets/social-share/widget.php:70
2915
+ msgid "Facebook"
2916
+ msgstr ""
2917
+
2918
+ #: widgets/member/widget.php:79
2919
+ msgid "Flicker"
2920
+ msgstr ""
2921
+
2922
+ #: widgets/member/widget.php:80
2923
+ msgid "FourSquare"
2924
+ msgstr ""
2925
+
2926
+ #: widgets/member/widget.php:81
2927
+ msgid "Github"
2928
+ msgstr ""
2929
+
2930
+ #: widgets/member/widget.php:82
2931
+ msgid "Houzz"
2932
+ msgstr ""
2933
+
2934
+ #: widgets/member/widget.php:83
2935
+ msgid "Instagram"
2936
+ msgstr ""
2937
+
2938
+ #: widgets/member/widget.php:84
2939
+ msgid "JS Fiddle"
2940
+ msgstr ""
2941
+
2942
+ #: widgets/member/widget.php:85
2943
+ msgid "LinkedIn"
2944
+ msgstr ""
2945
+
2946
+ #: widgets/member/widget.php:86
2947
+ msgid "Medium"
2948
+ msgstr ""
2949
+
2950
+ #: widgets/member/widget.php:87, widgets/social-share/widget.php:77
2951
+ msgid "Pinterest"
2952
+ msgstr ""
2953
+
2954
+ #: widgets/member/widget.php:88
2955
+ msgid "Product Hunt"
2956
+ msgstr ""
2957
+
2958
+ #: widgets/member/widget.php:89, widgets/social-share/widget.php:79
2959
+ msgid "Reddit"
2960
+ msgstr ""
2961
+
2962
+ #: widgets/member/widget.php:90
2963
+ msgid "Slide Share"
2964
+ msgstr ""
2965
+
2966
+ #: widgets/member/widget.php:91
2967
+ msgid "Snapchat"
2968
+ msgstr ""
2969
+
2970
+ #: widgets/member/widget.php:92
2971
+ msgid "SoundCloud"
2972
+ msgstr ""
2973
+
2974
+ #: widgets/member/widget.php:93
2975
+ msgid "Spotify"
2976
+ msgstr ""
2977
+
2978
+ #: widgets/member/widget.php:94
2979
+ msgid "StackOverflow"
2980
+ msgstr ""
2981
+
2982
+ #: widgets/member/widget.php:95
2983
+ msgid "TripAdvisor"
2984
+ msgstr ""
2985
+
2986
+ #: widgets/member/widget.php:96, widgets/social-share/widget.php:78
2987
+ msgid "Tumblr"
2988
+ msgstr ""
2989
+
2990
+ #: widgets/member/widget.php:97
2991
+ msgid "Twitch"
2992
+ msgstr ""
2993
+
2994
+ #: widgets/member/widget.php:98, widgets/social-share/widget.php:71
2995
+ msgid "Twitter"
2996
+ msgstr ""
2997
+
2998
+ #: widgets/member/widget.php:99
2999
+ msgid "Vimeo"
3000
+ msgstr ""
3001
+
3002
+ #: widgets/member/widget.php:100, widgets/social-share/widget.php:80
3003
+ msgid "VK"
3004
+ msgstr ""
3005
+
3006
+ #: widgets/member/widget.php:101
3007
+ msgid "Website"
3008
+ msgstr ""
3009
+
3010
+ #: widgets/member/widget.php:102
3011
+ msgid "WhatsApp"
3012
+ msgstr ""
3013
+
3014
+ #: widgets/member/widget.php:104, widgets/social-share/widget.php:81
3015
+ msgid "Xing"
3016
+ msgstr ""
3017
+
3018
+ #: widgets/member/widget.php:105
3019
+ msgid "Yelp"
3020
+ msgstr ""
3021
+
3022
+ #: widgets/member/widget.php:106
3023
+ msgid "YouTube"
3024
+ msgstr ""
3025
+
3026
+ #: widgets/member/widget.php:117
3027
+ msgid "Information"
3028
+ msgstr ""
3029
+
3030
+ #: widgets/member/widget.php:125, widgets/member/widget.php:594, widgets/review/widget.php:148, widgets/review/widget.php:531
3031
+ msgid "Photo"
3032
+ msgstr ""
3033
+
3034
+ #: widgets/member/widget.php:148, widgets/member/widget.php:731, widgets/review/widget.php:198, widgets/review/widget.php:407, widgets/skills/widget.php:67, widgets/testimonial/widget.php:159, widgets/testimonial/widget.php:382
3035
+ msgid "Name"
3036
+ msgstr ""
3037
+
3038
+ #: widgets/member/widget.php:152
3039
+ msgid "Type Member Name"
3040
+ msgstr ""
3041
+
3042
+ #: widgets/member/widget.php:163, widgets/member/widget.php:780, widgets/review/widget.php:213, widgets/review/widget.php:448
3043
+ msgid "Job Title"
3044
+ msgstr ""
3045
+
3046
+ #: widgets/member/widget.php:166, widgets/review/widget.php:216
3047
+ msgid "Happy Officer"
3048
+ msgstr ""
3049
+
3050
+ #: widgets/member/widget.php:167
3051
+ msgid "Type Member Job Title"
3052
+ msgstr ""
3053
+
3054
+ #: widgets/member/widget.php:177, widgets/member/widget.php:829
3055
+ msgid "Short Bio"
3056
+ msgstr ""
3057
+
3058
+ #: widgets/member/widget.php:180
3059
+ msgid "Write something amazing about the happy member"
3060
+ msgstr ""
3061
+
3062
+ #: widgets/member/widget.php:260
3063
+ msgid "Social Profiles"
3064
+ msgstr ""
3065
+
3066
+ #: widgets/member/widget.php:270
3067
+ msgid "Profile Name"
3068
+ msgstr ""
3069
+
3070
+ #: widgets/member/widget.php:282
3071
+ msgid "Profile Link"
3072
+ msgstr ""
3073
+
3074
+ #: widgets/member/widget.php:283
3075
+ msgid "Add your profile link"
3076
+ msgstr ""
3077
+
3078
+ #: widgets/member/widget.php:299
3079
+ msgid "Email Address"
3080
+ msgstr ""
3081
+
3082
+ #: widgets/member/widget.php:300
3083
+ msgid "Add your email address"
3084
+ msgstr ""
3085
+
3086
+ #: widgets/member/widget.php:316, widgets/skills/widget.php:98, widgets/social-icons/widget.php:182, widgets/social-share/widget.php:269
3087
+ msgid "Want To Customize?"
3088
+ msgstr ""
3089
+
3090
+ #: widgets/member/widget.php:441
3091
+ msgid "Show Profiles"
3092
+ msgstr ""
3093
+
3094
+ #: widgets/member/widget.php:457, widgets/member/widget.php:1022
3095
+ msgid "Details Button"
3096
+ msgstr ""
3097
+
3098
+ #: widgets/member/widget.php:465
3099
+ msgid "Show Button"
3100
+ msgstr ""
3101
+
3102
+ #: widgets/member/widget.php:483
3103
+ msgid "Before Social Icons"
3104
+ msgstr ""
3105
+
3106
+ #: widgets/member/widget.php:484
3107
+ msgid "After Social Icons"
3108
+ msgstr ""
3109
+
3110
+ #: widgets/member/widget.php:497
3111
+ msgid "Show Details"
3112
+ msgstr ""
3113
+
3114
+ #: widgets/member/widget.php:710
3115
+ msgid "Name, Job Title & Bio"
3116
+ msgstr ""
3117
+
3118
+ #: widgets/member/widget.php:887
3119
+ msgid "Right Spacing"
3120
+ msgstr ""
3121
+
3122
+ #: widgets/news-ticker/widget.php:88, widgets/news-ticker/widget.php:300
3123
+ msgid "Sticky Title"
3124
+ msgstr ""
3125
+
3126
+ #: widgets/news-ticker/widget.php:90
3127
+ msgid "Breaking News"
3128
+ msgstr ""
3129
+
3130
+ #: widgets/news-ticker/widget.php:100
3131
+ msgid "Sticky Title Position"
3132
+ msgstr ""
3133
+
3134
+ #: widgets/news-ticker/widget.php:131
3135
+ msgid "Select Posts"
3136
+ msgstr ""
3137
+
3138
+ #: widgets/news-ticker/widget.php:143
3139
+ msgid "Slide direction"
3140
+ msgstr ""
3141
+
3142
+ #: widgets/news-ticker/widget.php:164
3143
+ msgid "Space between items"
3144
+ msgstr ""
3145
+
3146
+ #: widgets/news-ticker/widget.php:184
3147
+ msgid "Slide Speed"
3148
+ msgstr ""
3149
+
3150
+ #: widgets/news-ticker/widget.php:185
3151
+ msgid "Autoplay speed in seconds. Default 30"
3152
+ msgstr ""
3153
+
3154
+ #: widgets/news-ticker/widget.php:202, widgets/threesixty-rotation/widget.php:195
3155
+ msgid "Wrapper"
3156
+ msgstr ""
3157
+
3158
+ #: widgets/news-ticker/widget.php:211, widgets/news-ticker/widget.php:330, widgets/number/widget.php:219, widgets/number/widget.php:247, widgets/post-list/widget.php:540, widgets/post-tab/widget.php:393, widgets/post-tab/widget.php:425, widgets/post-tab/widget.php:520, widgets/taxonomy-list/widget.php:382, widgets/threesixty-rotation/widget.php:227, widgets/threesixty-rotation/widget.php:430, widgets/threesixty-rotation/widget.php:460
3159
+ msgid "Background"
3160
+ msgstr ""
3161
+
3162
+ #: widgets/news-ticker/widget.php:242, widgets/number/widget.php:180, widgets/post-list/widget.php:550, widgets/post-tab/widget.php:323, widgets/post-tab/widget.php:530, widgets/taxonomy-list/widget.php:392, widgets/threesixty-rotation/widget.php:258, widgets/threesixty-rotation/widget.php:387, widgets/threesixty-rotation/widget.php:494
3163
+ msgid "Box Shadow"
3164
+ msgstr ""
3165
+
3166
+ #: widgets/news-ticker/widget.php:262, widgets/threesixty-rotation/widget.php:278
3167
+ msgid "Sticky Title Position Left"
3168
+ msgstr ""
3169
+
3170
+ #: widgets/news-ticker/widget.php:280, widgets/threesixty-rotation/widget.php:296
3171
+ msgid "Sticky Title Position Right"
3172
+ msgstr ""
3173
+
3174
+ #: widgets/news-ticker/widget.php:308, widgets/news-ticker/widget.php:391, widgets/news-ticker/widget.php:411, widgets/pricing-table/widget.php:415, widgets/threesixty-rotation/widget.php:418, widgets/threesixty-rotation/widget.php:448
3175
+ msgid "Title Color"
3176
+ msgstr ""
3177
+
3178
+ #: widgets/news-ticker/widget.php:436
3179
+ msgid "Title Shadow"
3180
+ msgstr ""
3181
+
3182
+ #: widgets/number/widget.php:120, widgets/pricing-table/widget.php:369
3183
+ msgid "General"
3184
+ msgstr ""
3185
+
3186
+ #: widgets/number/widget.php:237
3187
+ msgid "Background Overaly"
3188
+ msgstr ""
3189
+
3190
+ #: widgets/number/widget.php:256
3191
+ msgid "Blend Mood"
3192
+ msgstr ""
3193
+
3194
+ #: widgets/number/widget.php:328
3195
+ msgid "Text Rotate"
3196
+ msgstr ""
3197
+
3198
+ #: widgets/post-list/widget.php:80, widgets/post-tab/widget.php:97, widgets/taxonomy-list/widget.php:86
3199
+ msgid "Source"
3200
+ msgstr ""
3201
+
3202
+ #: widgets/post-list/widget.php:90
3203
+ msgid "Show post by:"
3204
+ msgstr ""
3205
+
3206
+ #: widgets/post-list/widget.php:94
3207
+ msgid "Recent Post"
3208
+ msgstr ""
3209
+
3210
+ #: widgets/post-list/widget.php:95
3211
+ msgid "Selected Post"
3212
+ msgstr ""
3213
+
3214
+ #: widgets/post-list/widget.php:104, widgets/post-tab/widget.php:148
3215
+ msgid "Item Limit"
3216
+ msgstr ""
3217
+
3218
+ #: widgets/post-list/widget.php:126, widgets/taxonomy-list/widget.php:105
3219
+ msgid "Customize Title"
3220
+ msgstr ""
3221
+
3222
+ #: widgets/post-list/widget.php:136, widgets/post-tab/widget.php:126, widgets/taxonomy-list/widget.php:169
3223
+ msgid "Select "
3224
+ msgstr ""
3225
+
3226
+ #: widgets/post-list/widget.php:187, widgets/social-share/widget.php:459, widgets/taxonomy-list/widget.php:219
3227
+ msgid "Inline"
3228
+ msgstr ""
3229
+
3230
+ #: widgets/post-list/widget.php:198
3231
+ msgid "Featured Image"
3232
+ msgstr ""
3233
+
3234
+ #: widgets/post-list/widget.php:256
3235
+ msgid "List Icon"
3236
+ msgstr ""
3237
+
3238
+ #: widgets/post-list/widget.php:288
3239
+ msgid "Show Content"
3240
+ msgstr ""
3241
+
3242
+ #: widgets/post-list/widget.php:300
3243
+ msgid "Show Meta"
3244
+ msgstr ""
3245
+
3246
+ #: widgets/post-list/widget.php:312
3247
+ msgid "Author"
3248
+ msgstr ""
3249
+
3250
+ #: widgets/post-list/widget.php:327
3251
+ msgid "Author Icon"
3252
+ msgstr ""
3253
+
3254
+ #: widgets/post-list/widget.php:358
3255
+ msgid "Date Icon"
3256
+ msgstr ""
3257
+
3258
+ #: widgets/post-list/widget.php:374
3259
+ msgid "Category"
3260
+ msgstr ""
3261
+
3262
+ #: widgets/post-list/widget.php:390
3263
+ msgid "Category Icon"
3264
+ msgstr ""
3265
+
3266
+ #: widgets/post-list/widget.php:407
3267
+ msgid "Meta Position"
3268
+ msgstr ""
3269
+
3270
+ #: widgets/post-list/widget.php:579, widgets/taxonomy-list/widget.php:421
3271
+ msgid "Advance Style"
3272
+ msgstr ""
3273
+
3274
+ #: widgets/post-list/widget.php:591, widgets/taxonomy-list/widget.php:433
3275
+ msgid "First Item"
3276
+ msgstr ""
3277
+
3278
+ #: widgets/post-list/widget.php:630, widgets/taxonomy-list/widget.php:472
3279
+ msgid "Last Item"
3280
+ msgstr ""
3281
+
3282
+ #: widgets/post-list/widget.php:731
3283
+ msgid "Icon & Feature Image"
3284
+ msgstr ""
3285
+
3286
+ #: widgets/post-list/widget.php:785
3287
+ msgid "Line Height"
3288
+ msgstr ""
3289
+
3290
+ #: widgets/post-list/widget.php:800, widgets/taxonomy-list/widget.php:615
3291
+ msgid "Image Width"
3292
+ msgstr ""
3293
+
3294
+ #: widgets/post-list/widget.php:848, widgets/taxonomy-list/widget.php:662
3295
+ msgid "Margin Right"
3296
+ msgstr ""
3297
+
3298
+ #: widgets/post-list/widget.php:867, widgets/post-tab/widget.php:292, widgets/post-tab/widget.php:492, widgets/post-tab/widget.php:577, widgets/post-tab/widget.php:622
3299
+ msgid "Margin Bottom"
3300
+ msgstr ""
3301
+
3302
+ #: widgets/post-list/widget.php:921, widgets/threesixty-rotation/widget.php:514
3303
+ msgid "Space Top"
3304
+ msgstr ""
3305
+
3306
+ #: widgets/post-list/widget.php:935, widgets/post-tab/widget.php:687
3307
+ msgid "Meta"
3308
+ msgstr ""
3309
+
3310
+ #: widgets/post-list/widget.php:968, widgets/post-list/widget.php:1013, widgets/post-tab/widget.php:477, widgets/twitter-feed/widget.php:1020
3311
+ msgid "Space Between"
3312
+ msgstr ""
3313
+
3314
+ #: widgets/post-list/widget.php:992
3315
+ msgid "Meta Icon"
3316
+ msgstr ""
3317
+
3318
+ #: widgets/post-list/widget.php:1169, widgets/taxonomy-list/widget.php:751
3319
+ msgid "No "
3320
+ msgstr ""
3321
+
3322
+ #: widgets/post-list/widget.php:1171
3323
+ msgid "Found"
3324
+ msgstr ""
3325
+
3326
+ #: widgets/post-tab/widget.php:89
3327
+ msgid "Query"
3328
+ msgstr ""
3329
+
3330
+ #: widgets/post-tab/widget.php:111
3331
+ msgid "Taxonomies"
3332
+ msgstr ""
3333
+
3334
+ #: widgets/post-tab/widget.php:173, widgets/twitter-feed/widget.php:156
3335
+ msgid "2 Column"
3336
+ msgstr ""
3337
+
3338
+ #: widgets/post-tab/widget.php:174, widgets/twitter-feed/widget.php:157
3339
+ msgid "3 Column"
3340
+ msgstr ""
3341
+
3342
+ #: widgets/post-tab/widget.php:175, widgets/twitter-feed/widget.php:158
3343
+ msgid "4 Column"
3344
+ msgstr ""
3345
+
3346
+ #: widgets/post-tab/widget.php:176
3347
+ msgid "5 Column"
3348
+ msgstr ""
3349
+
3350
+ #: widgets/post-tab/widget.php:177
3351
+ msgid "6 Column"
3352
+ msgstr ""
3353
+
3354
+ #: widgets/post-tab/widget.php:195
3355
+ msgid "Show Excerpt"
3356
+ msgstr ""
3357
+
3358
+ #: widgets/post-tab/widget.php:207
3359
+ msgid "Filter Position"
3360
+ msgstr ""
3361
+
3362
+ #: widgets/post-tab/widget.php:232
3363
+ msgid "Filter Align"
3364
+ msgstr ""
3365
+
3366
+ #: widgets/post-tab/widget.php:264
3367
+ msgid "Tab action"
3368
+ msgstr ""
3369
+
3370
+ #: widgets/post-tab/widget.php:284
3371
+ msgid "Tab"
3372
+ msgstr ""
3373
+
3374
+ #: widgets/post-tab/widget.php:340
3375
+ msgid "Tab Item"
3376
+ msgstr ""
3377
+
3378
+ #: widgets/post-tab/widget.php:760
3379
+ msgid "Excerpt"
3380
+ msgstr ""
3381
+
3382
+ #: widgets/post-tab/widget.php:799
3383
+ msgid "Margin Top"
3384
+ msgstr ""
3385
+
3386
+ #: widgets/post-tab/widget.php:933
3387
+ msgid "No Posts Found"
3388
+ msgstr ""
3389
+
3390
+ #: widgets/pricing-table/widget.php:57, widgets/pricing-table/widget.php:395
3391
+ msgid "Header"
3392
+ msgstr ""
3393
+
3394
+ #: widgets/pricing-table/widget.php:68
3395
+ msgid "Basic"
3396
+ msgstr ""
3397
+
3398
+ #: widgets/pricing-table/widget.php:80, widgets/pricing-table/widget.php:445
3399
+ msgid "Pricing"
3400
+ msgstr ""
3401
+
3402
+ #: widgets/pricing-table/widget.php:88, widgets/pricing-table/widget.php:494
3403
+ msgid "Currency"
3404
+ msgstr ""
3405
+
3406
+ #: widgets/pricing-table/widget.php:93
3407
+ msgctxt "Currency Symbol"
3408
+ msgid "Baht"
3409
+ msgstr ""
3410
+
3411
+ #: widgets/pricing-table/widget.php:94
3412
+ msgctxt "Currency Symbol"
3413
+ msgid "BD Taka"
3414
+ msgstr ""
3415
+
3416
+ #: widgets/pricing-table/widget.php:95
3417
+ msgctxt "Currency Symbol"
3418
+ msgid "Dollar"
3419
+ msgstr ""
3420
+
3421
+ #: widgets/pricing-table/widget.php:96
3422
+ msgctxt "Currency Symbol"
3423
+ msgid "Euro"
3424
+ msgstr ""
3425
+
3426
+ #: widgets/pricing-table/widget.php:97
3427
+ msgctxt "Currency Symbol"
3428
+ msgid "Franc"
3429
+ msgstr ""
3430
+
3431
+ #: widgets/pricing-table/widget.php:98
3432
+ msgctxt "Currency Symbol"
3433
+ msgid "Guilder"
3434
+ msgstr ""
3435
+
3436
+ #: widgets/pricing-table/widget.php:99
3437
+ msgctxt "Currency Symbol"
3438
+ msgid "Krona"
3439
+ msgstr ""
3440
+
3441
+ #: widgets/pricing-table/widget.php:100
3442
+ msgctxt "Currency Symbol"
3443
+ msgid "Lira"
3444
+ msgstr ""
3445
+
3446
+ #: widgets/pricing-table/widget.php:101
3447
+ msgctxt "Currency Symbol"
3448
+ msgid "Peseta"
3449
+ msgstr ""
3450
+
3451
+ #: widgets/pricing-table/widget.php:102
3452
+ msgctxt "Currency Symbol"
3453
+ msgid "Peso"
3454
+ msgstr ""
3455
+
3456
+ #: widgets/pricing-table/widget.php:103
3457
+ msgctxt "Currency Symbol"
3458
+ msgid "Pound Sterling"
3459
+ msgstr ""
3460
+
3461
+ #: widgets/pricing-table/widget.php:104
3462
+ msgctxt "Currency Symbol"
3463
+ msgid "Real"
3464
+ msgstr ""
3465
+
3466
+ #: widgets/pricing-table/widget.php:105
3467
+ msgctxt "Currency Symbol"
3468
+ msgid "Ruble"
3469
+ msgstr ""
3470
+
3471
+ #: widgets/pricing-table/widget.php:106
3472
+ msgctxt "Currency Symbol"
3473
+ msgid "Rupee"
3474
+ msgstr ""
3475
+
3476
+ #: widgets/pricing-table/widget.php:107
3477
+ msgctxt "Currency Symbol"
3478
+ msgid "Rupee (Indian)"
3479
+ msgstr ""
3480
+
3481
+ #: widgets/pricing-table/widget.php:108
3482
+ msgctxt "Currency Symbol"
3483
+ msgid "Shekel"
3484
+ msgstr ""
3485
+
3486
+ #: widgets/pricing-table/widget.php:109
3487
+ msgctxt "Currency Symbol"
3488
+ msgid "Won"
3489
+ msgstr ""
3490
+
3491
+ #: widgets/pricing-table/widget.php:110
3492
+ msgctxt "Currency Symbol"
3493
+ msgid "Yen/Yuan"
3494
+ msgstr ""
3495
+
3496
+ #: widgets/pricing-table/widget.php:120
3497
+ msgid "Custom Symbol"
3498
+ msgstr ""
3499
+
3500
+ #: widgets/pricing-table/widget.php:134, widgets/pricing-table/widget.php:454
3501
+ msgid "Price"
3502
+ msgstr ""
3503
+
3504
+ #: widgets/pricing-table/widget.php:146, widgets/pricing-table/widget.php:535
3505
+ msgid "Period"
3506
+ msgstr ""
3507
+
3508
+ #: widgets/pricing-table/widget.php:148
3509
+ msgid "Per Month"
3510
+ msgstr ""
3511
+
3512
+ #: widgets/pricing-table/widget.php:160, widgets/pricing-table/widget.php:169, widgets/pricing-table/widget.php:577
3513
+ msgid "Features"
3514
+ msgstr ""
3515
+
3516
+ #: widgets/pricing-table/widget.php:185, widgets/pricing-table/widget.php:251
3517
+ msgid "Exciting Feature"
3518
+ msgstr ""
3519
+
3520
+ #: widgets/pricing-table/widget.php:239
3521
+ msgid "Standard Feature"
3522
+ msgstr ""
3523
+
3524
+ #: widgets/pricing-table/widget.php:243
3525
+ msgid "Another Great Feature"
3526
+ msgstr ""
3527
+
3528
+ #: widgets/pricing-table/widget.php:247
3529
+ msgid "Obsolete Feature"
3530
+ msgstr ""
3531
+
3532
+ #: widgets/pricing-table/widget.php:264, widgets/pricing-table/widget.php:681
3533
+ msgid "Footer"
3534
+ msgstr ""
3535
+
3536
+ #: widgets/pricing-table/widget.php:274
3537
+ msgid "Subscribe"
3538
+ msgstr ""
3539
+
3540
+ #: widgets/pricing-table/widget.php:351
3541
+ msgid "Recommended"
3542
+ msgstr ""
3543
+
3544
+ #: widgets/pricing-table/widget.php:502
3545
+ msgid "Side Spacing"
3546
+ msgstr ""
3547
+
3548
+ #: widgets/pricing-table/widget.php:585
3549
+ msgid "Container Bottom Spacing"
3550
+ msgstr ""
3551
+
3552
+ #: widgets/pricing-table/widget.php:647, widgets/skills/widget.php:227
3553
+ msgid "Spacing Between"
3554
+ msgstr ""
3555
+
3556
+ #: widgets/review/widget.php:72, widgets/review/widget.php:298
3557
+ msgid "Rating"
3558
+ msgstr ""
3559
+
3560
+ #: widgets/review/widget.php:95
3561
+ msgid "Rating Style"
3562
+ msgstr ""
3563
+
3564
+ #: widgets/review/widget.php:98
3565
+ msgid "Star"
3566
+ msgstr ""
3567
+
3568
+ #: widgets/review/widget.php:112
3569
+ msgid "Happy reviewer is super excited being part of happy addons family"
3570
+ msgstr ""
3571
+
3572
+ #: widgets/review/widget.php:113
3573
+ msgid "Type amazing review from happy reviewer"
3574
+ msgstr ""
3575
+
3576
+ #: widgets/review/widget.php:124
3577
+ msgid "Review Position"
3578
+ msgstr ""
3579
+
3580
+ #: widgets/review/widget.php:127
3581
+ msgid "Before Rating"
3582
+ msgstr ""
3583
+
3584
+ #: widgets/review/widget.php:128
3585
+ msgid "After Rating"
3586
+ msgstr ""
3587
+
3588
+ #: widgets/review/widget.php:140, widgets/testimonial/widget.php:127, widgets/testimonial/widget.php:374
3589
+ msgid "Reviewer"
3590
+ msgstr ""
3591
+
3592
+ #: widgets/review/widget.php:202, widgets/testimonial/widget.php:163
3593
+ msgid "Type Reviewer Name"
3594
+ msgstr ""
3595
+
3596
+ #: widgets/review/widget.php:217
3597
+ msgid "Type Reviewer Job Title"
3598
+ msgstr ""
3599
+
3600
+ #: widgets/review/widget.php:258
3601
+ msgid "Name HTML Tag"
3602
+ msgstr ""
3603
+
3604
+ #: widgets/review/widget.php:386
3605
+ msgid "Review & Reviewer"
3606
+ msgstr ""
3607
+
3608
+ #: widgets/review/widget.php:394
3609
+ msgid "Text Box Padding"
3610
+ msgstr ""
3611
+
3612
+ #: widgets/review/widget.php:592
3613
+ msgid "Offset X"
3614
+ msgstr ""
3615
+
3616
+ #: widgets/review/widget.php:613
3617
+ msgid "Offset Y"
3618
+ msgstr ""
3619
+
3620
+ #: widgets/skills/widget.php:56
3621
+ msgid "Skills"
3622
+ msgstr ""
3623
+
3624
+ #: widgets/skills/widget.php:68, widgets/testimonial/widget.php:109
3625
+ msgid "Design"
3626
+ msgstr ""
3627
+
3628
+ #: widgets/skills/widget.php:69
3629
+ msgid "Type a skill name"
3630
+ msgstr ""
3631
+
3632
+ #: widgets/skills/widget.php:76
3633
+ msgid "Level (Out Of 100)"
3634
+ msgstr ""
3635
+
3636
+ #: widgets/skills/widget.php:103
3637
+ msgid "You can customize this skill bar color from here or customize from Style tab"
3638
+ msgstr ""
3639
+
3640
+ #: widgets/skills/widget.php:124, widgets/skills/widget.php:290
3641
+ msgid "Level Color"
3642
+ msgstr ""
3643
+
3644
+ #: widgets/skills/widget.php:137, widgets/skills/widget.php:301
3645
+ msgid "Base Color"
3646
+ msgstr ""
3647
+
3648
+ #: widgets/skills/widget.php:182
3649
+ msgid "Text Position"
3650
+ msgstr ""
3651
+
3652
+ #: widgets/skills/widget.php:186
3653
+ msgid "Text Inside"
3654
+ msgstr ""
3655
+
3656
+ #: widgets/skills/widget.php:187
3657
+ msgid "Text Outside"
3658
+ msgstr ""
3659
+
3660
+ #: widgets/slider/widget.php:271
3661
+ msgid "Slider Item"
3662
+ msgstr ""
3663
+
3664
+ #: widgets/social-icons/widget.php:146
3665
+ msgid "https://your-social-link.com"
3666
+ msgstr ""
3667
+
3668
+ #: widgets/social-icons/widget.php:155
3669
+ msgid "Enable Text"
3670
+ msgstr ""
3671
+
3672
+ #: widgets/social-icons/widget.php:168, widgets/social-icons/widget.php:791
3673
+ msgid "Social Name"
3674
+ msgstr ""
3675
+
3676
+ #: widgets/social-icons/widget.php:335
3677
+ msgid "Show Separator"
3678
+ msgstr ""
3679
+
3680
+ #: widgets/social-icons/widget.php:344
3681
+ msgid "Type"
3682
+ msgstr ""
3683
+
3684
+ #: widgets/social-icons/widget.php:347
3685
+ msgid "Stroke"
3686
+ msgstr ""
3687
+
3688
+ #: widgets/social-icons/widget.php:362
3689
+ msgid "Stroke Size"
3690
+ msgstr ""
3691
+
3692
+ #: widgets/social-icons/widget.php:394
3693
+ msgid "Custom Character"
3694
+ msgstr ""
3695
+
3696
+ #: widgets/social-icons/widget.php:439
3697
+ msgid "Enable Sticky"
3698
+ msgstr ""
3699
+
3700
+ #: widgets/social-icons/widget.php:588
3701
+ msgid "Social Spacing"
3702
+ msgstr ""
3703
+
3704
+ #: widgets/social-icons/widget.php:692
3705
+ msgid "2D Animation"
3706
+ msgstr ""
3707
+
3708
+ #: widgets/social-icons/widget.php:693
3709
+ msgid "Background Animation"
3710
+ msgstr ""
3711
+
3712
+ #: widgets/social-icons/widget.php:694
3713
+ msgid "Shadow and Glow Animation"
3714
+ msgstr ""
3715
+
3716
+ #: widgets/social-icons/widget.php:705
3717
+ msgid "Grow"
3718
+ msgstr ""
3719
+
3720
+ #: widgets/social-icons/widget.php:706
3721
+ msgid "Shrink"
3722
+ msgstr ""
3723
+
3724
+ #: widgets/social-icons/widget.php:707
3725
+ msgid "Pulse"
3726
+ msgstr ""
3727
+
3728
+ #: widgets/social-icons/widget.php:708
3729
+ msgid "Pulse Grow"
3730
+ msgstr ""
3731
+
3732
+ #: widgets/social-icons/widget.php:709
3733
+ msgid "Pulse Shrink"
3734
+ msgstr ""
3735
+
3736
+ #: widgets/social-icons/widget.php:710
3737
+ msgid "Push"
3738
+ msgstr ""
3739
+
3740
+ #: widgets/social-icons/widget.php:711
3741
+ msgid "Pop"
3742
+ msgstr ""
3743
+
3744
+ #: widgets/social-icons/widget.php:712
3745
+ msgid "Bounce In"
3746
+ msgstr ""
3747
+
3748
+ #: widgets/social-icons/widget.php:713
3749
+ msgid "Bounce Out"
3750
+ msgstr ""
3751
+
3752
+ #: widgets/social-icons/widget.php:715
3753
+ msgid "Grow Rotate"
3754
+ msgstr ""
3755
+
3756
+ #: widgets/social-icons/widget.php:716
3757
+ msgid "Float"
3758
+ msgstr ""
3759
+
3760
+ #: widgets/social-icons/widget.php:717
3761
+ msgid "Sink"
3762
+ msgstr ""
3763
+
3764
+ #: widgets/social-icons/widget.php:718
3765
+ msgid "Bob"
3766
+ msgstr ""
3767
+
3768
+ #: widgets/social-icons/widget.php:719
3769
+ msgid "Hang"
3770
+ msgstr ""
3771
+
3772
+ #: widgets/social-icons/widget.php:720
3773
+ msgid "Wobble Vertical"
3774
+ msgstr ""
3775
+
3776
+ #: widgets/social-icons/widget.php:721
3777
+ msgid "Wobble Horizontal"
3778
+ msgstr ""
3779
+
3780
+ #: widgets/social-icons/widget.php:722
3781
+ msgid "Wobble To Bottom Right"
3782
+ msgstr ""
3783
+
3784
+ #: widgets/social-icons/widget.php:723
3785
+ msgid "Wobble To Top Right"
3786
+ msgstr ""
3787
+
3788
+ #: widgets/social-icons/widget.php:724
3789
+ msgid "Buzz"
3790
+ msgstr ""
3791
+
3792
+ #: widgets/social-icons/widget.php:725
3793
+ msgid "Buzz Out"
3794
+ msgstr ""
3795
+
3796
+ #: widgets/social-icons/widget.php:739
3797
+ msgid "Fade"
3798
+ msgstr ""
3799
+
3800
+ #: widgets/social-icons/widget.php:740
3801
+ msgid "Back Pulse"
3802
+ msgstr ""
3803
+
3804
+ #: widgets/social-icons/widget.php:741
3805
+ msgid "Sweep To Right"
3806
+ msgstr ""
3807
+
3808
+ #: widgets/social-icons/widget.php:742
3809
+ msgid "Sweep To Left"
3810
+ msgstr ""
3811
+
3812
+ #: widgets/social-icons/widget.php:743
3813
+ msgid "Sweep To Bottom"
3814
+ msgstr ""
3815
+
3816
+ #: widgets/social-icons/widget.php:744
3817
+ msgid "Sweep To Top"
3818
+ msgstr ""
3819
+
3820
+ #: widgets/social-icons/widget.php:745
3821
+ msgid "Bounce To Right"
3822
+ msgstr ""
3823
+
3824
+ #: widgets/social-icons/widget.php:746
3825
+ msgid "Bounce To Left"
3826
+ msgstr ""
3827
+
3828
+ #: widgets/social-icons/widget.php:747
3829
+ msgid "Bounce To Bottom"
3830
+ msgstr ""
3831
+
3832
+ #: widgets/social-icons/widget.php:748
3833
+ msgid "Bounce To Top"
3834
+ msgstr ""
3835
+
3836
+ #: widgets/social-icons/widget.php:749
3837
+ msgid "Radial Out"
3838
+ msgstr ""
3839
+
3840
+ #: widgets/social-icons/widget.php:750
3841
+ msgid "Radial In"
3842
+ msgstr ""
3843
+
3844
+ #: widgets/social-icons/widget.php:751
3845
+ msgid "Rectangle In"
3846
+ msgstr ""
3847
+
3848
+ #: widgets/social-icons/widget.php:752
3849
+ msgid "Rectangle Out"
3850
+ msgstr ""
3851
+
3852
+ #: widgets/social-icons/widget.php:753
3853
+ msgid "Shutter In Horizontal"
3854
+ msgstr ""
3855
+
3856
+ #: widgets/social-icons/widget.php:754
3857
+ msgid "Shutter Out Horizontal"
3858
+ msgstr ""
3859
+
3860
+ #: widgets/social-icons/widget.php:755
3861
+ msgid "Shutter In Vertical"
3862
+ msgstr ""
3863
+
3864
+ #: widgets/social-icons/widget.php:756
3865
+ msgid "Shutter Out Vertical"
3866
+ msgstr ""
3867
+
3868
+ #: widgets/social-icons/widget.php:771
3869
+ msgid "Glow"
3870
+ msgstr ""
3871
+
3872
+ #: widgets/social-icons/widget.php:772
3873
+ msgid "Shadow"
3874
+ msgstr ""
3875
+
3876
+ #: widgets/social-icons/widget.php:773
3877
+ msgid "Grow Shadow"
3878
+ msgstr ""
3879
+
3880
+ #: widgets/social-icons/widget.php:774
3881
+ msgid "Box Shadow Outset"
3882
+ msgstr ""
3883
+
3884
+ #: widgets/social-icons/widget.php:775
3885
+ msgid "Box Shadow Inset"
3886
+ msgstr ""
3887
+
3888
+ #: widgets/social-icons/widget.php:776
3889
+ msgid "Float Shadow"
3890
+ msgstr ""
3891
+
3892
+ #: widgets/social-icons/widget.php:777
3893
+ msgid "Shadow Radial"
3894
+ msgstr ""
3895
+
3896
+ #: widgets/social-icons/widget.php:823, widgets/social-share/widget.php:439
3897
+ msgid "Separator"
3898
+ msgstr ""
3899
+
3900
+ #: widgets/social-share/widget.php:57
3901
+ msgid "Buttons"
3902
+ msgstr ""
3903
+
3904
+ #: widgets/social-share/widget.php:67
3905
+ msgid "Network"
3906
+ msgstr ""
3907
+
3908
+ #: widgets/social-share/widget.php:72
3909
+ msgid "Linkedin"
3910
+ msgstr ""
3911
+
3912
+ #: widgets/social-share/widget.php:74
3913
+ msgid "Whatsapp"
3914
+ msgstr ""
3915
+
3916
+ #: widgets/social-share/widget.php:75
3917
+ msgid "Telegram"
3918
+ msgstr ""
3919
+
3920
+ #: widgets/social-share/widget.php:76
3921
+ msgid "Viber"
3922
+ msgstr ""
3923
+
3924
+ #: widgets/social-share/widget.php:82
3925
+ msgid "Get Pocket"
3926
+ msgstr ""
3927
+
3928
+ #: widgets/social-share/widget.php:84
3929
+ msgid "StumbleUpon"
3930
+ msgstr ""
3931
+
3932
+ #: widgets/social-share/widget.php:85
3933
+ msgid "Weibo"
3934
+ msgstr ""
3935
+
3936
+ #: widgets/social-share/widget.php:86
3937
+ msgid "Renren"
3938
+ msgstr ""
3939
+
3940
+ #: widgets/social-share/widget.php:87
3941
+ msgid "Skype"
3942
+ msgstr ""
3943
+
3944
+ #: widgets/social-share/widget.php:96
3945
+ msgid "Custom Link"
3946
+ msgstr ""
3947
+
3948
+ #: widgets/social-share/widget.php:97
3949
+ msgid "https://your-share-link.com"
3950
+ msgstr ""
3951
+
3952
+ #: widgets/social-share/widget.php:109
3953
+ msgid "Hashtags"
3954
+ msgstr ""
3955
+
3956
+ #: widgets/social-share/widget.php:110
3957
+ msgid "Write hashtags without # sign and with comma separated value"
3958
+ msgstr ""
3959
+
3960
+ #: widgets/social-share/widget.php:162, widgets/taxonomy-list/widget.php:102
3961
+ msgid "Custom Title"
3962
+ msgstr ""
3963
+
3964
+ #: widgets/social-share/widget.php:216
3965
+ msgid "Subject"
3966
+ msgstr ""
3967
+
3968
+ #: widgets/social-share/widget.php:228
3969
+ msgid "Twitter Handle"
3970
+ msgstr ""
3971
+
3972
+ #: widgets/social-share/widget.php:229
3973
+ msgid "Write without @ sign."
3974
+ msgstr ""
3975
+
3976
+ #: widgets/social-share/widget.php:241
3977
+ msgid "Custom Image"
3978
+ msgstr ""
3979
+
3980
+ #: widgets/social-share/widget.php:259
3981
+ msgid "Share on Facebook"
3982
+ msgstr ""
3983
+
3984
+ #: widgets/social-share/widget.php:391
3985
+ msgid "Share Icons"
3986
+ msgstr ""
3987
+
3988
+ #: widgets/social-share/widget.php:424
3989
+ msgid "View"
3990
+ msgstr ""
3991
+
3992
+ #: widgets/social-share/widget.php:429
3993
+ msgid "Icon and Text"
3994
+ msgstr ""
3995
+
3996
+ #: widgets/social-share/widget.php:455
3997
+ msgid "Display"
3998
+ msgstr ""
3999
+
4000
+ #: widgets/social-share/widget.php:463
4001
+ msgid "Block"
4002
+ msgstr ""
4003
+
4004
+ #: widgets/social-share/widget.php:589
4005
+ msgid "Icon Right Spacing"
4006
+ msgstr ""
4007
+
4008
+ #: widgets/social-share/widget.php:600
4009
+ msgid "Separator Right Spacing"
4010
+ msgstr ""
4011
+
4012
+ #: widgets/social-share/widget.php:653, widgets/social-share/widget.php:705
4013
+ msgid "Separator Color"
4014
+ msgstr ""
4015
+
4016
+ #: widgets/step-flow/widget.php:93
4017
+ msgid "Keep it blank, if you want to remove the Badge"
4018
+ msgstr ""
4019
+
4020
+ #: widgets/step-flow/widget.php:94
4021
+ msgid "Step 1"
4022
+ msgstr ""
4023
+
4024
+ #: widgets/step-flow/widget.php:212
4025
+ msgid "Show Direction"
4026
+ msgstr ""
4027
+
4028
+ #: widgets/step-flow/widget.php:498, widgets/twitter-feed/widget.php:927
4029
+ msgid "Hover Color"
4030
+ msgstr ""
4031
+
4032
+ #: widgets/step-flow/widget.php:568
4033
+ msgid "Direction"
4034
+ msgstr ""
4035
+
4036
+ #: widgets/step-flow/widget.php:612
4037
+ msgid "Angle"
4038
+ msgstr ""
4039
+
4040
+ #: widgets/taxonomy-list/widget.php:230
4041
+ msgid "Common icon enable?"
4042
+ msgstr ""
4043
+
4044
+ #: widgets/taxonomy-list/widget.php:231
4045
+ msgid "If you want to use individual icon disable common icon."
4046
+ msgstr ""
4047
+
4048
+ #: widgets/taxonomy-list/widget.php:241
4049
+ msgid "Common Icon"
4050
+ msgstr ""
4051
+
4052
+ #: widgets/taxonomy-list/widget.php:265, widgets/taxonomy-list/widget.php:283
4053
+ msgid "Common icon will overwrite individual icon."
4054
+ msgstr ""
4055
+
4056
+ #: widgets/taxonomy-list/widget.php:573
4057
+ msgid "Icon & Image"
4058
+ msgstr ""
4059
+
4060
+ #: widgets/taxonomy-list/widget.php:604
4061
+ msgid "Icon Line Height"
4062
+ msgstr ""
4063
+
4064
+ #: widgets/taxonomy-list/widget.php:753
4065
+ msgid "found"
4066
+ msgstr ""
4067
+
4068
+ #: widgets/testimonial/widget.php:70
4069
+ msgid "Type testimonial"
4070
+ msgstr ""
4071
+
4072
+ #: widgets/testimonial/widget.php:114
4073
+ msgid "Bubble"
4074
+ msgstr ""
4075
+
4076
+ #: widgets/testimonial/widget.php:176
4077
+ msgid "CMO, HappyAddons"
4078
+ msgstr ""
4079
+
4080
+ #: widgets/testimonial/widget.php:177
4081
+ msgid "Type reviewer title"
4082
+ msgstr ""
4083
+
4084
+ #: widgets/threesixty-rotation/widget.php:32
4085
+ msgid "360 Rotation"
4086
+ msgstr ""
4087
+
4088
+ #: widgets/threesixty-rotation/widget.php:93, widgets/threesixty-rotation/widget.php:97
4089
+ msgid "Autoplay"
4090
+ msgstr ""
4091
+
4092
+ #: widgets/threesixty-rotation/widget.php:98
4093
+ msgid "Button Play"
4094
+ msgstr ""
4095
+
4096
+ #: widgets/threesixty-rotation/widget.php:107, widgets/twitter-feed/widget.php:367
4097
+ msgid "Button Alignment"
4098
+ msgstr ""
4099
+
4100
+ #: widgets/threesixty-rotation/widget.php:136, widgets/threesixty-rotation/widget.php:317
4101
+ msgid "Magnify"
4102
+ msgstr ""
4103
+
4104
+ #: widgets/threesixty-rotation/widget.php:148
4105
+ msgid "Magnify Zoom"
4106
+ msgstr ""
4107
+
4108
+ #: widgets/threesixty-rotation/widget.php:398
4109
+ msgid "AutoPlay Button"
4110
+ msgstr ""
4111
+
4112
+ #: widgets/twitter-feed/widget.php:65
4113
+ msgid "User Name"
4114
+ msgstr ""
4115
+
4116
+ #: widgets/twitter-feed/widget.php:69
4117
+ msgid "Use @ sign with your Twitter user name."
4118
+ msgstr ""
4119
+
4120
+ #: widgets/twitter-feed/widget.php:77
4121
+ msgid "Consumer Key"
4122
+ msgstr ""
4123
+
4124
+ #: widgets/twitter-feed/widget.php:88
4125
+ msgid "Consumer Secret"
4126
+ msgstr ""
4127
+
4128
+ #: widgets/twitter-feed/widget.php:101
4129
+ msgid "Twitter Settings"
4130
+ msgstr ""
4131
+
4132
+ #: widgets/twitter-feed/widget.php:109
4133
+ msgid "Sort By"
4134
+ msgstr ""
4135
+
4136
+ #: widgets/twitter-feed/widget.php:113
4137
+ msgid "Recent Posts"
4138
+ msgstr ""
4139
+
4140
+ #: widgets/twitter-feed/widget.php:114
4141
+ msgid "Old Posts"
4142
+ msgstr ""
4143
+
4144
+ #: widgets/twitter-feed/widget.php:115
4145
+ msgid "Favorite"
4146
+ msgstr ""
4147
+
4148
+ #: widgets/twitter-feed/widget.php:116
4149
+ msgid "Retweet"
4150
+ msgstr ""
4151
+
4152
+ #: widgets/twitter-feed/widget.php:124
4153
+ msgid "Number of tweets to show"
4154
+ msgstr ""
4155
+
4156
+ #: widgets/twitter-feed/widget.php:137
4157
+ msgid "Remove Cache"
4158
+ msgstr ""
4159
+
4160
+ #: widgets/twitter-feed/widget.php:148
4161
+ msgid "Column Number"
4162
+ msgstr ""
4163
+
4164
+ #: widgets/twitter-feed/widget.php:171
4165
+ msgid "Show Twitter Logo"
4166
+ msgstr ""
4167
+
4168
+ #: widgets/twitter-feed/widget.php:182
4169
+ msgid "Show Profile image"
4170
+ msgstr ""
4171
+
4172
+ #: widgets/twitter-feed/widget.php:192
4173
+ msgid "Show Name"
4174
+ msgstr ""
4175
+
4176
+ #: widgets/twitter-feed/widget.php:202
4177
+ msgid "Show User Name"
4178
+ msgstr ""
4179
+
4180
+ #: widgets/twitter-feed/widget.php:212
4181
+ msgid "Show Date Time"
4182
+ msgstr ""
4183
+
4184
+ #: widgets/twitter-feed/widget.php:222
4185
+ msgid "Show Favorite Count"
4186
+ msgstr ""
4187
+
4188
+ #: widgets/twitter-feed/widget.php:233
4189
+ msgid "Show Retweets Count"
4190
+ msgstr ""
4191
+
4192
+ #: widgets/twitter-feed/widget.php:244, widgets/twitter-feed/widget.php:879
4193
+ msgid "Read More"
4194
+ msgstr ""
4195
+
4196
+ #: widgets/twitter-feed/widget.php:255
4197
+ msgid "Read More Text"
4198
+ msgstr ""
4199
+
4200
+ #: widgets/twitter-feed/widget.php:267
4201
+ msgid "Content Word Count"
4202
+ msgstr ""
4203
+
4204
+ #: widgets/twitter-feed/widget.php:279, widgets/twitter-feed/widget.php:1060
4205
+ msgid "Load More Button"
4206
+ msgstr ""
4207
+
4208
+ #: widgets/twitter-feed/widget.php:290
4209
+ msgid "Load More Text"
4210
+ msgstr ""
4211
+
4212
+ #: widgets/twitter-feed/widget.php:304
4213
+ msgid "General Settings"
4214
+ msgstr ""
4215
+
4216
+ #: widgets/twitter-feed/widget.php:340
4217
+ msgid "Footer Alignment"
4218
+ msgstr ""
4219
+
4220
+ #: widgets/twitter-feed/widget.php:394
4221
+ msgid "User Info Position"
4222
+ msgstr ""
4223
+
4224
+ #: widgets/twitter-feed/widget.php:438
4225
+ msgid "Spacing between Tweets"
4226
+ msgstr ""
4227
+
4228
+ #: widgets/twitter-feed/widget.php:512
4229
+ msgid "Content Glassy Effect"
4230
+ msgstr ""
4231
+
4232
+ #: widgets/twitter-feed/widget.php:529
4233
+ msgid "User Info"
4234
+ msgstr ""
4235
+
4236
+ #: widgets/twitter-feed/widget.php:537
4237
+ msgid "User Info Spacing"
4238
+ msgstr ""
4239
+
4240
+ #: widgets/twitter-feed/widget.php:549
4241
+ msgid "Twitter Icon"
4242
+ msgstr ""
4243
+
4244
+ #: widgets/twitter-feed/widget.php:563
4245
+ msgid "Twitter Icon is hidden from <strong>Twitter Settings</strong> section."
4246
+ msgstr ""
4247
+
4248
+ #: widgets/twitter-feed/widget.php:598
4249
+ msgid "Profile Image"
4250
+ msgstr ""
4251
+
4252
+ #: widgets/twitter-feed/widget.php:612
4253
+ msgid "Profile Image is hidden from <strong>Twitter Settings</strong> section."
4254
+ msgstr ""
4255
+
4256
+ #: widgets/twitter-feed/widget.php:673
4257
+ msgid "Name & User Name"
4258
+ msgstr ""
4259
+
4260
+ #: widgets/twitter-feed/widget.php:688
4261
+ msgid "Name and UserName both are hidden from <strong>Twitter Settings</strong> section."
4262
+ msgstr ""
4263
+
4264
+ #: widgets/twitter-feed/widget.php:696
4265
+ msgid "Name Typography"
4266
+ msgstr ""
4267
+
4268
+ #: widgets/twitter-feed/widget.php:709
4269
+ msgid "User Name Typography"
4270
+ msgstr ""
4271
+
4272
+ #: widgets/twitter-feed/widget.php:748, widgets/twitter-feed/widget.php:784
4273
+ msgid "Name Color"
4274
+ msgstr ""
4275
+
4276
+ #: widgets/twitter-feed/widget.php:762, widgets/twitter-feed/widget.php:798
4277
+ msgid "User Name Color"
4278
+ msgstr ""
4279
+
4280
+ #: widgets/twitter-feed/widget.php:893
4281
+ msgid "Read More is hidden from <strong>Twitter Settings</strong> section."
4282
+ msgstr ""
4283
+
4284
+ #: widgets/twitter-feed/widget.php:941
4285
+ msgid "Date Time"
4286
+ msgstr ""
4287
+
4288
+ #: widgets/twitter-feed/widget.php:955
4289
+ msgid "Date is hidden from <strong>Twitter Settings</strong> section."
4290
+ msgstr ""
4291
+
4292
+ #: widgets/twitter-feed/widget.php:991
4293
+ msgid "Footer & Button"
4294
+ msgstr ""
4295
+
4296
+ #: widgets/twitter-feed/widget.php:1005
4297
+ msgid "Favorite and Retweet both are hidden from <strong>Twitter Settings</strong> section."
4298
+ msgstr ""
4299
+
4300
+ #: widgets/twitter-feed/widget.php:1012
4301
+ msgid "Favorite & Retweet"
4302
+ msgstr ""
4303
+
4304
+ #: widgets/twitter-feed/widget.php:1074
4305
+ msgid "Button is hidden from <strong>Twitter Settings</strong> section."
4306
+ msgstr ""
4307
+
4308
+ #: widgets/twitter-feed/widget.php:1225
4309
+ msgid "Add Consumer Secret Key"
4310
+ msgstr ""
4311
+
4312
+ #: widgets/twitter-feed/widget.php:1223
4313
+ msgid "Add Consumer Key"
4314
+ msgstr ""
4315
+
4316
+ #: widgets/twitter-feed/widget.php:1221
4317
+ msgid "Add user Name"
4318
+ msgstr ""
4319
+
4320
+ #: widgets/twitter-feed/widget.php:1283
4321
+ msgid "Nothing Found"
4322
+ msgstr ""
4323
+
4324
+ #: widgets/weform/widget.php:348
4325
+ msgid "Help Text Typography"
4326
+ msgstr ""
4327
+
4328
+ #: widgets/weform/widget.php:379
4329
+ msgid "Help Text Color"
4330
+ msgstr ""
4331
+
4332
+ #: widgets/wpform/widget.php:92
4333
+ msgid "Select a WPForm"
4334
+ msgstr ""
4335
+
4336
+ #: widgets/wpform/widget.php:185
4337
+ msgid "Normal State"
4338
+ msgstr ""
4339
+
4340
+ #: widgets/wpform/widget.php:333
4341
+ msgid "Colors"
4342
+ msgstr ""
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.15.0
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.15.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__ ) );
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.16.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.16.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,12 +1,12 @@
1
  === Happy Addons for Elementor ===
2
  Plugin Name: Happy Addons for Elementor
3
- Version: 2.15.0
4
  Author: weDevs
5
  Author URI: https://happyaddons.com/
6
  Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, sourav926, wedevs, iqbalrony, mrokon, obiplabon
7
  Tags: Elementor Page Builder, Elementor Addons, Widgets, Editor, Web Page Builder
8
  Requires at least: 4.7
9
- Tested up to: 5.5.1
10
  Stable tag: trunk
11
  Requires PHP: 5.4
12
  License: GPLv2
@@ -151,6 +151,10 @@ If you are still craving for more widgets, then the following premium widgets ar
151
  - [**Smart Post List**](https://demo.happyaddons.com/elementor-smart-post-list-widget-demo/) - Are you looking for a magnificent listing facility with the highlighted option for your sticky featured article? HappyAddons Smart Post list widget will handle all of your desirable styles smartly, like featuring the sticky post, filterable post list, and more
152
  - [**Post Carousel**](https://demo.happyaddons.com/elementor-post-carousel-widget-demo/) - The Post carousel feature is now trendy in News Portals or other blogging sites to grab visitors’ attention. Now you can create a stunning post carousel for your site with the HappyAddons Post Carousel widget
153
  - [**Author List**](https://demo.happyaddons.com/elementor-author-list-widget-demo/) - Decently showcase your creative writers with the HappyAddons Author List widget. It will help you to display all of your authors in one place
 
 
 
 
154
 
155
 
156
  ### **UNIQUE PRO FEATURES OF HAPPY ADDONS TO WATCH OUT FOR**
@@ -279,6 +283,19 @@ For a more detailed explanation check out the following documentation
279
 
280
  == Changelog ==
281
 
 
 
 
 
 
 
 
 
 
 
 
 
 
282
  = 2.15.0 - 4 November 2020 =
283
 
284
  - New: Ready made page templates (Happy Templates)
1
  === Happy Addons for Elementor ===
2
  Plugin Name: Happy Addons for Elementor
3
+ Version: 2.16.0
4
  Author: weDevs
5
  Author URI: https://happyaddons.com/
6
  Contributors: thehappymonster, happyaddons, hasinhayder, mosaddek73, tareq1988, sourav926, wedevs, iqbalrony, mrokon, obiplabon
7
  Tags: Elementor Page Builder, Elementor Addons, Widgets, Editor, Web Page Builder
8
  Requires at least: 4.7
9
+ Tested up to: 5.5.3
10
  Stable tag: trunk
11
  Requires PHP: 5.4
12
  License: GPLv2
151
  - [**Smart Post List**](https://demo.happyaddons.com/elementor-smart-post-list-widget-demo/) - Are you looking for a magnificent listing facility with the highlighted option for your sticky featured article? HappyAddons Smart Post list widget will handle all of your desirable styles smartly, like featuring the sticky post, filterable post list, and more
152
  - [**Post Carousel**](https://demo.happyaddons.com/elementor-post-carousel-widget-demo/) - The Post carousel feature is now trendy in News Portals or other blogging sites to grab visitors’ attention. Now you can create a stunning post carousel for your site with the HappyAddons Post Carousel widget
153
  - [**Author List**](https://demo.happyaddons.com/elementor-author-list-widget-demo/) - Decently showcase your creative writers with the HappyAddons Author List widget. It will help you to display all of your authors in one place
154
+ - [**WooCommerce Product Grid**](https://demo.happyaddons.com/elementor-product-grid-widget-demo/) - Are you struggling with showcasing your products in perfect grid alignment within WooCommerce? From now, you can display your products in grid views lucratively with HappyAddons Pro Product Grid Widget
155
+ - [**WooCommerce Product Carousel**](https://demo.happyaddons.com/elementor-product-carousel-widget-demo/) - Wondering about a perfect WooCommerce Product Carousel widget for Elementor to grab the attention of your customers? Try HappyAddons Pro’s Product Carousel Widget to make it happen.
156
+ - [**WooCommerce Product Cateogry Grid**](https://demo.happyaddons.com/elementor-product-category-grid-widget-demo/) - Sometimes you need to display your eCommerce products category wise to target a specific genre of visitors. Our HappyAddons Product Category Grid Widget is the best fit for displaying WooCommerce Products category wise
157
+ - [**WooCommerce Product Category Carousel**](https://demo.happyaddons.com/elementor-product-category-carousel-widget-demo/) - From now you can display products in carousels based on specific categories with the help of HappyAddons Pro Product Category Carousel Widget to make them more lucrative
158
 
159
 
160
  ### **UNIQUE PRO FEATURES OF HAPPY ADDONS TO WATCH OUT FOR**
283
 
284
  == Changelog ==
285
 
286
+ = 2.16.0 - 29 November 2020 =
287
+
288
+ - Added: Justified Grid lightbox disable option for mobile and tablet
289
+ - Added: Image Grid lightbox disable option for mobile and tablet
290
+ - Added: Justified Grid default filter select option
291
+ - Added: Image Grid default filter select option
292
+ - Added: Added .pot file
293
+ - Tweak: Improved Justified Grid and Image Grid base style
294
+ - Tweak: Improved Image Grid markup - removed extra inner div
295
+ - Tweak: Improved on demand assets loading
296
+ - Fix: Private page on demand assets loading issue
297
+ - Fix: Lightbox and Popup not working with wrapper link issue
298
+
299
  = 2.15.0 - 4 November 2020 =
300
 
301
  - New: Ready made page templates (Happy Templates)
widgets/image-grid/widget.php CHANGED
@@ -1,764 +1,791 @@
1
- <?php
2
- /**
3
- * Image grid widget class
4
- *
5
- * @package Happy_Addons
6
- */
7
- namespace Happy_Addons\Elementor\Widget;
8
-
9
- use Elementor\Group_Control_Css_Filter;
10
- use Elementor\Repeater;
11
- use Elementor\Controls_Manager;
12
- use Elementor\Group_Control_Border;
13
- use Elementor\Group_Control_Box_Shadow;
14
- use Elementor\Group_Control_Image_Size;
15
- use Elementor\Group_Control_Typography;
16
- use Elementor\Scheme_Typography;
17
-
18
- defined( 'ABSPATH' ) || die();
19
-
20
- class Image_Grid extends Base {
21
-
22
- /**
23
- * Get widget title.
24
- *
25
- * @since 1.0.0
26
- * @access public
27
- *
28
- * @return string Widget title.
29
- */
30
- public function get_title() {
31
- return __( '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
- *
41
- * @since 1.0.0
42
- * @access public
43
- *
44
- * @return string Widget icon.
45
- */
46
- public function get_icon() {
47
- return 'hm hm-grid-even';
48
- }
49
-
50
- public function get_keywords() {
51
- return [ 'gallery', 'image', 'masonry', 'even', 'portfolio', 'filterable', 'grid' ];
52
- }
53
-
54
- protected function register_content_controls() {
55
- $this->start_controls_section(
56
- '_section_gallery',
57
- [
58
- 'label' => __( 'Gallery', 'happy-elementor-addons' ),
59
- 'tab' => Controls_Manager::TAB_CONTENT,
60
- ]
61
- );
62
-
63
- $repeater = new Repeater();
64
-
65
- $repeater->add_control(
66
- 'filter',
67
- [
68
- 'label' => __( 'Filter Name', 'happy-elementor-addons' ),
69
- 'type' => Controls_Manager::TEXT,
70
- 'placeholder' => __( 'Type gallery filter name', 'happy-elementor-addons' ),
71
- 'description' => __( 'Filter name will be used in filter menu.', 'happy-elementor-addons' ),
72
- 'default' => __( 'Filter Name', 'happy-elementor-addons' ),
73
- ]
74
- );
75
-
76
- $repeater->add_control(
77
- 'images',
78
- [
79
- 'type' => Controls_Manager::GALLERY,
80
- 'dynamic' => [
81
- 'active' => true,
82
- ]
83
- ]
84
- );
85
-
86
- $this->add_control(
87
- 'gallery',
88
- [
89
- 'type' => Controls_Manager::REPEATER,
90
- 'fields' => $repeater->get_controls(),
91
- 'show_label' => false,
92
- /** translators: 1: Filter name */
93
- 'title_field' => sprintf( __( 'Filter Group: %1$s', 'happy-elementor-addons' ), '{{filter}}' ),
94
- 'default' => [
95
- [
96
- 'filter' => __( 'Happy', 'happy-elementor-addons' ),
97
- ]
98
- ]
99
- ]
100
- );
101
-
102
- $this->add_group_control(
103
- Group_Control_Image_Size::get_type(),
104
- [
105
- 'name' => 'thumbnail',
106
- 'default' => 'medium_large',
107
- 'separator' => 'before',
108
- 'exclude' => [
109
- 'custom'
110
- ]
111
- ]
112
- );
113
-
114
- $this->end_controls_section();
115
-
116
- $this->start_controls_section(
117
- '_section_settings',
118
- [
119
- 'label' => __( 'Settings', 'happy-elementor-addons' ),
120
- 'tab' => Controls_Manager::TAB_CONTENT,
121
- ]
122
- );
123
-
124
- $this->add_control(
125
- 'show_filter',
126
- [
127
- 'label' => __( 'Show Filter Menu?', 'happy-elementor-addons' ),
128
- 'type' => Controls_Manager::SWITCHER,
129
- 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
130
- 'label_off' => __( 'No', 'happy-elementor-addons' ),
131
- 'return_value' => 'yes',
132
- 'description' => __( 'Enable to display filter menu.', 'happy-elementor-addons' ),
133
- 'style_transfer' => true,
134
- ]
135
- );
136
-
137
- $this->add_control(
138
- 'show_all_filter',
139
- [
140
- 'label' => __( 'Show "All" Filter?', 'happy-elementor-addons' ),
141
- 'type' => Controls_Manager::SWITCHER,
142
- 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
143
- 'label_off' => __( 'No', 'happy-elementor-addons' ),
144
- 'return_value' => 'yes',
145
- 'default' => 'yes',
146
- 'description' => __( 'Enable to display "All" filter in filter menu.', 'happy-elementor-addons' ),
147
- 'condition' => [
148
- 'show_filter' => 'yes'
149
- ],
150
- 'style_transfer' => true,
151
- ]
152
- );
153
-
154
- $this->add_control(
155
- 'all_filter_label',
156
- [
157
- 'label' => __( 'Filter Label', 'happy-elementor-addons' ),
158
- 'type' => Controls_Manager::TEXT,
159
- 'default' => __( 'All', 'happy-elementor-addons' ),
160
- 'placeholder' => __( 'Type filter label', 'happy-elementor-addons' ),
161
- 'description' => __( 'Type "All" filter label.', 'happy-elementor-addons' ),
162
- 'condition' => [
163
- 'show_all_filter' => 'yes',
164
- 'show_filter' => 'yes'
165
- ]
166
- ]
167
- );
168
-
169
- $this->add_responsive_control(
170
- 'columns',
171
- [
172
- 'label' => __( 'Columns', 'happy-elementor-addons' ),
173
- 'type' => Controls_Manager::SELECT,
174
- 'options' => [
175
- 2 => __( '2 Columns', 'happy-elementor-addons' ),
176
- 3 => __( '3 Columns', 'happy-elementor-addons' ),
177
- 4 => __( '4 Columns', 'happy-elementor-addons' ),
178
- 5 => __( '5 Columns', 'happy-elementor-addons' ),
179
- ],
180
- 'separator' => 'before',
181
- 'desktop_default' => 4,
182
- 'tablet_default' => 3,
183
- 'mobile_default' => 2,
184
- 'prefix_class' => 'ha-image-grid--col-',
185
- 'selectors' => [
186
- '{{WRAPPER}} .ha-image-grid-item' => 'width: calc(100% / {{VALUE}});',
187
- ],
188
- 'style_transfer' => true,
189
- ]
190
- );
191
-
192
- $this->add_control(
193
- 'layout',
194
- [
195
- 'label' => __( 'Layout', 'happy-elementor-addons' ),
196
- 'type' => Controls_Manager::SELECT,
197
- 'options' => [
198
- 'even' => __( 'Even', 'happy-elementor-addons' ),
199
- 'fitRows' => __( 'Fit Rows', 'happy-elementor-addons' ),
200
- 'masonry' => __( 'Masonry', 'happy-elementor-addons' ),
201
- ],
202
- 'default' => 'masonry',
203
- 'render' => 'none',
204
- 'frontend_available' => true,
205
- 'prefix_class' => 'ha-image-grid--layout-',
206
- 'style_transfer' => true,
207
- ]
208
- );
209
-
210
- $this->add_control(
211
- 'enable_popup',
212
- [
213
- 'label' => __( 'Enable Lightbox?', 'happy-elementor-addons' ),
214
- 'type' => Controls_Manager::SWITCHER,
215
- 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
216
- 'label_off' => __( 'No', 'happy-elementor-addons' ),
217
- 'separator' => 'before',
218
- 'return_value' => 'yes',
219
- 'default' => 'yes',
220
- 'frontend_available' => true,
221
- ]
222
- );
223
-
224
- $this->add_group_control(
225
- Group_Control_Image_Size::get_type(),
226
- [
227
- 'name' => 'popup_image',
228
- 'default' => 'large',
229
- 'exclude' => [
230
- 'custom'
231
- ],
232
- 'condition' => [
233
- 'enable_popup' => 'yes',
234
- ]
235
- ]
236
- );
237
-
238
- $this->end_controls_section();
239
- }
240
-
241
- protected function register_style_controls() {
242
- $this->start_controls_section(
243
- '_section_style_image',
244
- [
245
- 'label' => __( 'Image', 'happy-elementor-addons' ),
246
- 'tab' => Controls_Manager::TAB_STYLE,
247
- ]
248
- );
249
-
250
- $this->add_control(
251
- 'image_height',
252
- [
253
- 'label' => __( 'Height', 'happy-elementor-addons' ),
254
- 'description' => __( 'Image height is only applicable for Even layout', 'happy-elementor-addons' ),
255
- 'type' => Controls_Manager::SLIDER,
256
- 'range' => [
257
- 'px' => [
258
- 'min' => 100,
259
- 'max' => 1000
260
- ]
261
- ],
262
- 'selectors' => [
263
- '{{WRAPPER}} .ha-image-grid-inner' => 'height: {{SIZE}}{{UNIT}}',
264
- ],
265
- 'condition' => [
266
- 'layout' => 'even',
267
- ]
268
- ]
269
- );
270
-
271
- $this->add_responsive_control(
272
- 'image_margin',
273
- [
274
- 'label' => __( 'Margin', 'happy-elementor-addons' ),
275
- 'type' => Controls_Manager::DIMENSIONS,
276
- 'size_units' => [ 'px' ],
277
- 'selectors' => [
278
- '{{WRAPPER}} .ha-image-grid-inner' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
279
- ],
280
- ]
281
- );
282
-
283
- $this->add_responsive_control(
284
- 'image_border_radius',
285
- [
286
- 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
287
- 'type' => Controls_Manager::DIMENSIONS,
288
- 'size_units' => [ 'px', '%' ],
289
- 'selectors' => [
290
- '{{WRAPPER}} .ha-image-grid-inner, {{WRAPPER}} .ha-image-grid-inner img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
291
- ],
292
- ]
293
- );
294
-
295
- $this->add_group_control(
296
- Group_Control_Box_Shadow::get_type(),
297
- [
298
- 'name' => 'image_box_shadow',
299
- 'selector' => '{{WRAPPER}} .ha-image-grid-inner'
300
- ]
301
- );
302
-
303
- $this->start_controls_tabs(
304
- '_tabs_image_effects',
305
- [
306
- 'separator' => 'before'
307
- ]
308
- );
309
-
310
- $this->start_controls_tab(
311
- '_tab_image_effects_normal',
312
- [
313
- 'label' => __( 'Normal', 'happy-elementor-addons' ),
314
- ]
315
- );
316
-
317
- $this->add_control(
318
- 'image_opacity',
319
- [
320
- 'label' => __( 'Opacity', 'happy-elementor-addons' ),
321
- 'type' => Controls_Manager::SLIDER,
322
- 'range' => [
323
- 'px' => [
324
- 'max' => 1,
325
- 'min' => 0.10,
326
- 'step' => 0.01,
327
- ],
328
- ],
329
- 'selectors' => [
330
- '{{WRAPPER}} .ha-image-grid-inner img' => 'opacity: {{SIZE}};',
331
- ],
332
- ]
333
- );
334
-
335
- $this->add_group_control(
336
- Group_Control_Css_Filter::get_type(),
337
- [
338
- 'name' => 'image_css_filters',
339
- 'selector' => '{{WRAPPER}} .ha-image-grid-inner img',
340
- ]
341
- );
342
-
343
- $this->end_controls_tab();
344
-
345
- $this->start_controls_tab( 'hover',
346
- [
347
- 'label' => __( 'Hover', 'happy-elementor-addons' ),
348
- ]
349
- );
350
-
351
- $this->add_control(
352
- 'image_opacity_hover',
353
- [
354
- 'label' => __( 'Opacity', 'happy-elementor-addons' ),
355
- 'type' => Controls_Manager::SLIDER,
356
- 'range' => [
357
- 'px' => [
358
- 'max' => 1,
359
- 'min' => 0.10,
360
- 'step' => 0.01,
361
- ],
362
- ],
363
- 'selectors' => [
364
- '{{WRAPPER}} .ha-image-grid-inner:hover img' => 'opacity: {{SIZE}};',
365
- ],
366
- ]
367
- );
368
-
369
- $this->add_group_control(
370
- Group_Control_Css_Filter::get_type(),
371
- [
372
- 'name' => 'image_css_filters_hover',
373
- 'selector' => '{{WRAPPER}} .ha-image-grid-inner:hover img',
374
- ]
375
- );
376
-
377
- $this->add_control(
378
- 'image_background_hover_transition',
379
- [
380
- 'label' => __( 'Transition Duration', 'happy-elementor-addons' ),
381
- 'type' => Controls_Manager::SLIDER,
382
- 'range' => [
383
- 'px' => [
384
- 'max' => 3,
385
- 'step' => 0.1,
386
- ],
387
- ],
388
- 'selectors' => [
389
- '{{WRAPPER}} .ha-image-grid-inner img' => 'transition-duration: {{SIZE}}s',
390
- ],
391
- ]
392
- );
393
-
394
- $this->add_control(
395
- 'image_hover_animation',
396
- [
397
- 'label' => __( 'Hover Animation', 'happy-elementor-addons' ),
398
- 'type' => Controls_Manager::HOVER_ANIMATION,
399
- 'default' => 'grow',
400
- 'label_block' => true,
401
- ]
402
- );
403
-
404
- $this->end_controls_tab();
405
- $this->end_controls_tabs();
406
-
407
- $this->end_controls_section();
408
-
409
- $this->start_controls_section(
410
- '_section_style_menu',
411
- [
412
- 'label' => __( 'Filter Menu', 'happy-elementor-addons' ),
413
- 'tab' => Controls_Manager::TAB_STYLE,
414
- ]
415
- );
416
-
417
- $this->add_control(
418
- '_heading_menu',
419
- [
420
- 'label' => __( 'Menu', 'happy-elementor-addons' ),
421
- 'type' => Controls_Manager::HEADING,
422
- ]
423
- );
424
-
425
- $this->add_responsive_control(
426
- 'menu_margin',
427
- [
428
- 'label' => __( 'Margin', 'happy-elementor-addons' ),
429
- 'type' => Controls_Manager::DIMENSIONS,
430
- 'size_units' => [ 'px', '%' ],
431
- 'selectors' => [
432
- '{{WRAPPER}} .ha-gallery-filter' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
433
- ],
434
- ]
435
- );
436
-
437
- $this->add_control(
438
- '_heading_buttons',
439
- [
440
- 'label' => __( 'Filter Buttons', 'happy-elementor-addons' ),
441
- 'type' => Controls_Manager::HEADING,
442
- 'separator' => 'before',
443
- ]
444
- );
445
-
446
- $this->add_responsive_control(
447
- 'button_padding',
448
- [
449
- 'label' => __( 'Padding', 'happy-elementor-addons' ),
450
- 'type' => Controls_Manager::DIMENSIONS,
451
- 'size_units' => [ 'px', 'em', '%' ],
452
- 'selectors' => [
453
- '{{WRAPPER}} .ha-gallery-filter > li > button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
454
- ],
455
- ]
456
- );
457
-
458
- $this->add_responsive_control(
459
- 'button_spacing',
460
- [
461
- 'label' => __( 'Spacing', 'happy-elementor-addons' ),
462
- 'type' => Controls_Manager::SLIDER,
463
- 'size_units' => ['px'],
464
- 'selectors' => [
465
- '{{WRAPPER}} .ha-gallery-filter > li:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}};',
466
- ],
467
- ]
468
- );
469
-
470
- $this->add_group_control(
471
- Group_Control_Border::get_type(),
472
- [
473
- 'name' => 'button_border',
474
- 'selector' => '{{WRAPPER}} .ha-gallery-filter > li > button'
475
- ]
476
- );
477
-
478
- $this->add_responsive_control(
479
- 'button_border_radius',
480
- [
481
- 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
482
- 'type' => Controls_Manager::DIMENSIONS,
483
- 'size_units' => [ 'px', '%' ],
484
- 'selectors' => [
485
- '{{WRAPPER}} .ha-gallery-filter > li > button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
486
- ],
487
- ]
488
- );
489
-
490
- $this->add_group_control(
491
- Group_Control_Box_Shadow::get_type(),
492
- [
493
- 'name' => 'button_box_shadow',
494
- 'exclude' => [
495
- 'box_shadow_position',
496
- ],
497
- 'selector' => '{{WRAPPER}} .ha-gallery-filter > li > button'
498
- ]
499
- );
500
-
501
- $this->add_group_control(
502
- Group_Control_Typography::get_type(),
503
- [
504
- 'name' => 'button_typography',
505
- 'selector' => '{{WRAPPER}} .ha-gallery-filter > li > button',
506
- 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
507
- ]
508
- );
509
-
510
- $this->add_responsive_control(
511
- 'button_align',
512
- [
513
- 'label' => __( 'Alignment', 'happy-elementor-addons' ),
514
- 'type' => Controls_Manager::CHOOSE,
515
- 'label_block' => false,
516
- 'options' => [
517
- 'left' => [
518
- 'title' => __( 'Left', 'happy-elementor-addons' ),
519
- 'icon' => 'eicon-h-align-left',
520
- ],
521
- 'center' => [
522
- 'title' => __( 'Center', 'happy-elementor-addons' ),
523
- 'icon' => 'eicon-h-align-center',
524
- ],
525
- 'right' => [
526
- 'title' => __( 'Right', 'happy-elementor-addons' ),
527
- 'icon' => 'eicon-h-align-right',
528
- ],
529
- ],
530
- 'desktop_default' => 'left',
531
- 'toggle' => false,
532
- 'selectors' => [
533
- '{{WRAPPER}} .ha-gallery-filter' => 'text-align: {{VALUE}};'
534
- ]
535
- ]
536
- );
537
-
538
- $this->start_controls_tabs( '_tabs_style_button' );
539
-
540
- $this->start_controls_tab(
541
- '_tab_button_normal',
542
- [
543
- 'label' => __( 'Normal', 'happy-elementor-addons' ),
544
- ]
545
- );
546
-
547
- $this->add_control(
548
- 'button_color',
549
- [
550
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
551
- 'type' => Controls_Manager::COLOR,
552
- 'default' => '',
553
- 'selectors' => [
554
- '{{WRAPPER}} .ha-gallery-filter > li > button' => 'color: {{VALUE}};',
555
- ],
556
- ]
557
- );
558
-
559
- $this->add_control(
560
- 'button_bg_color',
561
- [
562
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
563
- 'type' => Controls_Manager::COLOR,
564
- 'selectors' => [
565
- '{{WRAPPER}} .ha-gallery-filter > li > button' => 'background-color: {{VALUE}};',
566
- ],
567
- ]
568
- );
569
-
570
- $this->end_controls_tab();
571
-
572
- $this->start_controls_tab(
573
- '_tab_button_hover',
574
- [
575
- 'label' => __( 'Hover', 'happy-elementor-addons' ),
576
- ]
577
- );
578
-
579
- $this->add_control(
580
- 'button_hover_color',
581
- [
582
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
583
- 'type' => Controls_Manager::COLOR,
584
- 'selectors' => [
585
- '{{WRAPPER}} .ha-gallery-filter > li > button:hover, {{WRAPPER}} .ha-gallery-filter > li > button:focus, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:hover, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:focus' => 'color: {{VALUE}};',
586
- ],
587
- ]
588
- );
589
-
590
- $this->add_control(
591
- 'button_hover_bg_color',
592
- [
593
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
594
- 'type' => Controls_Manager::COLOR,
595
- 'selectors' => [
596
- '{{WRAPPER}} .ha-gallery-filter > li > button:hover, {{WRAPPER}} .ha-gallery-filter > li > button:focus, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:hover, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:focus' => 'background-color: {{VALUE}};',
597
- ],
598
- ]
599
- );
600
-
601
- $this->add_control(
602
- 'button_hover_border_color',
603
- [
604
- 'label' => __( 'Border Color', 'happy-elementor-addons' ),
605
- 'type' => Controls_Manager::COLOR,
606
- 'condition' => [
607
- 'button_border_border!' => '',
608
- ],
609
- 'selectors' => [
610
- '{{WRAPPER}} .ha-gallery-filter > li > button:hover, {{WRAPPER}} .ha-gallery-filter > li > button:focus, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:hover, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:focus' => 'border-color: {{VALUE}};',
611
- ],
612
- ]
613
- );
614
-
615
- $this->end_controls_tab();
616
-
617
- $this->start_controls_tab(
618
- '_tab_button_active',
619
- [
620
- 'label' => __( 'Active', 'happy-elementor-addons' ),
621
- ]
622
- );
623
-
624
- $this->add_control(
625
- 'button_active_color',
626
- [
627
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
628
- 'type' => Controls_Manager::COLOR,
629
- 'selectors' => [
630
- '{{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button' => 'color: {{VALUE}};',
631
- ],
632
- ]
633
- );
634
-
635
- $this->add_control(
636
- 'button_active_bg_color',
637
- [
638
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
639
- 'type' => Controls_Manager::COLOR,
640
- 'selectors' => [
641
- '{{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button' => 'background-color: {{VALUE}};',
642
- ],
643
- ]
644
- );
645
-
646
- $this->add_control(
647
- 'button_active_border_color',
648
- [
649
- 'label' => __( 'Border Color', 'happy-elementor-addons' ),
650
- 'type' => Controls_Manager::COLOR,
651
- 'condition' => [
652
- 'button_border_border!' => '',
653
- ],
654
- 'selectors' => [
655
- '{{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button' => 'border-color: {{VALUE}};',
656
- ],
657
- ]
658
- );
659
-
660
- $this->end_controls_tab();
661
- $this->end_controls_tabs();
662
-
663
- $this->end_controls_section();
664
- }
665
-
666
- protected function get_gallery_data() {
667
- $gallery = $this->get_settings_for_display( 'gallery' );
668
-
669
- if ( ! is_array( $gallery ) || empty( $gallery ) ) {
670
- return [];
671
- }
672
-
673
- $menu = [];
674
- $items = [];
675
-
676
- foreach ( $gallery as $key => $item ) {
677
- if ( empty( $item['images'] ) ) {
678
- continue;
679
- }
680
-
681
- $images = $item['images'];
682
- $filter = 'ha-is--filter-' . ( $key + 1 );
683
-
684
- if ( $filter && ! isset( $data[ $filter ] ) ) {
685
- $menu[ $filter ] = $item['filter'];
686
- }
687
-
688
- foreach ( $images as $image ) {
689
- if ( ! isset( $items[ $image['id'] ] ) ) {
690
- $items[ $image['id'] ] = [ $filter ];
691
- } else {
692
- array_push( $items[ $image['id'] ], $filter );
693
- }
694
- }
695
- }
696
-
697
- return [
698
- 'menu' => $menu,
699
- 'items' => $items
700
- ];
701
- }
702
-
703
- protected function render() {
704
- $settings = $this->get_settings_for_display();
705
- $gallery = $this->get_gallery_data();
706
-
707
- if ( empty( $gallery ) ) {
708
- return;
709
- }
710
-
711
- $this->add_render_attribute( 'container', 'class', 'ha-image-grid-container hajs-isotope' );
712
-
713
- if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
714
- $this->add_render_attribute( 'container', 'class', 'hajs-isotope-' . $this->get_id() );
715
- }
716
-
717
- $has_popup = $settings['enable_popup'];
718
- $item_html_tag = 'figure';
719
-
720
- if ( $has_popup ) {
721
- $item_html_tag = 'a';
722
- $this->add_render_attribute( 'container', 'class', 'ha-popup--is-enabled' );
723
- }
724
-
725
- if ( $settings['show_filter'] ) : ?>
726
-
727
- <ul class="ha-gallery-filter hajs-gallery-filter">
728
- <?php if ( $settings['show_all_filter'] ) : ?>
729
- <li class="ha-filter-active"><button type="button" data-filter="*"><?php echo esc_html( $settings['all_filter_label'] ); ?></button></li>
730
- <?php endif; ?>
731
- <?php foreach ( $gallery['menu'] as $key => $val ) : ?>
732
- <li><button type="button" data-filter=".<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $val ); ?></button></li>
733
- <?php endforeach; ?>
734
- </ul>
735
-
736
- <?php endif; ?>
737
-
738
- <div <?php $this->print_render_attribute_string( 'container' ); ?>>
739
-
740
- <?php foreach ( $gallery['items'] as $id => $filters ) : ?>
741
- <?php $popup = $settings['enable_popup'] ? sprintf( 'href="%s"', esc_url( wp_get_attachment_image_url( $id, $settings['popup_image_size'] ) ) ) : ''; ?>
742
-
743
- <<?php echo $item_html_tag; ?> <?php echo $popup; ?> class="ha-image-grid-item ha-js-popup <?php echo esc_attr( implode( ' ', $filters ) ); ?>">
744
- <div class="ha-image-grid-inner">
745
- <?php echo wp_get_attachment_image( $id, $settings['thumbnail_size'], false, [ 'class' => 'elementor-animation-' . esc_attr( $settings['image_hover_animation'] ) ] ); ?>
746
- </div>
747
- </<?php echo $item_html_tag; ?>>
748
-
749
- <?php endforeach; ?>
750
-
751
- </div>
752
-
753
- <?php
754
- /**
755
- * Happy isotope hack.
756
- *
757
- * This piece of code may seem unnecessary to you
758
- * but it saved me from hell!!!
759
- */
760
- if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) :
761
- printf( '<script>jQuery(".hajs-isotope-%s").isotope();</script>', $this->get_id() );
762
- endif;
763
- }
764
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Image grid widget class
4
+ *
5
+ * @package Happy_Addons
6
+ */
7
+ namespace Happy_Addons\Elementor\Widget;
8
+
9
+ use Elementor\Group_Control_Css_Filter;
10
+ use Elementor\Repeater;
11
+ use Elementor\Controls_Manager;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Box_Shadow;
14
+ use Elementor\Group_Control_Image_Size;
15
+ use Elementor\Group_Control_Typography;
16
+ use Elementor\Scheme_Typography;
17
+
18
+ defined( 'ABSPATH' ) || die();
19
+
20
+ class Image_Grid extends Base {
21
+
22
+ /**
23
+ * Default filter is the global filter
24
+ * and can be overriden from settings
25
+ *
26
+ * @var string
27
+ */
28
+ protected $_default_filter = '*';
29
+
30
+ public function get_title() {
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
+ *
41
+ * @since 1.0.0
42
+ * @access public
43
+ *
44
+ * @return string Widget icon.
45
+ */
46
+ public function get_icon() {
47
+ return 'hm hm-grid-even';
48
+ }
49
+
50
+ public function get_keywords() {
51
+ return [ 'gallery', 'image', 'masonry', 'even', 'portfolio', 'filterable', 'grid' ];
52
+ }
53
+
54
+ protected function register_content_controls() {
55
+ $this->start_controls_section(
56
+ '_section_gallery',
57
+ [
58
+ 'label' => __( 'Gallery', 'happy-elementor-addons' ),
59
+ 'tab' => Controls_Manager::TAB_CONTENT,
60
+ ]
61
+ );
62
+
63
+ $repeater = new Repeater();
64
+
65
+ $repeater->add_control(
66
+ 'filter',
67
+ [
68
+ 'label' => __( 'Filter Name', 'happy-elementor-addons' ),
69
+ 'type' => Controls_Manager::TEXT,
70
+ 'placeholder' => __( 'Type gallery filter name', 'happy-elementor-addons' ),
71
+ 'description' => __( 'Filter name will be used in filter menu.', 'happy-elementor-addons' ),
72
+ 'default' => __( 'Filter Name', 'happy-elementor-addons' ),
73
+ 'dynamic' => [
74
+ 'active' => true,
75
+ ]
76
+ ]
77
+ );
78
+
79
+ $repeater->add_control(
80
+ 'is_default_filter',
81
+ [
82
+ 'label' => __( 'Is Default Filter?', 'happy-elementor-addons' ),
83
+ 'type' => Controls_Manager::SWITCHER,
84
+ 'return_value' => 'yes',
85
+ 'description' => __( 'Set this as default active filter. Make sure filter menu is active and visible. Last active will get priority.', 'happy-elementor-addons' ),
86
+ 'style_transfer' => true,
87
+ ]
88
+ );
89
+
90
+ $repeater->add_control(
91
+ 'images',
92
+ [
93
+ 'type' => Controls_Manager::GALLERY,
94
+ 'dynamic' => [
95
+ 'active' => true,
96
+ ]
97
+ ]
98
+ );
99
+
100
+ $this->add_control(
101
+ 'gallery',
102
+ [
103
+ 'type' => Controls_Manager::REPEATER,
104
+ 'fields' => $repeater->get_controls(),
105
+ 'show_label' => false,
106
+ /** translators: 1: Filter name */
107
+ 'title_field' => sprintf( __( 'Filter Group: %1$s', 'happy-elementor-addons' ), '{{filter}}' ),
108
+ 'default' => [
109
+ [
110
+ 'filter' => __( 'Happy', 'happy-elementor-addons' ),
111
+ ]
112
+ ]
113
+ ]
114
+ );
115
+
116
+ $this->add_group_control(
117
+ Group_Control_Image_Size::get_type(),
118
+ [
119
+ 'name' => 'thumbnail',
120
+ 'default' => 'medium_large',
121
+ 'separator' => 'before',
122
+ 'exclude' => [
123
+ 'custom'
124
+ ]
125
+ ]
126
+ );
127
+
128
+ $this->end_controls_section();
129
+
130
+ $this->start_controls_section(
131
+ '_section_advance',
132
+ [
133
+ 'label' => __( 'Advance', 'happy-elementor-addons' ),
134
+ 'tab' => Controls_Manager::TAB_CONTENT,
135
+ ]
136
+ );
137
+
138
+ $this->add_control(
139
+ 'show_filter',
140
+ [
141
+ 'label' => __( 'Show Filter Menu', 'happy-elementor-addons' ),
142
+ 'type' => Controls_Manager::SWITCHER,
143
+ 'return_value' => 'yes',
144
+ 'description' => __( 'Enable to display filter menu.', 'happy-elementor-addons' ),
145
+ 'style_transfer' => true,
146
+ ]
147
+ );
148
+
149
+ $this->add_control(
150
+ 'show_all_filter',
151
+ [
152
+ 'label' => __( 'Show "All" Filter', 'happy-elementor-addons' ),
153
+ 'type' => Controls_Manager::SWITCHER,
154
+ 'return_value' => 'yes',
155
+ 'default' => 'yes',
156
+ 'description' => __( 'Enable to display "All" filter in filter menu.', 'happy-elementor-addons' ),
157
+ 'condition' => [
158
+ 'show_filter' => 'yes'
159
+ ],
160
+ 'style_transfer' => true,
161
+ ]
162
+ );
163
+
164
+ $this->add_control(
165
+ 'all_filter_label',
166
+ [
167
+ 'label' => __( 'Filter Label', 'happy-elementor-addons' ),
168
+ 'type' => Controls_Manager::TEXT,
169
+ 'default' => __( 'All', 'happy-elementor-addons' ),
170
+ 'placeholder' => __( 'Type filter label', 'happy-elementor-addons' ),
171
+ 'description' => __( 'Type "All" filter label.', 'happy-elementor-addons' ),
172
+ 'condition' => [
173
+ 'show_all_filter' => 'yes',
174
+ 'show_filter' => 'yes'
175
+ ],
176
+ 'dynamic' => [
177
+ 'active' => true,
178
+ ]
179
+ ]
180
+ );
181
+
182
+ $this->add_responsive_control(
183
+ 'columns',
184
+ [
185
+ 'label' => __( 'Columns', 'happy-elementor-addons' ),
186
+ 'type' => Controls_Manager::SELECT,
187
+ 'options' => [
188
+ 1 => __( '1 Column', 'happy-elementor-addons' ),
189
+ 2 => __( '2 Columns', 'happy-elementor-addons' ),
190
+ 3 => __( '3 Columns', 'happy-elementor-addons' ),
191
+ 4 => __( '4 Columns', 'happy-elementor-addons' ),
192
+ 5 => __( '5 Columns', 'happy-elementor-addons' ),
193
+ 6 => __( '6 Columns', 'happy-elementor-addons' ),
194
+ ],
195
+ 'separator' => 'before',
196
+ 'desktop_default' => 4,
197
+ 'tablet_default' => 3,
198
+ 'mobile_default' => 2,
199
+ 'selectors' => [
200
+ '{{WRAPPER}} .ha-image-grid__item' => '--image-grid-column: {{VALUE}};',
201
+ ],
202
+ 'style_transfer' => true,
203
+ ]
204
+ );
205
+
206
+ $this->add_control(
207
+ 'layout',
208
+ [
209
+ 'label' => __( 'Layout', 'happy-elementor-addons' ),
210
+ 'type' => Controls_Manager::SELECT,
211
+ 'options' => [
212
+ 'even' => __( 'Even', 'happy-elementor-addons' ),
213
+ 'fitRows' => __( 'Fit Rows', 'happy-elementor-addons' ),
214
+ 'masonry' => __( 'Masonry', 'happy-elementor-addons' ),
215
+ ],
216
+ 'default' => 'masonry',
217
+ 'render' => 'none',
218
+ 'frontend_available' => true,
219
+ 'prefix_class' => 'ha-image-grid--',
220
+ 'style_transfer' => true,
221
+ ]
222
+ );
223
+
224
+ $this->add_control(
225
+ 'enable_popup',
226
+ [
227
+ 'label' => __( 'Enable Lightbox', 'happy-elementor-addons' ),
228
+ 'type' => Controls_Manager::SWITCHER,
229
+ 'separator' => 'before',
230
+ 'return_value' => 'yes',
231
+ 'default' => 'yes',
232
+ 'frontend_available' => true,
233
+ ]
234
+ );
235
+
236
+ $this->add_control(
237
+ 'disable_lightbox_on_tablet',
238
+ [
239
+ 'label' => __( 'Disable On Tablet', 'happy-elementor-addons' ),
240
+ 'type' => Controls_Manager::SWITCHER,
241
+ 'return_value' => 'yes',
242
+ 'frontend_available' => true,
243
+ 'condition' => [
244
+ 'enable_popup' => 'yes',
245
+ ]
246
+ ]
247
+ );
248
+
249
+ $this->add_control(
250
+ 'disable_lightbox_on_mobile',
251
+ [
252
+ 'label' => __( 'Disable On Mobile', 'happy-elementor-addons' ),
253
+ 'type' => Controls_Manager::SWITCHER,
254
+ 'return_value' => 'yes',
255
+ 'frontend_available' => true,
256
+ 'condition' => [
257
+ 'enable_popup' => 'yes',
258
+ ]
259
+ ]
260
+ );
261
+
262
+ $this->add_group_control(
263
+ Group_Control_Image_Size::get_type(),
264
+ [
265
+ 'name' => 'popup_image',
266
+ 'default' => 'large',
267
+ 'exclude' => [
268
+ 'custom'
269
+ ],
270
+ 'condition' => [
271
+ 'enable_popup' => 'yes',
272
+ ]
273
+ ]
274
+ );
275
+
276
+ $this->end_controls_section();
277
+ }
278
+
279
+ protected function register_style_controls() {
280
+ $this->start_controls_section(
281
+ '_section_style_image',
282
+ [
283
+ 'label' => __( 'Image', 'happy-elementor-addons' ),
284
+ 'tab' => Controls_Manager::TAB_STYLE,
285
+ ]
286
+ );
287
+
288
+ $this->add_control(
289
+ 'image_height',
290
+ [
291
+ 'label' => __( 'Height', 'happy-elementor-addons' ),
292
+ 'description' => __( 'Image height is only applicable for Even layout', 'happy-elementor-addons' ),
293
+ 'type' => Controls_Manager::SLIDER,
294
+ 'range' => [
295
+ 'px' => [
296
+ 'min' => 100,
297
+ 'max' => 1000
298
+ ]
299
+ ],
300
+ 'selectors' => [
301
+ '{{WRAPPER}} .ha-image-grid__item' => 'height: {{SIZE}}{{UNIT}}',
302
+ ],
303
+ 'condition' => [
304
+ 'layout' => 'even',
305
+ ]
306
+ ]
307
+ );
308
+
309
+ // Had to change the margin to padding due to markup update
310
+ // but kept the origin control key for backward compatibility
311
+ $this->add_responsive_control(
312
+ 'image_margin',
313
+ [
314
+ 'label' => __( 'Padding', 'happy-elementor-addons' ),
315
+ 'type' => Controls_Manager::DIMENSIONS,
316
+ 'size_units' => [ 'px', 'em', '%', 'rem' ],
317
+ 'selectors' => [
318
+ '{{WRAPPER}} .ha-image-grid__item' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
319
+ '{{WRAPPER}} .ha-image-grid__wrap' => '--image-grid-right: {{RIGHT}}{{UNIT}}; --image-grid-left: {{LEFT}}{{UNIT}};',
320
+ ],
321
+ ]
322
+ );
323
+
324
+ $this->add_responsive_control(
325
+ 'image_border_radius',
326
+ [
327
+ 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
328
+ 'type' => Controls_Manager::DIMENSIONS,
329
+ 'size_units' => [ 'px', '%' ],
330
+ 'selectors' => [
331
+ '{{WRAPPER}} .ha-image-grid__item' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
332
+ ],
333
+ ]
334
+ );
335
+
336
+ $this->start_controls_tabs(
337
+ '_tabs_image_effects',
338
+ [
339
+ 'separator' => 'before'
340
+ ]
341
+ );
342
+
343
+ $this->start_controls_tab(
344
+ '_tab_image_effects_normal',
345
+ [
346
+ 'label' => __( 'Normal', 'happy-elementor-addons' ),
347
+ ]
348
+ );
349
+
350
+ $this->add_control(
351
+ 'image_opacity',
352
+ [
353
+ 'label' => __( 'Opacity', 'happy-elementor-addons' ),
354
+ 'type' => Controls_Manager::SLIDER,
355
+ 'range' => [
356
+ 'px' => [
357
+ 'max' => 1,
358
+ 'min' => 0.10,
359
+ 'step' => 0.01,
360
+ ],
361
+ ],
362
+ 'selectors' => [
363
+ '{{WRAPPER}} .ha-image-grid__item img' => 'opacity: {{SIZE}};',
364
+ ],
365
+ ]
366
+ );
367
+
368
+ $this->add_group_control(
369
+ Group_Control_Css_Filter::get_type(),
370
+ [
371
+ 'name' => 'image_css_filters',
372
+ 'selector' => '{{WRAPPER}} .ha-image-grid__item img',
373
+ ]
374
+ );
375
+
376
+ $this->end_controls_tab();
377
+
378
+ $this->start_controls_tab( 'hover',
379
+ [
380
+ 'label' => __( 'Hover', 'happy-elementor-addons' ),
381
+ ]
382
+ );
383
+
384
+ $this->add_control(
385
+ 'image_opacity_hover',
386
+ [
387
+ 'label' => __( 'Opacity', 'happy-elementor-addons' ),
388
+ 'type' => Controls_Manager::SLIDER,
389
+ 'range' => [
390
+ 'px' => [
391
+ 'max' => 1,
392
+ 'min' => 0.10,
393
+ 'step' => 0.01,
394
+ ],
395
+ ],
396
+ 'selectors' => [
397
+ '{{WRAPPER}} .ha-image-grid__item:hover img' => 'opacity: {{SIZE}};',
398
+ ],
399
+ ]
400
+ );
401
+
402
+ $this->add_group_control(
403
+ Group_Control_Css_Filter::get_type(),
404
+ [
405
+ 'name' => 'image_css_filters_hover',
406
+ 'selector' => '{{WRAPPER}} .ha-image-grid__item:hover img',
407
+ ]
408
+ );
409
+
410
+ $this->add_control(
411
+ 'image_background_hover_transition',
412
+ [
413
+ 'label' => __( 'Transition Duration', 'happy-elementor-addons' ),
414
+ 'type' => Controls_Manager::SLIDER,
415
+ 'range' => [
416
+ 'px' => [
417
+ 'max' => 3,
418
+ 'step' => 0.1,
419
+ ],
420
+ ],
421
+ 'selectors' => [
422
+ '{{WRAPPER}} .ha-image-grid__item img' => 'transition-duration: {{SIZE}}s',
423
+ ],
424
+ ]
425
+ );
426
+
427
+ $this->add_control(
428
+ 'image_hover_animation',
429
+ [
430
+ 'label' => __( 'Hover Animation', 'happy-elementor-addons' ),
431
+ 'type' => Controls_Manager::HOVER_ANIMATION,
432
+ 'default' => 'grow',
433
+ 'label_block' => true,
434
+ ]
435
+ );
436
+
437
+ $this->end_controls_tab();
438
+ $this->end_controls_tabs();
439
+
440
+ $this->end_controls_section();
441
+
442
+ $this->start_controls_section(
443
+ '_section_style_menu',
444
+ [
445
+ 'label' => __( 'Filter Menu', 'happy-elementor-addons' ),
446
+ 'tab' => Controls_Manager::TAB_STYLE,
447
+ ]
448
+ );
449
+
450
+ $this->add_control(
451
+ '_heading_menu',
452
+ [
453
+ 'label' => __( 'Menu', 'happy-elementor-addons' ),
454
+ 'type' => Controls_Manager::HEADING,
455
+ ]
456
+ );
457
+
458
+ $this->add_responsive_control(
459
+ 'menu_margin',
460
+ [
461
+ 'label' => __( 'Margin', 'happy-elementor-addons' ),
462
+ 'type' => Controls_Manager::DIMENSIONS,
463
+ 'size_units' => [ 'px', '%' ],
464
+ 'selectors' => [
465
+ '{{WRAPPER}} .ha-filter' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
466
+ ],
467
+ ]
468
+ );
469
+
470
+ $this->add_control(
471
+ '_heading_buttons',
472
+ [
473
+ 'label' => __( 'Filter Buttons', 'happy-elementor-addons' ),
474
+ 'type' => Controls_Manager::HEADING,
475
+ 'separator' => 'before',
476
+ ]
477
+ );
478
+
479
+ $this->add_responsive_control(
480
+ 'button_padding',
481
+ [
482
+ 'label' => __( 'Padding', 'happy-elementor-addons' ),
483
+ 'type' => Controls_Manager::DIMENSIONS,
484
+ 'size_units' => [ 'px', 'em', '%' ],
485
+ 'selectors' => [
486
+ '{{WRAPPER}} .ha-filter__item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
487
+ ],
488
+ ]
489
+ );
490
+
491
+ $this->add_responsive_control(
492
+ 'button_spacing',
493
+ [
494
+ 'label' => __( 'Spacing', 'happy-elementor-addons' ),
495
+ 'type' => Controls_Manager::SLIDER,
496
+ 'size_units' => ['px'],
497
+ 'selectors' => [
498
+ '{{WRAPPER}} .ha-filter__item:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}};',
499
+ ],
500
+ ]
501
+ );
502
+
503
+ $this->add_group_control(
504
+ Group_Control_Border::get_type(),
505
+ [
506
+ 'name' => 'button_border',
507
+ 'selector' => '{{WRAPPER}} .ha-filter__item'
508
+ ]
509
+ );
510
+
511
+ $this->add_responsive_control(
512
+ 'button_border_radius',
513
+ [
514
+ 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
515
+ 'type' => Controls_Manager::DIMENSIONS,
516
+ 'size_units' => [ 'px', '%' ],
517
+ 'selectors' => [
518
+ '{{WRAPPER}} .ha-filter__item' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
519
+ ],
520
+ ]
521
+ );
522
+
523
+ $this->add_group_control(
524
+ Group_Control_Box_Shadow::get_type(),
525
+ [
526
+ 'name' => 'button_box_shadow',
527
+ 'exclude' => [
528
+ 'box_shadow_position',
529
+ ],
530
+ 'selector' => '{{WRAPPER}} .ha-filter__item'
531
+ ]
532
+ );
533
+
534
+ $this->add_group_control(
535
+ Group_Control_Typography::get_type(),
536
+ [
537
+ 'name' => 'button_typography',
538
+ 'selector' => '{{WRAPPER}} .ha-filter__item',
539
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
540
+ ]
541
+ );
542
+
543
+ $this->add_responsive_control(
544
+ 'button_align',
545
+ [
546
+ 'label' => __( 'Alignment', 'happy-elementor-addons' ),
547
+ 'type' => Controls_Manager::CHOOSE,
548
+ 'label_block' => false,
549
+ 'options' => [
550
+ 'left' => [
551
+ 'title' => __( 'Left', 'happy-elementor-addons' ),
552
+ 'icon' => 'eicon-h-align-left',
553
+ ],
554
+ 'center' => [
555
+ 'title' => __( 'Center', 'happy-elementor-addons' ),
556
+ 'icon' => 'eicon-h-align-center',
557
+ ],
558
+ 'right' => [
559
+ 'title' => __( 'Right', 'happy-elementor-addons' ),
560
+ 'icon' => 'eicon-h-align-right',
561
+ ],
562
+ ],
563
+ 'desktop_default' => 'left',
564
+ 'toggle' => false,
565
+ 'selectors' => [
566
+ '{{WRAPPER}} .ha-filter' => 'text-align: {{VALUE}};'
567
+ ]
568
+ ]
569
+ );
570
+
571
+ $this->start_controls_tabs( '_tabs_style_button' );
572
+
573
+ $this->start_controls_tab(
574
+ '_tab_button_normal',
575
+ [
576
+ 'label' => __( 'Normal', 'happy-elementor-addons' ),
577
+ ]
578
+ );
579
+
580
+ $this->add_control(
581
+ 'button_color',
582
+ [
583
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
584
+ 'type' => Controls_Manager::COLOR,
585
+ 'default' => '',
586
+ 'selectors' => [
587
+ '{{WRAPPER}} .ha-filter__item' => 'color: {{VALUE}};',
588
+ ],
589
+ ]
590
+ );
591
+
592
+ $this->add_control(
593
+ 'button_bg_color',
594
+ [
595
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
596
+ 'type' => Controls_Manager::COLOR,
597
+ 'selectors' => [
598
+ '{{WRAPPER}} .ha-filter__item' => 'background-color: {{VALUE}};',
599
+ ],
600
+ ]
601
+ );
602
+
603
+ $this->end_controls_tab();
604
+
605
+ $this->start_controls_tab(
606
+ '_tab_button_hover',
607
+ [
608
+ 'label' => __( 'Hover', 'happy-elementor-addons' ),
609
+ ]
610
+ );
611
+
612
+ $this->add_control(
613
+ 'button_hover_color',
614
+ [
615
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
616
+ 'type' => Controls_Manager::COLOR,
617
+ 'selectors' => [
618
+ '{{WRAPPER}} .ha-filter__item:hover, {{WRAPPER}} .ha-filter__item:focus' => 'color: {{VALUE}};',
619
+ ],
620
+ ]
621
+ );
622
+
623
+ $this->add_control(
624
+ 'button_hover_bg_color',
625
+ [
626
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
627
+ 'type' => Controls_Manager::COLOR,
628
+ 'selectors' => [
629
+ '{{WRAPPER}} .ha-filter__item:hover, {{WRAPPER}} .ha-filter__item:focus' => 'background-color: {{VALUE}};',
630
+ ],
631
+ ]
632
+ );
633
+
634
+ $this->add_control(
635
+ 'button_hover_border_color',
636
+ [
637
+ 'label' => __( 'Border Color', 'happy-elementor-addons' ),
638
+ 'type' => Controls_Manager::COLOR,
639
+ 'condition' => [
640
+ 'button_border_border!' => '',
641
+ ],
642
+ 'selectors' => [
643
+ '{{WRAPPER}} .ha-filter__item:hover, {{WRAPPER}} .ha-filter__item:focus' => 'border-color: {{VALUE}};',
644
+ ],
645
+ ]
646
+ );
647
+
648
+ $this->end_controls_tab();
649
+
650
+ $this->start_controls_tab(
651
+ '_tab_button_active',
652
+ [
653
+ 'label' => __( 'Active', 'happy-elementor-addons' ),
654
+ ]
655
+ );
656
+
657
+ $this->add_control(
658
+ 'button_active_color',
659
+ [
660
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
661
+ 'type' => Controls_Manager::COLOR,
662
+ 'selectors' => [
663
+ '{{WRAPPER}} .ha-filter__item:active, {{WRAPPER}} .ha-filter__item--active' => 'color: {{VALUE}};',
664
+ ],
665
+ ]
666
+ );
667
+
668
+ $this->add_control(
669
+ 'button_active_bg_color',
670
+ [
671
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
672
+ 'type' => Controls_Manager::COLOR,
673
+ 'selectors' => [
674
+ '{{WRAPPER}} .ha-filter__item:active, {{WRAPPER}} .ha-filter__item--active' => 'background-color: {{VALUE}};',
675
+ ],
676
+ ]
677
+ );
678
+
679
+ $this->add_control(
680
+ 'button_active_border_color',
681
+ [
682
+ 'label' => __( 'Border Color', 'happy-elementor-addons' ),
683
+ 'type' => Controls_Manager::COLOR,
684
+ 'condition' => [
685
+ 'button_border_border!' => '',
686
+ ],
687
+ 'selectors' => [
688
+ '{{WRAPPER}} .ha-filter__item:active, {{WRAPPER}} .ha-filter__item--active' => 'border-color: {{VALUE}};',
689
+ ],
690
+ ]
691
+ );
692
+
693
+ $this->end_controls_tab();
694
+ $this->end_controls_tabs();
695
+
696
+ $this->end_controls_section();
697
+ }
698
+
699
+ protected function get_gallery_data() {
700
+ $gallery = $this->get_settings_for_display( 'gallery' );
701
+
702
+ if ( ! is_array( $gallery ) || empty( $gallery ) ) {
703
+ return [];
704
+ }
705
+
706
+ $menu = [];
707
+ $items = [];
708
+
709
+ foreach ( $gallery as $key => $item ) {
710
+ if ( empty( $item['images'] ) ) {
711
+ continue;
712
+ }
713
+
714
+ $images = $item['images'];
715
+ $filter = '__fltr-' . ( $key + 1 );
716
+
717
+ if ( ! empty( $item['is_default_filter'] ) ) {
718
+ $this->_default_filter = '.' . $filter;
719
+ }
720
+
721
+ if ( $filter && ! isset( $data[ $filter ] ) ) {
722
+ $menu[ $filter ] = $item['filter'];
723
+ }
724
+
725
+ foreach ( $images as $image ) {
726
+ if ( ! isset( $items[ $image['id'] ] ) ) {
727
+ $items[ $image['id'] ] = $filter;
728
+ } else {
729
+ $items[ $image['id'] ] .= ' ' . $filter;
730
+ }
731
+ }
732
+ }
733
+
734
+ return compact( 'menu', 'items' );
735
+ }
736
+
737
+ protected function render() {
738
+ $settings = $this->get_settings_for_display();
739
+ $gallery = $this->get_gallery_data();
740
+
741
+ if ( empty( $gallery ) ) {
742
+ return;
743
+ }
744
+
745
+ $this->add_render_attribute( 'grid_wrap', 'class', 'ha-image-grid__wrap hajs-isotope' );
746
+
747
+ if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
748
+ $this->add_render_attribute( 'grid_wrap', 'class', 'hajs-isotope-' . $this->get_id() );
749
+ }
750
+
751
+ $has_popup = $settings['enable_popup'];
752
+ $item_html_tag = 'figure';
753
+
754
+ if ( $has_popup ) {
755
+ $item_html_tag = 'a';
756
+ $this->add_render_attribute( 'grid_wrap', 'class', 'ha-lightbox--has' );
757
+ }
758
+
759
+ if ( $settings['show_filter'] ) : ?>
760
+ <div class="ha-filter hajs-filter" data-default-filter="<?php echo $this->_default_filter; ?>" role="navigation" aria-label="<?php echo esc_attr_x( 'Gallery filter', 'Gallery filter aria label', 'happy-elementor-addons' ); ?>">
761
+ <?php if ( $settings['show_all_filter'] ) : ?>
762
+ <button class="ha-filter__item" type="button" data-filter="*"><?php echo esc_html( $settings['all_filter_label'] ); ?></button></li>
763
+ <?php endif; ?>
764
+ <?php foreach ( $gallery['menu'] as $key => $val ) : ?>
765
+ <button class="ha-filter__item" type="button" data-filter=".<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $val ); ?></button></li>
766
+ <?php endforeach; ?>
767
+ </div>
768
+ <?php endif; ?>
769
+
770
+ <div <?php $this->print_render_attribute_string( 'grid_wrap' ); ?>>
771
+ <?php foreach ( $gallery['items'] as $id => $filter_str ) : ?>
772
+ <?php $popup = $settings['enable_popup'] ? sprintf( 'href="#" data-mfp-src="%s"', esc_url( wp_get_attachment_image_url( $id, $settings['popup_image_size'] ) ) ) : ''; ?>
773
+
774
+ <<?php echo $item_html_tag; ?> <?php echo $popup; ?> class="ha-image-grid__item ha-js-lightbox <?php echo esc_attr( $filter_str ); ?>">
775
+ <?php echo wp_get_attachment_image( $id, $settings['thumbnail_size'], false, [ 'class' => 'elementor-animation-' . esc_attr( $settings['image_hover_animation'] ) ] ); ?>
776
+ </<?php echo $item_html_tag; ?>>
777
+ <?php endforeach; ?>
778
+ </div>
779
+
780
+ <?php
781
+ /**
782
+ * Happy isotope hack.
783
+ *
784
+ * This piece of code may seem unnecessary to you
785
+ * but it saved the world!
786
+ */
787
+ if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) :
788
+ printf( '<script>jQuery(".hajs-isotope-%s").isotope();</script>', $this->get_id() );
789
+ endif;
790
+ }
791
+ }
widgets/justified-gallery/widget.php CHANGED
@@ -1,832 +1,848 @@
1
- <?php
2
- /**
3
- * Justified gallery widget class
4
- *
5
- * @package Happy_Addons
6
- */
7
- namespace Happy_Addons\Elementor\Widget;
8
-
9
- use Elementor\Group_Control_Css_Filter;
10
- use Elementor\Repeater;
11
- use Elementor\Controls_Manager;
12
- use Elementor\Group_Control_Border;
13
- use Elementor\Group_Control_Box_Shadow;
14
- use Elementor\Group_Control_Image_Size;
15
- use Elementor\Group_Control_Typography;
16
- use Elementor\Scheme_Typography;
17
-
18
- defined( 'ABSPATH' ) || die();
19
-
20
- class Justified_Gallery extends Base {
21
-
22
- /**
23
- * Get widget title.
24
- *
25
- * @since 1.0.0
26
- * @access public
27
- *
28
- * @return string Widget title.
29
- */
30
- public function get_title() {
31
- return __( '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
- *
41
- * @since 1.0.0
42
- * @access public
43
- *
44
- * @return string Widget icon.
45
- */
46
- public function get_icon() {
47
- return 'hm hm-brick-wall';
48
- }
49
-
50
- public function get_keywords() {
51
- return [ 'gallery', 'image', 'justified', 'filter' ];
52
- }
53
-
54
- protected function register_content_controls() {
55
- $this->start_controls_section(
56
- '_section_gallery',
57
- [
58
- 'label' => __( 'Gallery', 'happy-elementor-addons' ),
59
- 'tab' => Controls_Manager::TAB_CONTENT,
60
- ]
61
- );
62
-
63
- $repeater = new Repeater();
64
-
65
- $repeater->add_control(
66
- 'filter',
67
- [
68
- 'label' => __( 'Filter Name', 'happy-elementor-addons' ),
69
- 'type' => Controls_Manager::TEXT,
70
- 'placeholder' => __( 'Type gallery filter name', 'happy-elementor-addons' ),
71
- 'description' => __( 'Filter name will be used in filter menu.', 'happy-elementor-addons' ),
72
- 'default' => __( 'Filter Name', 'happy-elementor-addons' ),
73
- ]
74
- );
75
-
76
- $repeater->add_control(
77
- 'images',
78
- [
79
- 'type' => Controls_Manager::GALLERY,
80
- 'dynamic' => [
81
- 'active' => true,
82
- ]
83
- ]
84
- );
85
-
86
- $this->add_control(
87
- 'gallery',
88
- [
89
- 'type' => Controls_Manager::REPEATER,
90
- 'fields' => $repeater->get_controls(),
91
- 'show_label' => false,
92
- /** translators: 1: Filter name */
93
- 'title_field' => sprintf( __( 'Filter Group: %1$s', 'happy-elementor-addons' ), '{{filter}}' ),
94
- 'default' => [
95
- [
96
- 'filter' => __( 'Happy', 'happy-elementor-addons' ),
97
- ]
98
- ]
99
- ]
100
- );
101
-
102
- $this->add_group_control(
103
- Group_Control_Image_Size::get_type(),
104
- [
105
- 'name' => 'thumbnail',
106
- 'default' => 'medium_large',
107
- 'separator' => 'before',
108
- 'exclude' => [
109
- 'custom'
110
- ]
111
- ]
112
- );
113
-
114
- $this->end_controls_section();
115
-
116
- $this->start_controls_section(
117
- '_section_settings',
118
- [
119
- 'label' => __( 'Settings', 'happy-elementor-addons' ),
120
- 'tab' => Controls_Manager::TAB_CONTENT,
121
- ]
122
- );
123
-
124
- $this->add_control(
125
- 'show_filter',
126
- [
127
- 'label' => __( 'Show Filter Menu?', 'happy-elementor-addons' ),
128
- 'type' => Controls_Manager::SWITCHER,
129
- 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
130
- 'label_off' => __( 'No', 'happy-elementor-addons' ),
131
- 'return_value' => 'yes',
132
- 'description' => __( 'Enable to display filter menu.', 'happy-elementor-addons' ),
133
- 'style_transfer' => true,
134
- ]
135
- );
136
-
137
- $this->add_control(
138
- 'show_all_filter',
139
- [
140
- 'label' => __( 'Show "All" Filter?', 'happy-elementor-addons' ),
141
- 'type' => Controls_Manager::SWITCHER,
142
- 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
143
- 'label_off' => __( 'No', 'happy-elementor-addons' ),
144
- 'return_value' => 'yes',
145
- 'default' => 'yes',
146
- 'description' => __( 'Enable to display "All" filter in filter menu.', 'happy-elementor-addons' ),
147
- 'condition' => [
148
- 'show_filter' => 'yes'
149
- ],
150
- 'style_transfer' => true,
151
- ]
152
- );
153
-
154
- $this->add_control(
155
- 'all_filter_label',
156
- [
157
- 'label' => __( 'Filter Label', 'happy-elementor-addons' ),
158
- 'type' => Controls_Manager::TEXT,
159
- 'default' => __( 'All', 'happy-elementor-addons' ),
160
- 'placeholder' => __( 'Type filter label', 'happy-elementor-addons' ),
161
- 'description' => __( 'Type "All" filter label.', 'happy-elementor-addons' ),
162
- 'condition' => [
163
- 'show_all_filter' => 'yes',
164
- 'show_filter' => 'yes'
165
- ]
166
- ]
167
- );
168
-
169
- $this->add_control(
170
- 'show_caption',
171
- [
172
- 'label' => __( 'Show Caption?', 'happy-elementor-addons' ),
173
- 'type' => Controls_Manager::SWITCHER,
174
- 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
175
- 'label_off' => __( 'No', 'happy-elementor-addons' ),
176
- 'return_value' => 'yes',
177
- 'separator' => 'before',
178
- 'description' => __( 'Make sure to add image caption.', 'happy-elementor-addons' ),
179
- 'style_transfer' => true,
180
- ]
181
- );
182
-
183
- $this->add_control(
184
- 'row_height',
185
- [
186
- 'label' => __( 'Height', 'happy-elementor-addons' ),
187
- 'type' => Controls_Manager::SLIDER,
188
- 'size_units' => [ 'px' ],
189
- 'default' => [
190
- 'size' => 150,
191
- ],
192
- 'range' => [
193
- 'px' => [
194
- 'min' => 50,
195
- 'max' => 500,
196
- ],
197
- ],
198
- ]
199
- );
200
-
201
- $this->add_control(
202
- 'margins',
203
- [
204
- 'label' => __( 'Margins', 'happy-elementor-addons' ),
205
- 'type' => Controls_Manager::SLIDER,
206
- 'size_units' => [ 'px' ],
207
- 'default' => [
208
- 'size' => 10,
209
- ],
210
- 'range' => [
211
- 'px' => [
212
- 'min' => 0,
213
- 'max' => 100,
214
- ],
215
- ],
216
- ]
217
- );
218
-
219
- $this->add_control(
220
- 'last_row',
221
- [
222
- 'label' => __( 'Last Row', 'happy-elementor-addons' ),
223
- 'type' => Controls_Manager::SELECT,
224
- 'default' => 'justify',
225
- 'options' => [
226
- 'nojustify' => __( 'No Justify', 'happy-elementor-addons' ),
227
- 'justify' => __( 'Justify', 'happy-elementor-addons' ),
228
- 'hide' => __( 'Hide', 'happy-elementor-addons' ),
229
- ]
230
- ]
231
- );
232
-
233
- $this->add_control(
234
- 'enable_popup',
235
- [
236
- 'label' => __( 'Enable Lightbox?', 'happy-elementor-addons' ),
237
- 'type' => Controls_Manager::SWITCHER,
238
- 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
239
- 'label_off' => __( 'No', 'happy-elementor-addons' ),
240
- 'separator' => 'before',
241
- 'return_value' => 'yes',
242
- 'default' => 'yes'
243
- ]
244
- );
245
-
246
- $this->add_group_control(
247
- Group_Control_Image_Size::get_type(),
248
- [
249
- 'name' => 'popup_image',
250
- 'default' => 'large',
251
- 'exclude' => [
252
- 'custom'
253
- ],
254
- 'condition' => [
255
- 'enable_popup' => 'yes',
256
- ]
257
- ]
258
- );
259
-
260
- $this->end_controls_section();
261
- }
262
-
263
- protected function register_style_controls() {
264
- $this->start_controls_section(
265
- '_section_style_image',
266
- [
267
- 'label' => __( 'Image', 'happy-elementor-addons' ),
268
- 'tab' => Controls_Manager::TAB_STYLE,
269
- ]
270
- );
271
-
272
- $this->add_responsive_control(
273
- 'image_border_radius',
274
- [
275
- 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
276
- 'type' => Controls_Manager::DIMENSIONS,
277
- 'size_units' => [ 'px', '%' ],
278
- 'selectors' => [
279
- '{{WRAPPER}} .ha-justified-gallery-item, {{WRAPPER}} .ha-justified-gallery-item img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
280
- ],
281
- ]
282
- );
283
-
284
- $this->add_group_control(
285
- Group_Control_Box_Shadow::get_type(),
286
- [
287
- 'name' => 'image_box_shadow',
288
- 'exclude' => [
289
- 'box_shadow_position',
290
- ],
291
- 'selector' => '{{WRAPPER}} .ha-justified-gallery-item'
292
- ]
293
- );
294
-
295
- $this->add_control(
296
- 'image_bg_color',
297
- [
298
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
299
- 'type' => Controls_Manager::COLOR,
300
- 'selectors' => [
301
- '{{WRAPPER}} .ha-justified-gallery-item' => 'background-color: {{VALUE}};'
302
- ]
303
- ]
304
- );
305
-
306
- $this->start_controls_tabs(
307
- '_tabs_image_effects',
308
- [
309
- 'separator' => 'before'
310
- ]
311
- );
312
-
313
- $this->start_controls_tab(
314
- '_tab_image_effects_normal',
315
- [
316
- 'label' => __( 'Normal', 'happy-elementor-addons' ),
317
- ]
318
- );
319
-
320
- $this->add_control(
321
- 'image_opacity',
322
- [
323
- 'label' => __( 'Opacity', 'happy-elementor-addons' ),
324
- 'type' => Controls_Manager::SLIDER,
325
- 'range' => [
326
- 'px' => [
327
- 'max' => 1,
328
- 'min' => 0.10,
329
- 'step' => 0.01,
330
- ],
331
- ],
332
- 'selectors' => [
333
- '{{WRAPPER}} .ha-justified-gallery-item img' => 'opacity: {{SIZE}};',
334
- ],
335
- ]
336
- );
337
-
338
- $this->add_group_control(
339
- Group_Control_Css_Filter::get_type(),
340
- [
341
- 'name' => 'image_css_filters',
342
- 'selector' => '{{WRAPPER}} .ha-justified-gallery-item img',
343
- ]
344
- );
345
-
346
- $this->end_controls_tab();
347
-
348
- $this->start_controls_tab( 'hover',
349
- [
350
- 'label' => __( 'Hover', 'happy-elementor-addons' ),
351
- ]
352
- );
353
-
354
- $this->add_control(
355
- 'image_opacity_hover',
356
- [
357
- 'label' => __( 'Opacity', 'happy-elementor-addons' ),
358
- 'type' => Controls_Manager::SLIDER,
359
- 'range' => [
360
- 'px' => [
361
- 'max' => 1,
362
- 'min' => 0.10,
363
- 'step' => 0.01,
364
- ],
365
- ],
366
- 'selectors' => [
367
- '{{WRAPPER}} .ha-justified-gallery-item:hover img' => 'opacity: {{SIZE}};',
368
- ],
369
- ]
370
- );
371
-
372
- $this->add_group_control(
373
- Group_Control_Css_Filter::get_type(),
374
- [
375
- 'name' => 'image_css_filters_hover',
376
- 'selector' => '{{WRAPPER}} .ha-justified-gallery-item:hover img',
377
- ]
378
- );
379
-
380
- $this->add_control(
381
- 'image_background_hover_transition',
382
- [
383
- 'label' => __( 'Transition Duration', 'happy-elementor-addons' ),
384
- 'type' => Controls_Manager::SLIDER,
385
- 'range' => [
386
- 'px' => [
387
- 'max' => 3,
388
- 'step' => 0.1,
389
- ],
390
- ],
391
- 'selectors' => [
392
- '{{WRAPPER}} .ha-justified-gallery-item img' => 'transition-duration: {{SIZE}}s;',
393
- ],
394
- ]
395
- );
396
-
397
- $this->add_control(
398
- 'image_hover_animation',
399
- [
400
- 'label' => __( 'Hover Animation', 'happy-elementor-addons' ),
401
- 'type' => Controls_Manager::HOVER_ANIMATION,
402
- 'default' => 'grow',
403
- 'label_block' => true,
404
- ]
405
- );
406
-
407
- $this->add_control(
408
- 'image_hover_cursor',
409
- [
410
- 'label' => __( 'Hover Cursor', 'happy-elementor-addons' ),
411
- 'type' => Controls_Manager::SELECT2,
412
- 'label_block' => true,
413
- 'options' => ha_get_css_cursors(),
414
- 'default' => 'default',
415
- 'selectors' => [
416
- '{{WRAPPER}} .ha-justified-gallery-item:hover img' => 'cursor: {{VALUE}};'
417
- ]
418
- ]
419
- );
420
-
421
- $this->end_controls_tab();
422
- $this->end_controls_tabs();
423
-
424
- $this->end_controls_section();
425
-
426
- $this->start_controls_section(
427
- '_section_style_caption',
428
- [
429
- 'label' => __( 'Caption', 'happy-elementor-addons' ),
430
- 'tab' => Controls_Manager::TAB_STYLE,
431
- ]
432
- );
433
-
434
- $this->add_responsive_control(
435
- 'caption_padding',
436
- [
437
- 'label' => __( 'Padding', 'happy-elementor-addons' ),
438
- 'type' => Controls_Manager::DIMENSIONS,
439
- 'size_units' => [ 'px', 'em', '%' ],
440
- 'selectors' => [
441
- '{{WRAPPER}} .justified-gallery > .ha-justified-gallery-item > .caption' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
442
- ],
443
- ]
444
- );
445
-
446
- $this->add_control(
447
- 'caption_color',
448
- [
449
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
450
- 'type' => Controls_Manager::COLOR,
451
- 'selectors' => [
452
- '{{WRAPPER}} .justified-gallery > .ha-justified-gallery-item > .caption' => 'color: {{VALUE}};',
453
- ],
454
- ]
455
- );
456
-
457
- $this->add_control(
458
- 'caption_bg_color',
459
- [
460
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
461
- 'type' => Controls_Manager::COLOR,
462
- 'selectors' => [
463
- '{{WRAPPER}} .justified-gallery > .ha-justified-gallery-item > .caption' => 'background-color: {{VALUE}};',
464
- ],
465
- ]
466
- );
467
-
468
- $this->add_group_control(
469
- Group_Control_Typography::get_type(),
470
- [
471
- 'name' => 'caption_typography',
472
- 'label' => __( 'Typography', 'happy-elementor-addons' ),
473
- 'selector' => '{{WRAPPER}} .justified-gallery > .ha-justified-gallery-item > .caption',
474
- 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
475
- ]
476
- );
477
-
478
- $this->end_controls_section();
479
-
480
- $this->start_controls_section(
481
- '_section_style_menu',
482
- [
483
- 'label' => __( 'Filter Menu', 'happy-elementor-addons' ),
484
- 'tab' => Controls_Manager::TAB_STYLE,
485
- ]
486
- );
487
-
488
- $this->add_control(
489
- '_heading_menu',
490
- [
491
- 'label' => __( 'Menu', 'happy-elementor-addons' ),
492
- 'type' => Controls_Manager::HEADING,
493
- ]
494
- );
495
-
496
- $this->add_responsive_control(
497
- 'menu_margin',
498
- [
499
- 'label' => __( 'Margin', 'happy-elementor-addons' ),
500
- 'type' => Controls_Manager::DIMENSIONS,
501
- 'size_units' => [ 'px', '%' ],
502
- 'selectors' => [
503
- '{{WRAPPER}} .ha-gallery-filter' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
504
- ],
505
- ]
506
- );
507
-
508
- $this->add_control(
509
- '_heading_buttons',
510
- [
511
- 'label' => __( 'Filter Buttons', 'happy-elementor-addons' ),
512
- 'type' => Controls_Manager::HEADING,
513
- 'separator' => 'before',
514
- ]
515
- );
516
-
517
- $this->add_responsive_control(
518
- 'button_padding',
519
- [
520
- 'label' => __( 'Padding', 'happy-elementor-addons' ),
521
- 'type' => Controls_Manager::DIMENSIONS,
522
- 'size_units' => [ 'px', 'em', '%' ],
523
- 'selectors' => [
524
- '{{WRAPPER}} .ha-gallery-filter > li > button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
525
- ],
526
- ]
527
- );
528
-
529
- $this->add_responsive_control(
530
- 'button_spacing',
531
- [
532
- 'label' => __( 'Spacing', 'happy-elementor-addons' ),
533
- 'type' => Controls_Manager::SLIDER,
534
- 'size_units' => ['px'],
535
- 'selectors' => [
536
- '{{WRAPPER}} .ha-gallery-filter > li:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}};',
537
- ],
538
- ]
539
- );
540
-
541
- $this->add_group_control(
542
- Group_Control_Border::get_type(),
543
- [
544
- 'name' => 'button_border',
545
- 'selector' => '{{WRAPPER}} .ha-gallery-filter > li > button'
546
- ]
547
- );
548
-
549
- $this->add_responsive_control(
550
- 'button_border_radius',
551
- [
552
- 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
553
- 'type' => Controls_Manager::DIMENSIONS,
554
- 'size_units' => [ 'px', '%' ],
555
- 'selectors' => [
556
- '{{WRAPPER}} .ha-gallery-filter > li > button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
557
- ],
558
- ]
559
- );
560
-
561
- $this->add_group_control(
562
- Group_Control_Box_Shadow::get_type(),
563
- [
564
- 'name' => 'button_box_shadow',
565
- 'exclude' => [
566
- 'box_shadow_position',
567
- ],
568
- 'selector' => '{{WRAPPER}} .ha-gallery-filter > li > button'
569
- ]
570
- );
571
-
572
- $this->add_group_control(
573
- Group_Control_Typography::get_type(),
574
- [
575
- 'name' => 'button_typography',
576
- 'selector' => '{{WRAPPER}} .ha-gallery-filter > li > button',
577
- 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
578
- ]
579
- );
580
-
581
- $this->add_responsive_control(
582
- 'button_align',
583
- [
584
- 'label' => __( 'Alignment', 'happy-elementor-addons' ),
585
- 'type' => Controls_Manager::CHOOSE,
586
- 'label_block' => false,
587
- 'options' => [
588
- 'left' => [
589
- 'title' => __( 'Left', 'happy-elementor-addons' ),
590
- 'icon' => 'eicon-h-align-left',
591
- ],
592
- 'center' => [
593
- 'title' => __( 'Center', 'happy-elementor-addons' ),
594
- 'icon' => 'eicon-h-align-center',
595
- ],
596
- 'right' => [
597
- 'title' => __( 'Right', 'happy-elementor-addons' ),
598
- 'icon' => 'eicon-h-align-right',
599
- ],
600
- ],
601
- 'desktop_default' => 'left',
602
- 'toggle' => false,
603
- 'selectors' => [
604
- '{{WRAPPER}} .ha-gallery-filter' => 'text-align: {{VALUE}};'
605
- ]
606
- ]
607
- );
608
-
609
- $this->start_controls_tabs( '_tabs_style_button' );
610
-
611
- $this->start_controls_tab(
612
- '_tab_button_normal',
613
- [
614
- 'label' => __( 'Normal', 'happy-elementor-addons' ),
615
- ]
616
- );
617
-
618
- $this->add_control(
619
- 'button_color',
620
- [
621
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
622
- 'type' => Controls_Manager::COLOR,
623
- 'default' => '',
624
- 'selectors' => [
625
- '{{WRAPPER}} .ha-gallery-filter > li > button' => 'color: {{VALUE}};',
626
- ],
627
- ]
628
- );
629
-
630
- $this->add_control(
631
- 'button_bg_color',
632
- [
633
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
634
- 'type' => Controls_Manager::COLOR,
635
- 'selectors' => [
636
- '{{WRAPPER}} .ha-gallery-filter > li > button' => 'background-color: {{VALUE}};',
637
- ],
638
- ]
639
- );
640
-
641
- $this->end_controls_tab();
642
-
643
- $this->start_controls_tab(
644
- '_tab_button_hover',
645
- [
646
- 'label' => __( 'Hover', 'happy-elementor-addons' ),
647
- ]
648
- );
649
-
650
- $this->add_control(
651
- 'button_hover_color',
652
- [
653
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
654
- 'type' => Controls_Manager::COLOR,
655
- 'selectors' => [
656
- '{{WRAPPER}} .ha-gallery-filter > li > button:hover, {{WRAPPER}} .ha-gallery-filter > li > button:focus, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:hover, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:focus' => 'color: {{VALUE}};',
657
- ],
658
- ]
659
- );
660
-
661
- $this->add_control(
662
- 'button_hover_bg_color',
663
- [
664
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
665
- 'type' => Controls_Manager::COLOR,
666
- 'selectors' => [
667
- '{{WRAPPER}} .ha-gallery-filter > li > button:hover, {{WRAPPER}} .ha-gallery-filter > li > button:focus, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:hover, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:focus' => 'background-color: {{VALUE}};',
668
- ],
669
- ]
670
- );
671
-
672
- $this->add_control(
673
- 'button_hover_border_color',
674
- [
675
- 'label' => __( 'Border Color', 'happy-elementor-addons' ),
676
- 'type' => Controls_Manager::COLOR,
677
- 'condition' => [
678
- 'button_border_border!' => '',
679
- ],
680
- 'selectors' => [
681
- '{{WRAPPER}} .ha-gallery-filter > li > button:hover, {{WRAPPER}} .ha-gallery-filter > li > button:focus, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:hover, {{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button:focus' => 'border-color: {{VALUE}};',
682
- ],
683
- ]
684
- );
685
-
686
- $this->end_controls_tab();
687
-
688
- $this->start_controls_tab(
689
- '_tab_button_active',
690
- [
691
- 'label' => __( 'Active', 'happy-elementor-addons' ),
692
- ]
693
- );
694
-
695
- $this->add_control(
696
- 'button_active_color',
697
- [
698
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
699
- 'type' => Controls_Manager::COLOR,
700
- 'selectors' => [
701
- '{{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button' => 'color: {{VALUE}};',
702
- ],
703
- ]
704
- );
705
-
706
- $this->add_control(
707
- 'button_active_bg_color',
708
- [
709
- 'label' => __( 'Background Color', 'happy-elementor-addons' ),
710
- 'type' => Controls_Manager::COLOR,
711
- 'selectors' => [
712
- '{{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button' => 'background-color: {{VALUE}};',
713
- ],
714
- ]
715
- );
716
-
717
- $this->add_control(
718
- 'button_active_border_color',
719
- [
720
- 'label' => __( 'Border Color', 'happy-elementor-addons' ),
721
- 'type' => Controls_Manager::COLOR,
722
- 'condition' => [
723
- 'button_border_border!' => '',
724
- ],
725
- 'selectors' => [
726
- '{{WRAPPER}} .ha-gallery-filter > .ha-filter-active > button' => 'border-color: {{VALUE}};',
727
- ],
728
- ]
729
- );
730
-
731
- $this->end_controls_tab();
732
- $this->end_controls_tabs();
733
-
734
- $this->end_controls_section();
735
- }
736
-
737
- protected static function get_data_prop_settings( $settings ) {
738
- $field_map = [
739
- 'show_caption' => 'captions.bool',
740
- 'margins.size' => 'margins.int',
741
- 'row_height.size' => 'rowHeight.int',
742
- 'last_row' => 'lastRow.str',
743
- 'enable_popup' => 'enable_popup.bool'
744
- ];
745
- return ha_prepare_data_prop_settings( $settings, $field_map );
746
- }
747
-
748
- protected function get_gallery_data() {
749
- $gallery = $this->get_settings_for_display( 'gallery' );
750
-
751
- if ( ! is_array( $gallery ) || empty( $gallery ) ) {
752
- return [];
753
- }
754
-
755
- $menu = [];
756
- $items = [];
757
-
758
- foreach ( $gallery as $key => $item ) {
759
- if ( empty( $item['images'] ) ) {
760
- continue;
761
- }
762
-
763
- $images = $item['images'];
764
- $filter = 'ha-is--filter-' . ( $key + 1 );
765
-
766
- if ( $filter && ! isset( $data[ $filter ] ) ) {
767
- $menu[ $filter ] = $item['filter'];
768
- }
769
-
770
- foreach ( $images as $image ) {
771
- if ( ! isset( $items[ $image['id'] ] ) ) {
772
- $items[ $image['id'] ] = [ $filter ];
773
- } else {
774
- array_push( $items[ $image['id'] ], $filter );
775
- }
776
- }
777
- }
778
-
779
- return [
780
- 'menu' => $menu,
781
- 'items' => $items
782
- ];
783
- }
784
-
785
- protected function render() {
786
- $settings = $this->get_settings_for_display();
787
- $gallery = $this->get_gallery_data();
788
-
789
- if ( empty( $gallery ) ) {
790
- return;
791
- }
792
-
793
- $this->add_render_attribute( 'container', 'class', [
794
- 'ha-justified-gallery-wrapper',
795
- 'hajs-justified-gallery',
796
- ] );
797
-
798
- $has_popup = $settings['enable_popup'];
799
- $item_html_tag = 'div';
800
-
801
- if ( $has_popup ) {
802
- $item_html_tag = 'a';
803
- $this->add_render_attribute( 'container', 'class', 'ha-popup--is-enabled' );
804
- }
805
-
806
- $this->add_render_attribute( 'container', 'data-happy-settings', self::get_data_prop_settings( $settings ) );
807
-
808
- if ( $settings['show_filter'] === 'yes' ) : ?>
809
- <ul class="ha-gallery-filter hajs-gallery-filter">
810
- <?php if ( $settings['show_all_filter'] === 'yes' ) : ?>
811
- <li class="ha-filter-active"><button type="button" data-filter="*"><?php echo esc_html( $settings['all_filter_label'] ); ?></button></li>
812
- <?php endif; ?>
813
- <?php foreach ( $gallery['menu'] as $key => $val ) : ?>
814
- <li><button type="button" data-filter=".<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $val ); ?></button></li>
815
- <?php endforeach; ?>
816
- </ul>
817
- <?php endif; ?>
818
-
819
- <div <?php echo $this->get_render_attribute_string( 'container' ); ?>>
820
- <?php foreach ( $gallery['items'] as $id => $filters ) :
821
- $caption = $settings['show_caption'] ? esc_attr( wp_get_attachment_caption( $id ) ) : '';
822
- $popup = $has_popup ? sprintf( 'href="%s"', esc_url( wp_get_attachment_image_url( $id, $settings['popup_image_size'] ) ) ) : '';
823
- ?>
824
- <<?php echo $item_html_tag; ?> <?php echo $popup; ?> class="ha-justified-gallery-item ha-js-popup <?php echo esc_attr( implode( ' ', $filters ) ); ?>" title="<?php echo $caption; ?>">
825
- <?php echo wp_get_attachment_image( $id, $settings['thumbnail_size'], false, ['class' => 'elementor-animation-' . esc_attr( $settings['image_hover_animation'] ) ] ); ?>
826
- </<?php echo $item_html_tag; ?>>
827
- <?php endforeach; ?>
828
- </div>
829
-
830
- <?php
831
- }
832
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Justified gallery widget class
4
+ *
5
+ * @package Happy_Addons
6
+ */
7
+ namespace Happy_Addons\Elementor\Widget;
8
+
9
+ use Elementor\Group_Control_Css_Filter;
10
+ use Elementor\Repeater;
11
+ use Elementor\Controls_Manager;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Box_Shadow;
14
+ use Elementor\Group_Control_Image_Size;
15
+ use Elementor\Group_Control_Typography;
16
+ use Elementor\Scheme_Typography;
17
+
18
+ defined( 'ABSPATH' ) || die();
19
+
20
+ class Justified_Gallery extends Base {
21
+
22
+ /**
23
+ * Default filter is the global filter
24
+ * and can be overriden from settings
25
+ *
26
+ * @var string
27
+ */
28
+ protected $_default_filter = '*';
29
+
30
+ public function get_title() {
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
+ public function get_icon() {
39
+ return 'hm hm-brick-wall';
40
+ }
41
+
42
+ public function get_keywords() {
43
+ return [ 'gallery', 'image', 'justified', 'filter', 'lightbox' ];
44
+ }
45
+
46
+ protected function register_content_controls() {
47
+ $this->start_controls_section(
48
+ '_section_gallery',
49
+ [
50
+ 'label' => __( 'Gallery', 'happy-elementor-addons' ),
51
+ 'tab' => Controls_Manager::TAB_CONTENT,
52
+ ]
53
+ );
54
+
55
+ $repeater = new Repeater();
56
+
57
+ $repeater->add_control(
58
+ 'filter',
59
+ [
60
+ 'label' => __( 'Filter Name', 'happy-elementor-addons' ),
61
+ 'type' => Controls_Manager::TEXT,
62
+ 'placeholder' => __( 'Type gallery filter name', 'happy-elementor-addons' ),
63
+ 'description' => __( 'Filter name will be used in filter menu.', 'happy-elementor-addons' ),
64
+ 'default' => __( 'Filter Name', 'happy-elementor-addons' ),
65
+ 'dynamic' => [
66
+ 'active' => true,
67
+ ]
68
+ ]
69
+ );
70
+
71
+ $repeater->add_control(
72
+ 'is_default_filter',
73
+ [
74
+ 'label' => __( 'Is Default Filter?', 'happy-elementor-addons' ),
75
+ 'type' => Controls_Manager::SWITCHER,
76
+ 'return_value' => 'yes',
77
+ 'description' => __( 'Set this as default active filter. Make sure filter menu is active and visible. Last active will get priority.', 'happy-elementor-addons' ),
78
+ 'style_transfer' => true,
79
+ ]
80
+ );
81
+
82
+ $repeater->add_control(
83
+ 'images',
84
+ [
85
+ 'type' => Controls_Manager::GALLERY,
86
+ 'dynamic' => [
87
+ 'active' => true,
88
+ ]
89
+ ]
90
+ );
91
+
92
+ $this->add_control(
93
+ 'gallery',
94
+ [
95
+ 'type' => Controls_Manager::REPEATER,
96
+ 'fields' => $repeater->get_controls(),
97
+ 'show_label' => false,
98
+ /** translators: 1: Filter name */
99
+ 'title_field' => sprintf( __( 'Filter Group: %1$s', 'happy-elementor-addons' ), '{{filter}}' ),
100
+ 'default' => [
101
+ [
102
+ 'filter' => __( 'Happy', 'happy-elementor-addons' ),
103
+ ]
104
+ ]
105
+ ]
106
+ );
107
+
108
+ $this->add_group_control(
109
+ Group_Control_Image_Size::get_type(),
110
+ [
111
+ 'name' => 'thumbnail',
112
+ 'default' => 'medium_large',
113
+ 'separator' => 'before',
114
+ 'exclude' => [
115
+ 'custom'
116
+ ]
117
+ ]
118
+ );
119
+
120
+ $this->end_controls_section();
121
+
122
+ $this->start_controls_section(
123
+ '_section_advance',
124
+ [
125
+ 'label' => __( 'Advance', 'happy-elementor-addons' ),
126
+ 'tab' => Controls_Manager::TAB_CONTENT,
127
+ ]
128
+ );
129
+
130
+ $this->add_control(
131
+ 'show_filter',
132
+ [
133
+ 'label' => __( 'Show Filter Menu', 'happy-elementor-addons' ),
134
+ 'type' => Controls_Manager::SWITCHER,
135
+ 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
136
+ 'label_off' => __( 'No', 'happy-elementor-addons' ),
137
+ 'return_value' => 'yes',
138
+ 'description' => __( 'Enable to display filter menu.', 'happy-elementor-addons' ),
139
+ 'style_transfer' => true,
140
+ ]
141
+ );
142
+
143
+ $this->add_control(
144
+ 'show_all_filter',
145
+ [
146
+ 'label' => __( 'Show "All" Filter', 'happy-elementor-addons' ),
147
+ 'type' => Controls_Manager::SWITCHER,
148
+ 'return_value' => 'yes',
149
+ 'default' => 'yes',
150
+ 'description' => __( 'Enable to display "All" filter in filter menu.', 'happy-elementor-addons' ),
151
+ 'condition' => [
152
+ 'show_filter' => 'yes'
153
+ ],
154
+ 'style_transfer' => true,
155
+ ]
156
+ );
157
+
158
+ $this->add_control(
159
+ 'all_filter_label',
160
+ [
161
+ 'label' => __( 'Filter Label', 'happy-elementor-addons' ),
162
+ 'type' => Controls_Manager::TEXT,
163
+ 'default' => __( 'All', 'happy-elementor-addons' ),
164
+ 'placeholder' => __( 'Type filter label', 'happy-elementor-addons' ),
165
+ 'description' => __( 'Type "All" filter label.', 'happy-elementor-addons' ),
166
+ 'condition' => [
167
+ 'show_all_filter' => 'yes',
168
+ 'show_filter' => 'yes'
169
+ ],
170
+ 'dynamic' => [
171
+ 'active' => true,
172
+ ]
173
+ ]
174
+ );
175
+
176
+ $this->add_control(
177
+ 'show_caption',
178
+ [
179
+ 'label' => __( 'Show Caption', 'happy-elementor-addons' ),
180
+ 'type' => Controls_Manager::SWITCHER,
181
+ 'return_value' => 'yes',
182
+ 'separator' => 'before',
183
+ 'description' => __( 'Make sure to add image caption.', 'happy-elementor-addons' ),
184
+ 'style_transfer' => true,
185
+ 'frontend_available' => true,
186
+ ]
187
+ );
188
+
189
+ $this->add_control(
190
+ 'row_height',
191
+ [
192
+ 'label' => __( 'Height', 'happy-elementor-addons' ),
193
+ 'type' => Controls_Manager::SLIDER,
194
+ 'size_units' => [ 'px' ],
195
+ 'default' => [
196
+ 'size' => 150,
197
+ ],
198
+ 'range' => [
199
+ 'px' => [
200
+ 'min' => 50,
201
+ 'max' => 500,
202
+ ],
203
+ ],
204
+ 'frontend_available' => true,
205
+ 'render_type' => 'ui',
206
+ ]
207
+ );
208
+
209
+ $this->add_control(
210
+ 'margins',
211
+ [
212
+ 'label' => __( 'Margins', 'happy-elementor-addons' ),
213
+ 'type' => Controls_Manager::SLIDER,
214
+ 'size_units' => [ 'px' ],
215
+ 'default' => [
216
+ 'size' => 10,
217
+ ],
218
+ 'range' => [
219
+ 'px' => [
220
+ 'min' => 0,
221
+ 'max' => 100,
222
+ ],
223
+ ],
224
+ 'frontend_available' => true,
225
+ 'render_type' => 'ui',
226
+ 'selectors' => [
227
+ '{{WRAPPER}} .ha-justified-grid__wrap' => '--justified-grid-pull: {{SIZE}}{{UNIT}};'
228
+ ]
229
+ ]
230
+ );
231
+
232
+ $this->add_control(
233
+ 'last_row',
234
+ [
235
+ 'label' => __( 'Last Row', 'happy-elementor-addons' ),
236
+ 'type' => Controls_Manager::SELECT,
237
+ 'default' => 'justify',
238
+ 'options' => [
239
+ 'nojustify' => __( 'No Justify', 'happy-elementor-addons' ),
240
+ 'justify' => __( 'Justify', 'happy-elementor-addons' ),
241
+ 'hide' => __( 'Hide', 'happy-elementor-addons' ),
242
+ ],
243
+ 'frontend_available' => true,
244
+ 'render_type' => 'ui',
245
+ ]
246
+ );
247
+
248
+ $this->add_control(
249
+ 'enable_popup',
250
+ [
251
+ 'label' => __( 'Enable Lightbox?', 'happy-elementor-addons' ),
252
+ 'type' => Controls_Manager::SWITCHER,
253
+ 'separator' => 'before',
254
+ 'return_value' => 'yes',
255
+ 'default' => 'yes',
256
+ 'frontend_available' => true,
257
+ ]
258
+ );
259
+
260
+ $this->add_control(
261
+ 'disable_lightbox_on_tablet',
262
+ [
263
+ 'label' => __( 'Disable On Tablet', 'happy-elementor-addons' ),
264
+ 'type' => Controls_Manager::SWITCHER,
265
+ 'return_value' => 'yes',
266
+ 'frontend_available' => true,
267
+ 'condition' => [
268
+ 'enable_popup' => 'yes',
269
+ ]
270
+ ]
271
+ );
272
+
273
+ $this->add_control(
274
+ 'disable_lightbox_on_mobile',
275
+ [
276
+ 'label' => __( 'Disable On Mobile', 'happy-elementor-addons' ),
277
+ 'type' => Controls_Manager::SWITCHER,
278
+ 'return_value' => 'yes',
279
+ 'frontend_available' => true,
280
+ 'condition' => [
281
+ 'enable_popup' => 'yes',
282
+ ]
283
+ ]
284
+ );
285
+
286
+ $this->add_group_control(
287
+ Group_Control_Image_Size::get_type(),
288
+ [
289
+ 'name' => 'popup_image',
290
+ 'default' => 'large',
291
+ 'exclude' => [
292
+ 'custom'
293
+ ],
294
+ 'condition' => [
295
+ 'enable_popup' => 'yes',
296
+ ]
297
+ ]
298
+ );
299
+
300
+ $this->end_controls_section();
301
+ }
302
+
303
+ protected function register_style_controls() {
304
+ $this->start_controls_section(
305
+ '_section_style_image',
306
+ [
307
+ 'label' => __( 'Image', 'happy-elementor-addons' ),
308
+ 'tab' => Controls_Manager::TAB_STYLE,
309
+ ]
310
+ );
311
+
312
+ $this->add_responsive_control(
313
+ 'image_border_radius',
314
+ [
315
+ 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
316
+ 'type' => Controls_Manager::DIMENSIONS,
317
+ 'size_units' => [ 'px', '%' ],
318
+ 'selectors' => [
319
+ '{{WRAPPER}} .ha-justified-grid__item' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
320
+ ],
321
+ ]
322
+ );
323
+
324
+ $this->add_control(
325
+ 'image_bg_color',
326
+ [
327
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
328
+ 'type' => Controls_Manager::COLOR,
329
+ 'selectors' => [
330
+ '{{WRAPPER}} .ha-justified-grid__item' => 'background-color: {{VALUE}};'
331
+ ]
332
+ ]
333
+ );
334
+
335
+ $this->start_controls_tabs(
336
+ '_tabs_image_effects',
337
+ [
338
+ 'separator' => 'before'
339
+ ]
340
+ );
341
+
342
+ $this->start_controls_tab(
343
+ '_tab_image_effects_normal',
344
+ [
345
+ 'label' => __( 'Normal', 'happy-elementor-addons' ),
346
+ ]
347
+ );
348
+
349
+ $this->add_control(
350
+ 'image_opacity',
351
+ [
352
+ 'label' => __( 'Opacity', 'happy-elementor-addons' ),
353
+ 'type' => Controls_Manager::SLIDER,
354
+ 'range' => [
355
+ 'px' => [
356
+ 'max' => 1,
357
+ 'min' => 0.10,
358
+ 'step' => 0.01,
359
+ ],
360
+ ],
361
+ 'selectors' => [
362
+ '{{WRAPPER}} .ha-justified-grid__item img' => 'opacity: {{SIZE}};',
363
+ ],
364
+ ]
365
+ );
366
+
367
+ $this->add_group_control(
368
+ Group_Control_Css_Filter::get_type(),
369
+ [
370
+ 'name' => 'image_css_filters',
371
+ 'selector' => '{{WRAPPER}} .ha-justified-grid__item img',
372
+ ]
373
+ );
374
+
375
+ $this->end_controls_tab();
376
+
377
+ $this->start_controls_tab( 'hover',
378
+ [
379
+ 'label' => __( 'Hover', 'happy-elementor-addons' ),
380
+ ]
381
+ );
382
+
383
+ $this->add_control(
384
+ 'image_opacity_hover',
385
+ [
386
+ 'label' => __( 'Opacity', 'happy-elementor-addons' ),
387
+ 'type' => Controls_Manager::SLIDER,
388
+ 'range' => [
389
+ 'px' => [
390
+ 'max' => 1,
391
+ 'min' => 0.10,
392
+ 'step' => 0.01,
393
+ ],
394
+ ],
395
+ 'selectors' => [
396
+ '{{WRAPPER}} .ha-justified-grid__item:hover img' => 'opacity: {{SIZE}};',
397
+ ],
398
+ ]
399
+ );
400
+
401
+ $this->add_group_control(
402
+ Group_Control_Css_Filter::get_type(),
403
+ [
404
+ 'name' => 'image_css_filters_hover',
405
+ 'selector' => '{{WRAPPER}} .ha-justified-grid__item:hover img',
406
+ ]
407
+ );
408
+
409
+ $this->add_control(
410
+ 'image_background_hover_transition',
411
+ [
412
+ 'label' => __( 'Transition Duration', 'happy-elementor-addons' ),
413
+ 'type' => Controls_Manager::SLIDER,
414
+ 'range' => [
415
+ 'px' => [
416
+ 'max' => 3,
417
+ 'step' => 0.1,
418
+ ],
419
+ ],
420
+ 'selectors' => [
421
+ '{{WRAPPER}} .ha-justified-grid__item img' => 'transition-duration: {{SIZE}}s;',
422
+ ],
423
+ ]
424
+ );
425
+
426
+ $this->add_control(
427
+ 'image_hover_animation',
428
+ [
429
+ 'label' => __( 'Hover Animation', 'happy-elementor-addons' ),
430
+ 'type' => Controls_Manager::HOVER_ANIMATION,
431
+ 'default' => 'grow',
432
+ 'label_block' => true,
433
+ ]
434
+ );
435
+
436
+ $this->add_control(
437
+ 'image_hover_cursor',
438
+ [
439
+ 'label' => __( 'Hover Cursor', 'happy-elementor-addons' ),
440
+ 'type' => Controls_Manager::SELECT2,
441
+ 'label_block' => true,
442
+ 'options' => ha_get_css_cursors(),
443
+ 'default' => 'default',
444
+ 'selectors' => [
445
+ '{{WRAPPER}} .ha-justified-grid__item:hover img' => 'cursor: {{VALUE}};'
446
+ ]
447
+ ]
448
+ );
449
+
450
+ $this->end_controls_tab();
451
+ $this->end_controls_tabs();
452
+
453
+ $this->end_controls_section();
454
+
455
+ $this->start_controls_section(
456
+ '_section_style_caption',
457
+ [
458
+ 'label' => __( 'Caption', 'happy-elementor-addons' ),
459
+ 'tab' => Controls_Manager::TAB_STYLE,
460
+ ]
461
+ );
462
+
463
+ $this->add_responsive_control(
464
+ 'caption_padding',
465
+ [
466
+ 'label' => __( 'Padding', 'happy-elementor-addons' ),
467
+ 'type' => Controls_Manager::DIMENSIONS,
468
+ 'size_units' => [ 'px', 'em', '%' ],
469
+ 'selectors' => [
470
+ '{{WRAPPER}} .justified-gallery > .ha-justified-grid__item > .caption' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
471
+ ],
472
+ ]
473
+ );
474
+
475
+ $this->add_control(
476
+ 'caption_color',
477
+ [
478
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
479
+ 'type' => Controls_Manager::COLOR,
480
+ 'selectors' => [
481
+ '{{WRAPPER}} .justified-gallery > .ha-justified-grid__item > .caption' => 'color: {{VALUE}};',
482
+ ],
483
+ ]
484
+ );
485
+
486
+ $this->add_control(
487
+ 'caption_bg_color',
488
+ [
489
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
490
+ 'type' => Controls_Manager::COLOR,
491
+ 'selectors' => [
492
+ '{{WRAPPER}} .justified-gallery > .ha-justified-grid__item > .caption' => 'background-color: {{VALUE}};',
493
+ ],
494
+ ]
495
+ );
496
+
497
+ $this->add_group_control(
498
+ Group_Control_Typography::get_type(),
499
+ [
500
+ 'name' => 'caption_typography',
501
+ 'label' => __( 'Typography', 'happy-elementor-addons' ),
502
+ 'selector' => '{{WRAPPER}} .justified-gallery > .ha-justified-grid__item > .caption',
503
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
504
+ ]
505
+ );
506
+
507
+ $this->end_controls_section();
508
+
509
+ $this->start_controls_section(
510
+ '_section_style_menu',
511
+ [
512
+ 'label' => __( 'Filter Menu', 'happy-elementor-addons' ),
513
+ 'tab' => Controls_Manager::TAB_STYLE,
514
+ ]
515
+ );
516
+
517
+ $this->add_control(
518
+ '_heading_menu',
519
+ [
520
+ 'label' => __( 'Menu', 'happy-elementor-addons' ),
521
+ 'type' => Controls_Manager::HEADING,
522
+ ]
523
+ );
524
+
525
+ $this->add_responsive_control(
526
+ 'menu_margin',
527
+ [
528
+ 'label' => __( 'Margin', 'happy-elementor-addons' ),
529
+ 'type' => Controls_Manager::DIMENSIONS,
530
+ 'size_units' => [ 'px', '%' ],
531
+ 'selectors' => [
532
+ '{{WRAPPER}} .ha-filter' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
533
+ ],
534
+ ]
535
+ );
536
+
537
+ $this->add_control(
538
+ '_heading_buttons',
539
+ [
540
+ 'label' => __( 'Filter Buttons', 'happy-elementor-addons' ),
541
+ 'type' => Controls_Manager::HEADING,
542
+ 'separator' => 'before',
543
+ ]
544
+ );
545
+
546
+ $this->add_responsive_control(
547
+ 'button_padding',
548
+ [
549
+ 'label' => __( 'Padding', 'happy-elementor-addons' ),
550
+ 'type' => Controls_Manager::DIMENSIONS,
551
+ 'size_units' => [ 'px', 'em', '%' ],
552
+ 'selectors' => [
553
+ '{{WRAPPER}} .ha-filter__item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
554
+ ],
555
+ ]
556
+ );
557
+
558
+ $this->add_responsive_control(
559
+ 'button_spacing',
560
+ [
561
+ 'label' => __( 'Spacing', 'happy-elementor-addons' ),
562
+ 'type' => Controls_Manager::SLIDER,
563
+ 'size_units' => ['px'],
564
+ 'selectors' => [
565
+ '{{WRAPPER}} .ha-filter__item:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}};',
566
+ ],
567
+ ]
568
+ );
569
+
570
+ $this->add_group_control(
571
+ Group_Control_Border::get_type(),
572
+ [
573
+ 'name' => 'button_border',
574
+ 'selector' => '{{WRAPPER}} .ha-filter__item'
575
+ ]
576
+ );
577
+
578
+ $this->add_responsive_control(
579
+ 'button_border_radius',
580
+ [
581
+ 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
582
+ 'type' => Controls_Manager::DIMENSIONS,
583
+ 'size_units' => [ 'px', '%' ],
584
+ 'selectors' => [
585
+ '{{WRAPPER}} .ha-filter__item' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
586
+ ],
587
+ ]
588
+ );
589
+
590
+ $this->add_group_control(
591
+ Group_Control_Box_Shadow::get_type(),
592
+ [
593
+ 'name' => 'button_box_shadow',
594
+ 'exclude' => [
595
+ 'box_shadow_position',
596
+ ],
597
+ 'selector' => '{{WRAPPER}} .ha-filter__item'
598
+ ]
599
+ );
600
+
601
+ $this->add_group_control(
602
+ Group_Control_Typography::get_type(),
603
+ [
604
+ 'name' => 'button_typography',
605
+ 'selector' => '{{WRAPPER}} .ha-filter__item',
606
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
607
+ ]
608
+ );
609
+
610
+ $this->add_responsive_control(
611
+ 'button_align',
612
+ [
613
+ 'label' => __( 'Alignment', 'happy-elementor-addons' ),
614
+ 'type' => Controls_Manager::CHOOSE,
615
+ 'label_block' => false,
616
+ 'options' => [
617
+ 'left' => [
618
+ 'title' => __( 'Left', 'happy-elementor-addons' ),
619
+ 'icon' => 'eicon-h-align-left',
620
+ ],
621
+ 'center' => [
622
+ 'title' => __( 'Center', 'happy-elementor-addons' ),
623
+ 'icon' => 'eicon-h-align-center',
624
+ ],
625
+ 'right' => [
626
+ 'title' => __( 'Right', 'happy-elementor-addons' ),
627
+ 'icon' => 'eicon-h-align-right',
628
+ ],
629
+ ],
630
+ 'desktop_default' => 'left',
631
+ 'toggle' => false,
632
+ 'selectors' => [
633
+ '{{WRAPPER}} .ha-filter' => 'text-align: {{VALUE}};'
634
+ ]
635
+ ]
636
+ );
637
+
638
+ $this->start_controls_tabs( '_tabs_style_button' );
639
+
640
+ $this->start_controls_tab(
641
+ '_tab_button_normal',
642
+ [
643
+ 'label' => __( 'Normal', 'happy-elementor-addons' ),
644
+ ]
645
+ );
646
+
647
+ $this->add_control(
648
+ 'button_color',
649
+ [
650
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
651
+ 'type' => Controls_Manager::COLOR,
652
+ 'default' => '',
653
+ 'selectors' => [
654
+ '{{WRAPPER}} .ha-filter__item' => 'color: {{VALUE}};',
655
+ ],
656
+ ]
657
+ );
658
+
659
+ $this->add_control(
660
+ 'button_bg_color',
661
+ [
662
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
663
+ 'type' => Controls_Manager::COLOR,
664
+ 'selectors' => [
665
+ '{{WRAPPER}} .ha-filter__item' => 'background-color: {{VALUE}};',
666
+ ],
667
+ ]
668
+ );
669
+
670
+ $this->end_controls_tab();
671
+
672
+ $this->start_controls_tab(
673
+ '_tab_button_hover',
674
+ [
675
+ 'label' => __( 'Hover', 'happy-elementor-addons' ),
676
+ ]
677
+ );
678
+
679
+ $this->add_control(
680
+ 'button_hover_color',
681
+ [
682
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
683
+ 'type' => Controls_Manager::COLOR,
684
+ 'selectors' => [
685
+ '{{WRAPPER}} .ha-filter__item:hover, {{WRAPPER}} .ha-filter__item:focus' => 'color: {{VALUE}};',
686
+ ],
687
+ ]
688
+ );
689
+
690
+ $this->add_control(
691
+ 'button_hover_bg_color',
692
+ [
693
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
694
+ 'type' => Controls_Manager::COLOR,
695
+ 'selectors' => [
696
+ '{{WRAPPER}} .ha-filter__item:hover, {{WRAPPER}} .ha-filter__item:focus' => 'background-color: {{VALUE}};',
697
+ ],
698
+ ]
699
+ );
700
+
701
+ $this->add_control(
702
+ 'button_hover_border_color',
703
+ [
704
+ 'label' => __( 'Border Color', 'happy-elementor-addons' ),
705
+ 'type' => Controls_Manager::COLOR,
706
+ 'condition' => [
707
+ 'button_border_border!' => '',
708
+ ],
709
+ 'selectors' => [
710
+ '{{WRAPPER}} .ha-filter__item:hover, {{WRAPPER}} .ha-filter__item:focus' => 'border-color: {{VALUE}};',
711
+ ],
712
+ ]
713
+ );
714
+
715
+ $this->end_controls_tab();
716
+
717
+ $this->start_controls_tab(
718
+ '_tab_button_active',
719
+ [
720
+ 'label' => __( 'Active', 'happy-elementor-addons' ),
721
+ ]
722
+ );
723
+
724
+ $this->add_control(
725
+ 'button_active_color',
726
+ [
727
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
728
+ 'type' => Controls_Manager::COLOR,
729
+ 'selectors' => [
730
+ '{{WRAPPER}} .ha-filter__item--active' => 'color: {{VALUE}};',
731
+ ],
732
+ ]
733
+ );
734
+
735
+ $this->add_control(
736
+ 'button_active_bg_color',
737
+ [
738
+ 'label' => __( 'Background Color', 'happy-elementor-addons' ),
739
+ 'type' => Controls_Manager::COLOR,
740
+ 'selectors' => [
741
+ '{{WRAPPER}} .ha-filter__item--active' => 'background-color: {{VALUE}};',
742
+ ],
743
+ ]
744
+ );
745
+
746
+ $this->add_control(
747
+ 'button_active_border_color',
748
+ [
749
+ 'label' => __( 'Border Color', 'happy-elementor-addons' ),
750
+ 'type' => Controls_Manager::COLOR,
751
+ 'condition' => [
752
+ 'button_border_border!' => '',
753
+ ],
754
+ 'selectors' => [
755
+ '{{WRAPPER}} .ha-filter__item--active' => 'border-color: {{VALUE}};',
756
+ ],
757
+ ]
758
+ );
759
+
760
+ $this->end_controls_tab();
761
+ $this->end_controls_tabs();
762
+
763
+ $this->end_controls_section();
764
+ }
765
+
766
+ protected function get_gallery_data() {
767
+ $gallery = $this->get_settings_for_display( 'gallery' );
768
+
769
+ if ( ! is_array( $gallery ) || empty( $gallery ) ) {
770
+ return [];
771
+ }
772
+
773
+ $menu = [];
774
+ $items = [];
775
+
776
+ foreach ( $gallery as $key => $item ) {
777
+ if ( empty( $item['images'] ) ) {
778
+ continue;
779
+ }
780
+
781
+ $images = $item['images'];
782
+ $filter = '__fltr-' . ( $key + 1 );
783
+
784
+ if ( ! empty( $item['is_default_filter'] ) ) {
785
+ $this->_default_filter = '.' . $filter;
786
+ }
787
+
788
+ if ( $filter && ! isset( $data[ $filter ] ) ) {
789
+ $menu[ $filter ] = $item['filter'];
790
+ }
791
+
792
+ foreach ( $images as $image ) {
793
+ if ( ! isset( $items[ $image['id'] ] ) ) {
794
+ $items[ $image['id'] ] = $filter;
795
+ } else {
796
+ $items[ $image['id'] ] .= ' ' . $filter;
797
+ }
798
+ }
799
+ }
800
+
801
+ return compact( 'menu', 'items' );
802
+ }
803
+
804
+ protected function render() {
805
+ $settings = $this->get_settings_for_display();
806
+ $gallery = $this->get_gallery_data();
807
+
808
+ if ( empty( $gallery ) ) {
809
+ return;
810
+ }
811
+
812
+ $this->add_render_attribute( 'grid_wrap', 'class', [
813
+ 'ha-justified-grid__wrap',
814
+ 'hajs-justified-grid',
815
+ ] );
816
+
817
+ $has_popup = $settings['enable_popup'];
818
+ $item_html_tag = 'div';
819
+
820
+ if ( $has_popup ) {
821
+ $item_html_tag = 'a';
822
+ }
823
+
824
+ if ( $settings['show_filter'] === 'yes' ) : ?>
825
+ <div class="ha-filter hajs-filter" data-default-filter="<?php echo $this->_default_filter; ?>" role="navigation" aria-label="<?php echo esc_attr_x( 'Gallery filter', 'Gallery filter aria label', 'happy-elementor-addons' ); ?>">
826
+ <?php if ( $settings['show_all_filter'] ) : ?>
827
+ <button class="ha-filter__item" type="button" data-filter="*"><?php echo esc_html( $settings['all_filter_label'] ); ?></button></li>
828
+ <?php endif; ?>
829
+ <?php foreach ( $gallery['menu'] as $key => $val ) : ?>
830
+ <button class="ha-filter__item" type="button" data-filter=".<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $val ); ?></button></li>
831
+ <?php endforeach; ?>
832
+ </div>
833
+ <?php endif; ?>
834
+
835
+ <div <?php echo $this->get_render_attribute_string( 'grid_wrap' ); ?>>
836
+ <?php foreach ( $gallery['items'] as $id => $filter_str ) :
837
+ $caption = $settings['show_caption'] ? esc_attr( wp_get_attachment_caption( $id ) ) : '';
838
+ $popup = $has_popup ? sprintf( 'href="#" data-mfp-src="%s"', esc_url( wp_get_attachment_image_url( $id, $settings['popup_image_size'] ) ) ) : '';
839
+ ?>
840
+ <<?php echo $item_html_tag; ?> <?php echo $popup; ?> class="ha-justified-grid__item ha-js-lightbox <?php echo esc_attr( $filter_str ); ?>" title="<?php echo $caption; ?>">
841
+ <?php echo wp_get_attachment_image( $id, $settings['thumbnail_size'], false, ['class' => 'elementor-animation-' . esc_attr( $settings['image_hover_animation'] ) ] ); ?>
842
+ </<?php echo $item_html_tag; ?>>
843
+ <?php endforeach; ?>
844
+ </div>
845
+
846
+ <?php
847
+ }
848
+ }
widgets/skills/widget.php CHANGED
@@ -1,366 +1,366 @@
1
- <?php
2
- /**
3
- * Skills widget class
4
- *
5
- * @package Happy_Addons
6
- */
7
- namespace Happy_Addons\Elementor\Widget;
8
-
9
- use Elementor\Group_Control_Text_Shadow;
10
- use Elementor\Repeater;
11
- use Elementor\Controls_Manager;
12
- use Elementor\Group_Control_Box_Shadow;
13
- use Elementor\Group_Control_Typography;
14
- use Elementor\Scheme_Typography;
15
-
16
- defined( 'ABSPATH' ) || die();
17
-
18
- class Skills extends Base {
19
-
20
- /**
21
- * Get widget title.
22
- *
23
- * @since 1.0.0
24
- * @access public
25
- *
26
- * @return string Widget title.
27
- */
28
- public function get_title() {
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
- *
39
- * @since 1.0.0
40
- * @access public
41
- *
42
- * @return string Widget icon.
43
- */
44
- public function get_icon() {
45
- return 'hm hm-progress-bar';
46
- }
47
-
48
- public function get_keywords() {
49
- return [ 'progress', 'skill', 'bar', 'chart' ];
50
- }
51
-
52
- protected function register_content_controls() {
53
- $this->start_controls_section(
54
- '_section_skills',
55
- [
56
- 'label' => __( 'Skills', 'happy-elementor-addons' ),
57
- 'tab' => Controls_Manager::TAB_CONTENT,
58
- ]
59
- );
60
-
61
- $repeater = new Repeater();
62
-
63
- $repeater->add_control(
64
- 'name',
65
- [
66
- 'type' => Controls_Manager::TEXT,
67
- 'label' => __( 'Name', 'happy-elementor-addons' ),
68
- 'default' => __( 'Design', 'happy-elementor-addons' ),
69
- 'placeholder' => __( 'Type a skill name', 'happy-elementor-addons' ),
70
- ]
71
- );
72
-
73
- $repeater->add_control(
74
- 'level',
75
- [
76
- 'label' => __( 'Level (Out Of 100)', 'happy-elementor-addons' ),
77
- 'type' => Controls_Manager::SLIDER,
78
- 'default' => [
79
- 'unit' => '%',
80
- 'size' => 95
81
- ],
82
- 'size_units' => ['%'],
83
- 'range' => [
84
- '%' => [
85
- 'min' => 0,
86
- 'max' => 100,
87
- ],
88
- ],
89
- 'dynamic' => [
90
- 'active' => true,
91
- ]
92
- ]
93
- );
94
-
95
- $repeater->add_control(
96
- 'customize',
97
- [
98
- 'label' => __( 'Want To Customize?', 'happy-elementor-addons' ),
99
- 'type' => Controls_Manager::SWITCHER,
100
- 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
101
- 'label_off' => __( 'No', 'happy-elementor-addons' ),
102
- 'return_value' => 'yes',
103
- 'description' => __( 'You can customize this skill bar color from here or customize from Style tab', 'happy-elementor-addons' ),
104
- 'style_transfer' => true,
105
- ]
106
- );
107
-
108
- $repeater->add_control(
109
- 'color',
110
- [
111
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
112
- 'type' => Controls_Manager::COLOR,
113
- 'selectors' => [
114
- '{{WRAPPER}} {{CURRENT_ITEM}} .ha-skill-info' => 'color: {{VALUE}};',
115
- ],
116
- 'condition' => ['customize' => 'yes'],
117
- 'style_transfer' => true,
118
- ]
119
- );
120
-
121
- $repeater->add_control(
122
- 'level_color',
123
- [
124
- 'label' => __( 'Level Color', 'happy-elementor-addons' ),
125
- 'type' => Controls_Manager::COLOR,
126
- 'selectors' => [
127
- '{{WRAPPER}} {{CURRENT_ITEM}} .ha-skill-level' => 'background-color: {{VALUE}};',
128
- ],
129
- 'condition' => ['customize' => 'yes'],
130
- 'style_transfer' => true,
131
- ]
132
- );
133
-
134
- $repeater->add_control(
135
- 'base_color',
136
- [
137
- 'label' => __( 'Base Color', 'happy-elementor-addons' ),
138
- 'type' => Controls_Manager::COLOR,
139
- 'selectors' => [
140
- '{{WRAPPER}} {{CURRENT_ITEM}}.ha-skill' => 'background-color: {{VALUE}};',
141
- ],
142
- 'condition' => ['customize' => 'yes'],
143
- 'style_transfer' => true,
144
- ]
145
- );
146
-
147
- $this->add_control(
148
- 'skills',
149
- [
150
- 'show_label' => false,
151
- 'type' => Controls_Manager::REPEATER,
152
- 'fields' => $repeater->get_controls(),
153
- 'title_field' => '<# print((name || level.size) ? (name || "Skill") + " - " + level.size + level.unit : "Skill - 0%") #>',
154
- 'default' => [
155
- [
156
- 'name' => 'Design',
157
- 'level' => ['size' => 97, 'unit' => '%']
158
- ],
159
- [
160
- 'name' => 'UX',
161
- 'level' => ['size' => 88, 'unit' => '%']
162
- ],
163
- [
164
- 'name' => 'Coding',
165
- 'level' => ['size' => 92, 'unit' => '%']
166
- ],
167
- [
168
- 'name' => 'Speed',
169
- ],
170
- [
171
- 'name' => 'Passion',
172
- 'level' => ['size' => 100, 'unit' => '%']
173
- ]
174
- ]
175
- ]
176
- );
177
-
178
- $this->add_control(
179
- 'view',
180
- [
181
- 'type' => Controls_Manager::SELECT,
182
- 'label' => __( 'Text Position', 'happy-elementor-addons' ),
183
- 'separator' => 'before',
184
- 'default' => 'inside',
185
- 'options' => [
186
- 'inside' => __( 'Text Inside', 'happy-elementor-addons' ),
187
- 'outside' => __( 'Text Outside', 'happy-elementor-addons' ),
188
- ],
189
- 'style_transfer' => true,
190
- ]
191
- );
192
-
193
- $this->end_controls_section();
194
- }
195
-
196
- protected function register_style_controls() {
197
- $this->start_controls_section(
198
- '_section_style_bars',
199
- [
200
- 'label' => __( 'Skill Bars', 'happy-elementor-addons' ),
201
- 'tab' => Controls_Manager::TAB_STYLE,
202
- ]
203
- );
204
-
205
- $this->add_control(
206
- 'height',
207
- [
208
- 'label' => __( 'Height', 'happy-elementor-addons' ),
209
- 'type' => Controls_Manager::SLIDER,
210
- 'size_units' => [ 'px' ],
211
- 'range' => [
212
- 'px' => [
213
- 'min' => 1,
214
- 'max' => 250,
215
- ],
216
- ],
217
- 'selectors' => [
218
- '{{WRAPPER}} .ha-skill--outside' => 'height: {{SIZE}}{{UNIT}};',
219
- '{{WRAPPER}} .ha-skill--inside' => 'height: {{SIZE}}{{UNIT}};',
220
- ],
221
- ]
222
- );
223
-
224
- $this->add_control(
225
- 'spacing',
226
- [
227
- 'label' => __( 'Spacing Between', 'happy-elementor-addons' ),
228
- 'type' => Controls_Manager::SLIDER,
229
- 'size_units' => [ 'px' ],
230
- 'range' => [
231
- 'px' => [
232
- 'min' => 0,
233
- 'max' => 250,
234
- ],
235
- ],
236
- 'selectors' => [
237
- '{{WRAPPER}} .ha-skill--outside' => 'margin-top: {{SIZE}}{{UNIT}};',
238
- '{{WRAPPER}} .ha-skill--inside:not(:first-child)' => 'margin-top: {{SIZE}}{{UNIT}};',
239
- ],
240
- ]
241
- );
242
-
243
- $this->add_control(
244
- 'border_radius',
245
- [
246
- 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
247
- 'type' => Controls_Manager::DIMENSIONS,
248
- 'size_units' => [ 'px', '%' ],
249
- 'selectors' => [
250
- '{{WRAPPER}} .ha-skill, {{WRAPPER}} .ha-skill-level' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
251
- ],
252
- ]
253
- );
254
-
255
- $this->add_group_control(
256
- Group_Control_Box_Shadow::get_type(),
257
- [
258
- 'name' => 'box_shadow',
259
- 'exclude' => [
260
- 'box_shadow_position',
261
- ],
262
- 'selector' => '{{WRAPPER}} .ha-skill'
263
- ]
264
- );
265
-
266
- $this->end_controls_section();
267
-
268
- $this->start_controls_section(
269
- '_section_content',
270
- [
271
- 'label' => __( 'Content', 'happy-elementor-addons' ),
272
- 'tab' => Controls_Manager::TAB_STYLE,
273
- ]
274
- );
275
-
276
- $this->add_control(
277
- 'color',
278
- [
279
- 'label' => __( 'Text Color', 'happy-elementor-addons' ),
280
- 'type' => Controls_Manager::COLOR,
281
- 'selectors' => [
282
- '{{WRAPPER}} .ha-skill-info' => 'color: {{VALUE}};',
283
- ],
284
- ]
285
- );
286
-
287
- $this->add_control(
288
- 'level_color',
289
- [
290
- 'label' => __( 'Level Color', 'happy-elementor-addons' ),
291
- 'type' => Controls_Manager::COLOR,
292
- 'selectors' => [
293
- '{{WRAPPER}} .ha-skill-level' => 'background-color: {{VALUE}};',
294
- ],
295
- ]
296
- );
297
-
298
- $this->add_control(
299
- 'base_color',
300
- [
301
- 'label' => __( 'Base Color', 'happy-elementor-addons' ),
302
- 'type' => Controls_Manager::COLOR,
303
- 'selectors' => [
304
- '{{WRAPPER}} .ha-skill' => 'background-color: {{VALUE}};',
305
- ],
306
- ]
307
- );
308
-
309
- $this->add_group_control(
310
- Group_Control_Typography::get_type(),
311
- [
312
- 'name' => 'info_typography',
313
- 'selector' => '{{WRAPPER}} .ha-skill-info',
314
- 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
315
- ]
316
- );
317
-
318
- $this->add_group_control(
319
- Group_Control_Text_Shadow::get_type(),
320
- [
321
- 'name' => 'info_text_shadow',
322
- 'selector' => '{{WRAPPER}} .ha-skill-info',
323
- ]
324
- );
325
- }
326
-
327
- protected function render() {
328
- $settings = $this->get_settings_for_display();
329
-
330
- if ( ! is_array( $settings['skills'] ) ) {
331
- return;
332
- }
333
-
334
- foreach ( $settings['skills'] as $index => $skill ) :
335
- $name_key = $this->get_repeater_setting_key( 'name', 'bars', $index );
336
- $this->add_inline_editing_attributes( $name_key, 'none' );
337
- $this->add_render_attribute( $name_key, 'class', 'ha-skill-name' );
338
- ?>
339
- <div class="ha-skill ha-skill--<?php echo esc_attr( $settings['view'] ); ?> elementor-repeater-item-<?php echo $skill['_id']; ?>">
340
- <div class="ha-skill-level" data-level="<?php echo esc_attr( $skill['level']['size'] ); ?>">
341
- <div class="ha-skill-info"><span <?php echo $this->get_render_attribute_string( $name_key ); ?>><?php echo esc_html( $skill['name'] ); ?></span><span class="ha-skill-level-text"></span></div>
342
- </div>
343
- </div>
344
- <?php
345
- endforeach;
346
- }
347
-
348
- protected function _content_template() {
349
- ?>
350
- <#
351
- if (_.isArray(settings.skills)) {
352
- _.each(settings.skills, function(skill, index) {
353
- var nameKey = view.getRepeaterSettingKey( 'name', 'skills', index);
354
- view.addInlineEditingAttributes( nameKey, 'none' );
355
- view.addRenderAttribute( nameKey, 'class', 'ha-skill-name' );
356
- #>
357
- <div class="ha-skill ha-skill--{{settings.view}} elementor-repeater-item-{{skill._id}}">
358
- <div class="ha-skill-level" data-level="{{skill.level.size}}">
359
- <div class="ha-skill-info"><span {{{view.getRenderAttributeString( nameKey )}}}>{{skill.name}}</span><span class="ha-skill-level-text"></span></div>
360
- </div>
361
- </div>
362
- <# });
363
- } #>
364
- <?php
365
- }
366
- }
1
+ <?php
2
+ /**
3
+ * Skills widget class
4
+ *
5
+ * @package Happy_Addons
6
+ */
7
+ namespace Happy_Addons\Elementor\Widget;
8
+
9
+ use Elementor\Group_Control_Text_Shadow;
10
+ use Elementor\Repeater;
11
+ use Elementor\Controls_Manager;
12
+ use Elementor\Group_Control_Box_Shadow;
13
+ use Elementor\Group_Control_Typography;
14
+ use Elementor\Scheme_Typography;
15
+
16
+ defined( 'ABSPATH' ) || die();
17
+
18
+ class Skills extends Base {
19
+
20
+ /**
21
+ * Get widget title.
22
+ *
23
+ * @since 1.0.0
24
+ * @access public
25
+ *
26
+ * @return string Widget title.
27
+ */
28
+ public function get_title() {
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
+ *
39
+ * @since 1.0.0
40
+ * @access public
41
+ *
42
+ * @return string Widget icon.
43
+ */
44
+ public function get_icon() {
45
+ return 'hm hm-progress-bar';
46
+ }
47
+
48
+ public function get_keywords() {
49
+ return [ 'progress', 'skill', 'bar', 'chart' ];
50
+ }
51
+
52
+ protected function register_content_controls() {
53
+ $this->start_controls_section(
54
+ '_section_skills',
55
+ [
56
+ 'label' => __( 'Skills', 'happy-elementor-addons' ),
57
+ 'tab' => Controls_Manager::TAB_CONTENT,
58
+ ]
59
+ );
60
+
61
+ $repeater = new Repeater();
62
+
63
+ $repeater->add_control(
64
+ 'name',
65
+ [
66
+ 'type' => Controls_Manager::TEXT,
67
+ 'label' => __( 'Name', 'happy-elementor-addons' ),
68
+ 'default' => __( 'Design', 'happy-elementor-addons' ),
69
+ 'placeholder' => __( 'Type a skill name', 'happy-elementor-addons' ),
70
+ ]
71
+ );
72
+
73
+ $repeater->add_control(
74
+ 'level',
75
+ [
76
+ 'label' => __( 'Level (Out Of 100)', 'happy-elementor-addons' ),
77
+ 'type' => Controls_Manager::SLIDER,
78
+ 'default' => [
79
+ 'unit' => '%',
80
+ 'size' => 95
81
+ ],
82
+ 'size_units' => ['%'],
83
+ 'range' => [
84
+ '%' => [
85
+ 'min' => 0,
86
+ 'max' => 100,
87
+ ],
88
+ ],
89
+ 'dynamic' => [
90
+ 'active' => true,
91
+ ]
92
+ ]
93
+ );
94
+
95
+ $repeater->add_control(
96
+ 'customize',
97
+ [
98
+ 'label' => __( 'Want To Customize?', 'happy-elementor-addons' ),
99
+ 'type' => Controls_Manager::SWITCHER,
100
+ 'label_on' => __( 'Yes', 'happy-elementor-addons' ),
101
+ 'label_off' => __( 'No', 'happy-elementor-addons' ),
102
+ 'return_value' => 'yes',
103
+ 'description' => __( 'You can customize this skill bar color from here or customize from Style tab', 'happy-elementor-addons' ),
104
+ 'style_transfer' => true,
105
+ ]
106
+ );
107
+
108
+ $repeater->add_control(
109
+ 'color',
110
+ [
111
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
112
+ 'type' => Controls_Manager::COLOR,
113
+ 'selectors' => [
114
+ '{{WRAPPER}} {{CURRENT_ITEM}} .ha-skill-info' => 'color: {{VALUE}};',
115
+ ],
116
+ 'condition' => ['customize' => 'yes'],
117
+ 'style_transfer' => true,
118
+ ]
119
+ );
120
+
121
+ $repeater->add_control(
122
+ 'level_color',
123
+ [
124
+ 'label' => __( 'Level Color', 'happy-elementor-addons' ),
125
+ 'type' => Controls_Manager::COLOR,
126
+ 'selectors' => [
127
+ '{{WRAPPER}} {{CURRENT_ITEM}} .ha-skill-level' => 'background-color: {{VALUE}};',
128
+ ],
129
+ 'condition' => ['customize' => 'yes'],
130
+ 'style_transfer' => true,
131
+ ]
132
+ );
133
+
134
+ $repeater->add_control(
135
+ 'base_color',
136
+ [
137
+ 'label' => __( 'Base Color', 'happy-elementor-addons' ),
138
+ 'type' => Controls_Manager::COLOR,
139
+ 'selectors' => [
140
+ '{{WRAPPER}} {{CURRENT_ITEM}}.ha-skill' => 'background-color: {{VALUE}};',
141
+ ],
142
+ 'condition' => ['customize' => 'yes'],
143
+ 'style_transfer' => true,
144
+ ]
145
+ );
146
+
147
+ $this->add_control(
148
+ 'skills',
149
+ [
150
+ 'show_label' => false,
151
+ 'type' => Controls_Manager::REPEATER,
152
+ 'fields' => $repeater->get_controls(),
153
+ 'title_field' => '<# print((name || level.size) ? (name || "Skill") + " - " + level.size + level.unit : "Skill - 0%") #>',
154
+ 'default' => [
155
+ [
156
+ 'name' => 'Design',
157
+ 'level' => ['size' => 97, 'unit' => '%']
158
+ ],
159
+ [
160
+ 'name' => 'UX',
161
+ 'level' => ['size' => 88, 'unit' => '%']
162
+ ],
163
+ [
164
+ 'name' => 'Coding',
165
+ 'level' => ['size' => 92, 'unit' => '%']
166
+ ],
167
+ [
168
+ 'name' => 'Speed',
169
+ ],
170
+ [
171
+ 'name' => 'Passion',
172
+ 'level' => ['size' => 100, 'unit' => '%']
173
+ ]
174
+ ]
175
+ ]
176
+ );
177
+
178
+ $this->add_control(
179
+ 'view',
180
+ [
181
+ 'type' => Controls_Manager::SELECT,
182
+ 'label' => __( 'Text Position', 'happy-elementor-addons' ),
183
+ 'separator' => 'before',
184
+ 'default' => 'inside',
185
+ 'options' => [
186
+ 'inside' => __( 'Text Inside', 'happy-elementor-addons' ),
187
+ 'outside' => __( 'Text Outside', 'happy-elementor-addons' ),
188
+ ],
189
+ 'style_transfer' => true,
190
+ ]
191
+ );
192
+
193
+ $this->end_controls_section();
194
+ }
195
+
196
+ protected function register_style_controls() {
197
+ $this->start_controls_section(
198
+ '_section_style_bars',
199
+ [
200
+ 'label' => __( 'Skill Bars', 'happy-elementor-addons' ),
201
+ 'tab' => Controls_Manager::TAB_STYLE,
202
+ ]
203
+ );
204
+
205
+ $this->add_control(
206
+ 'height',
207
+ [
208
+ 'label' => __( 'Height', 'happy-elementor-addons' ),
209
+ 'type' => Controls_Manager::SLIDER,
210
+ 'size_units' => [ 'px' ],
211
+ 'range' => [
212
+ 'px' => [
213
+ 'min' => 1,
214
+ 'max' => 250,
215
+ ],
216
+ ],
217
+ 'selectors' => [
218
+ '{{WRAPPER}} .ha-skill--outside' => 'height: {{SIZE}}{{UNIT}};',
219
+ '{{WRAPPER}} .ha-skill--inside' => 'height: {{SIZE}}{{UNIT}};',
220
+ ],
221
+ ]
222
+ );
223
+
224
+ $this->add_control(
225
+ 'spacing',
226
+ [
227
+ 'label' => __( 'Spacing Between', 'happy-elementor-addons' ),
228
+ 'type' => Controls_Manager::SLIDER,
229
+ 'size_units' => [ 'px' ],
230
+ 'range' => [
231
+ 'px' => [
232
+ 'min' => 0,
233
+ 'max' => 250,
234
+ ],
235
+ ],
236
+ 'selectors' => [
237
+ '{{WRAPPER}} .ha-skill--outside' => 'margin-top: {{SIZE}}{{UNIT}};',
238
+ '{{WRAPPER}} .ha-skill--inside:not(:first-child)' => 'margin-top: {{SIZE}}{{UNIT}};',
239
+ ],
240
+ ]
241
+ );
242
+
243
+ $this->add_control(
244
+ 'border_radius',
245
+ [
246
+ 'label' => __( 'Border Radius', 'happy-elementor-addons' ),
247
+ 'type' => Controls_Manager::DIMENSIONS,
248
+ 'size_units' => [ 'px', '%' ],
249
+ 'selectors' => [
250
+ '{{WRAPPER}} .ha-skill, {{WRAPPER}} .ha-skill-level' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
251
+ ],
252
+ ]
253
+ );
254
+
255
+ $this->add_group_control(
256
+ Group_Control_Box_Shadow::get_type(),
257
+ [
258
+ 'name' => 'box_shadow',
259
+ 'exclude' => [
260
+ 'box_shadow_position',
261
+ ],
262
+ 'selector' => '{{WRAPPER}} .ha-skill'
263
+ ]
264
+ );
265
+
266
+ $this->end_controls_section();
267
+
268
+ $this->start_controls_section(
269
+ '_section_content',
270
+ [
271
+ 'label' => __( 'Content', 'happy-elementor-addons' ),
272
+ 'tab' => Controls_Manager::TAB_STYLE,
273
+ ]
274
+ );
275
+
276
+ $this->add_control(
277
+ 'color',
278
+ [
279
+ 'label' => __( 'Text Color', 'happy-elementor-addons' ),
280
+ 'type' => Controls_Manager::COLOR,
281
+ 'selectors' => [
282
+ '{{WRAPPER}} .ha-skill-info' => 'color: {{VALUE}};',
283
+ ],
284
+ ]
285
+ );
286
+
287
+ $this->add_control(
288
+ 'level_color',
289
+ [
290
+ 'label' => __( 'Level Color', 'happy-elementor-addons' ),
291
+ 'type' => Controls_Manager::COLOR,
292
+ 'selectors' => [
293
+ '{{WRAPPER}} .ha-skill-level' => 'background-color: {{VALUE}};',
294
+ ],
295
+ ]
296
+ );
297
+
298
+ $this->add_control(
299
+ 'base_color',
300
+ [
301
+ 'label' => __( 'Base Color', 'happy-elementor-addons' ),
302
+ 'type' => Controls_Manager::COLOR,
303
+ 'selectors' => [
304
+ '{{WRAPPER}} .ha-skill' => 'background-color: {{VALUE}};',
305
+ ],
306
+ ]
307
+ );
308
+
309
+ $this->add_group_control(
310
+ Group_Control_Typography::get_type(),
311
+ [
312
+ 'name' => 'info_typography',
313
+ 'selector' => '{{WRAPPER}} .ha-skill-info',
314
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
315
+ ]
316
+ );
317
+
318
+ $this->add_group_control(
319
+ Group_Control_Text_Shadow::get_type(),
320
+ [
321
+ 'name' => 'info_text_shadow',
322
+ 'selector' => '{{WRAPPER}} .ha-skill-info',
323
+ ]
324
+ );
325
+ }
326
+
327
+ protected function render() {
328
+ $settings = $this->get_settings_for_display();
329
+
330
+ if ( ! is_array( $settings['skills'] ) ) {
331
+ return;
332
+ }
333
+
334
+ foreach ( $settings['skills'] as $index => $skill ) :
335
+ $name_key = $this->get_repeater_setting_key( 'name', 'bars', $index );
336
+ $this->add_inline_editing_attributes( $name_key, 'none' );
337
+ $this->add_render_attribute( $name_key, 'class', 'ha-skill-name' );
338
+ ?>
339
+ <div class="ha-skill ha-skill--<?php echo esc_attr( $settings['view'] ); ?> elementor-repeater-item-<?php echo $skill['_id']; ?>">
340
+ <div class="ha-skill-level" data-level="<?php echo esc_attr( $skill['level']['size'] ); ?>">
341
+ <div class="ha-skill-info"><span <?php echo $this->get_render_attribute_string( $name_key ); ?>><?php echo esc_html( $skill['name'] ); ?></span><span class="ha-skill-level-text"></span></div>
342
+ </div>
343
+ </div>
344
+ <?php
345
+ endforeach;
346
+ }
347
+
348
+ protected function _content_template() {
349
+ ?>
350
+ <#
351
+ if (_.isArray(settings.skills)) {
352
+ _.each(settings.skills, function(skill, index) {
353
+ var nameKey = view.getRepeaterSettingKey( 'name', 'skills', index);
354
+ view.addInlineEditingAttributes( nameKey, 'none' );
355
+ view.addRenderAttribute( nameKey, 'class', 'ha-skill-name' );
356
+ #>
357
+ <div class="ha-skill ha-skill--{{settings.view}} elementor-repeater-item-{{skill._id}}">
358
+ <div class="ha-skill-level" data-level="{{skill.level.size}}">
359
+ <div class="ha-skill-info"><span {{{view.getRenderAttributeString( nameKey )}}}>{{skill.name}}</span><span class="ha-skill-level-text"></span></div>
360
+ </div>
361
+ </div>
362
+ <# });
363
+ } #>
364
+ <?php
365
+ }
366
+ }