PageSourceSearch

https://learntechglobal.com/wp-content/themes/consultio/assets/js/main.js?ver=3.2.6

js learntechglobal.com collected 2026-10-09 17:34:39 UTC 52,055 bytes, 1,345 lines download raw bytes

1(function ($) {
2    ("use strict");
3
4    /* ===================
5     Page reload
6     ===================== */
7    var scroll_top;
8    var window_height;
9    var window_width;
10    var scroll_status = "";
11    var lastScrollTop = 0;
12    $(window).on("load", function () {
13        $(".ct-loader").fadeOut("slow");
14        window_width = $(window).width();
15        consultio_col_offset();
16        consultio_col_offset_new();
17        consultio_col_offset_1290();
18        consultio_header_sticky();
19        consultio_scroll_to_top();
20        consultio_quantity_icon();
21        consultio_wow_init();
22        consultio_mouse_move();
23        consultio_header_offset();
24        consultio_footer_fixed();
25        consultio_portfolio_ex();
26        //consultio_header_mobile();
27    });
28    $(window).on("resize", function () {
29        window_width = $(window).width();
30        consultio_col_offset();
31        consultio_col_offset_new();
32        consultio_col_offset_1290();
33        consultio_header_offset();
34        consultio_footer_fixed();
35        consultio_portfolio_ex();
36        //consultio_header_mobile();
37    });
38
39    $(window).on("scroll", function () {
40        scroll_top = $(window).scrollTop();
41        window_height = $(window).height();
42        window_width = $(window).width();
43        if (scroll_top < lastScrollTop) {
44            scroll_status = "up";
45        } else {
46            scroll_status = "down";
47        }
48        lastScrollTop = scroll_top;
49        consultio_header_sticky();
50        consultio_scroll_to_top();
51    });
52
53    $(document).on("click", ".h-btn-search, .ct-search-popup", function () {
54        $(".ct-modal-search").addClass("open");
55        $("body").addClass("ov-hidden");
56        setTimeout(function () {
57            $(".ct-modal-search .search-field").focus();
58        }, 1000);
59    });
60
61    $(document).ready(function () {
62        /* =================
63         Menu Dropdown
64         =================== */
65        var $menu = $(".ct-main-navigation");
66        $menu.find(".ct-main-menu li").each(function () {
67            var $submenu = $(this).find("> ul.sub-menu, > .children");
68            if ($submenu.length == 1) {
69                $(this).hover(
70                    function () {
71                        if (
72                            $submenu.offset().left + $submenu.width() >
73                            $(window).width()
74                        ) {
75                            $submenu.addClass("back");
76                        } else if ($submenu.offset().left < 0) {
77                            $submenu.addClass("back");
78                        }
79                    },
80                    function () {
81                        $submenu.removeClass("back");
82                    }
83                );
84            }
85        });
86
87        /* Read More Button Mouse Follow */
88        var mouseX = 0,
89            mouseY = 0;
90        var buttonX = 0,
91            buttonY = 0;
92        var isHovering = false;
93        var isFadingOut = false;
94        var smoothFactor = 0.08;
95        var animationFrameId = null;
96        var fadeOpacity = 1;
97        var currentItem = null;
98
99        function updateButtonPosition() {
100            if (!isHovering && !isFadingOut) return;
101            if (!currentItem) return;
102
103            buttonX += (mouseX - buttonX) * smoothFactor;
104            buttonY += (mouseY - buttonY) * smoothFactor;
105
106            if (isFadingOut) {
107                fadeOpacity -= 0.08;
108
109                if (fadeOpacity <= 0) {
110                    $(currentItem)
111                        .find(".read-more.fading-out")
112                        .removeClass("active fading-out");
113                    isFadingOut = false;
114                    fadeOpacity = 1;
115                    currentItem = null;
116
117                    if (animationFrameId) {
118                        cancelAnimationFrame(animationFrameId);
119                        animationFrameId = null;
120                    }
121
122                    return;
123                }
124
125                $(currentItem).find(".read-more.fading-out").css({
126                    opacity: fadeOpacity,
127                });
128            }
129
130            $(currentItem)
131                .find(".read-more.active, .read-more.fading-out")
132                .css({
133                    left: buttonX + "px",
134                    top: buttonY + "px",
135                    transform: "translate(-50%, -50%)",
136                });
137
138            animationFrameId = requestAnimationFrame(updateButtonPosition);
139        }
140
141        $(".ct-portfolio-grid7 .item--featured").on("mousemove", function (e) {
142            if (currentItem !== this) return;
143
144            var $container = $(this);
145            mouseX = e.pageX - $container.offset().left;
146            mouseY = e.pageY - $container.offset().top;
147        });
148
149        $(".ct-portfolio-grid7 .item--featured").on("mouseenter", function (e) {
150            $(".ct-portfolio-grid7 .item--featured .read-more")
151                .removeClass("active fading-out")
152                .css("opacity", 0);
153
154            var $container = $(this);
155            var $readMore = $container.find(".read-more");
156
157            currentItem = this;
158
159            mouseX = e.pageX - $container.offset().left;
160            mouseY = e.pageY - $container.offset().top;
161
162            buttonX = mouseX;
163            buttonY = mouseY;
164
165            $readMore.css({
166                left: buttonX + "px",
167                top: buttonY + "px",
168                opacity: 1,
169            });
170
171            $readMore.addClass("active");
172
173            isHovering = true;
174            isFadingOut = false;
175
176            if (animationFrameId) {
177                cancelAnimationFrame(animationFrameId);
178            }
179
180            animationFrameId = requestAnimationFrame(updateButtonPosition);
181        });
182
183        $(".ct-portfolio-grid7 .item--featured").on("mouseleave", function () {
184            if (currentItem !== this) return;
185
186            var $readMore = $(this).find(".read-more");
187
188            if ($readMore.hasClass("active")) {
189                $readMore.removeClass("active").addClass("fading-out");
190                isFadingOut = true;
191                fadeOpacity = 1;
192
193                isHovering = false;
194
195                if (!animationFrameId) {
196                    animationFrameId =
197                        requestAnimationFrame(updateButtonPosition);
198                }
199            }
200        });
201
202        $(".show-demos").on("click", function (e) {
203            e.preventDefault();
204            $(this).parents("body").find(".ct-demo-bar").toggleClass("active");
205        });
206
207        /* Menu Click */
208        $(".ct-main-menu.sub-click > li > a").on("click", function () {
209            $(this).parent().toggleClass("opened");
210        });
211
212        $("body").on("click", ".ct-main-menu.sub-click > li > a", function () {
213            return false;
214        });
215
216        /* Main Header */
217        $(".ct-header-fixed-transparent")
218            .parents(".ct-header-elementor-main")
219            .addClass("ct-header-fixed-transparent-wrap");
220
221        /* Menu Popup */
222        $(".elementor-popup-menu li.menu-item-has-children > a").append(
223            '<span class="pxl-arrow-toggle">+</span>'
224        );
225        $(".elementor-popup-menu li.menu-item-has-children > a").on(
226            "click",
227            function (e) {
228                e.preventDefault();
229                if ($(this).hasClass("active")) {
230                    $(this).next().toggleClass("active").slideToggle();
231                } else {
232                    $(this)
233                        .closest("ul")
234                        .find(".sub-menu.active")
235                        .toggleClass("active")
236                        .slideToggle();
237                    $(this)
238                        .closest("ul")
239                        .find("a.active")
240                        .toggleClass("active");
241                    $(this)
242                        .find(".pxl-menu-toggle.active")
243                        .toggleClass("active");
244                    $(this).toggleClass("active");
245                    $(this).next().toggleClass("active").slideToggle();
246                }
247            }
248        );
249
250        /* =================
251         Menu Mobile
252         =================== */
253        $(".ct-main-navigation li.menu-item-has-children").append(
254            '<span class="ct-menu-toggle far fac-angle-right"></span>'
255        );
256        $(".ct-menu-toggle").on("click", function () {
257            $(this).toggleClass("toggle-open");
258            $(this)
259                .parent()
260                .find("> .sub-menu, > .children")
261                .toggleClass("submenu-open");
262            $(this).parent().find("> .sub-menu, > .children").slideToggle();
263        });
264
265        $(".ct-main-menu li a.is-one-page").on("click", function () {
266            $(this)
267                .parents(".ct-header-navigation")
268                .removeClass("navigation-open");
269            $(this)
270                .parents(".ct-header-main")
271                .find(".btn-nav-mobile")
272                .removeClass("opened");
273        });
274
275        /*if ($(window).width() < 1199) {
276            $('.ct-main-menu li.menu-item-has-children > a').on("click", function (e) {
277                e.preventDefault();
278                $(this).parent().find('> .sub-menu, > .children').toggleClass('submenu-open');
279                $(this).parent().find('> .sub-menu, > .children').slideToggle();
280                $(this).parent().find('> .ct-menu-toggle').toggleClass('toggle-open');
281            });
282        }*/
283
284        /* =================
285         Menu Popup
286         =================== */
287        $(".ct-main-menu-popup li.menu-item-has-children > a").after(
288            '<span class="ct-menu-toggle"></span>'
289        );
290        $(".ct-main-menu-popup .ct-menu-toggle").on("click", function () {
291            $(this).toggleClass("toggle-open");
292            $(this)
293                .parent()
294                .find("> .sub-menu, > .children")
295                .toggleClass("submenu-open");
296            $(this).parent().find("> .sub-menu, > .children").slideToggle();
297        });
298        $(".ct-menu-popup").on("click", function () {
299            $("body").addClass("ov-hidden");
300            $(this)
301                .parents("body")
302                .find(".ct-header-popup-wrap")
303                .toggleClass("open");
304        });
305        $(".ct-menu-close, .ct-header-popup-menu a.is-one-page").on(
306            "click",
307            function () {
308                $("body").removeClass("ov-hidden");
309                $(this)
310                    .parents("body")
311                    .find(".ct-header-popup-wrap")
312                    .toggleClass("open");
313            }
314        );
315
316        $("#ct-menu-mobile .open-menu").on("click", function () {
317            $(this).toggleClass("opened");
318            $(".ct-header-navigation").toggleClass("navigation-open");
319        });
320
321        $(".ct-menu-close").on("click", function () {
322            $(this)
323                .parents(".header-navigation")
324                .removeClass("navigation-open");
325            $(".ct-menu-overlay").removeClass("active");
326            $("#ct-menu-mobile .open-menu").removeClass("opened");
327            $("body").removeClass("ov-hidden");
328        });
329
330        $(".ct-menu-overlay").on("click", function () {
331            $(this)
332                .parents("#header-main")
333                .find(".header-navigation")
334                .removeClass("navigation-open");
335            $(this).removeClass("active");
336            $("#ct-menu-mobile .open-menu").removeClass("opened");
337            $(".header-navigation").removeClass("navigation-open");
338            $("body").removeClass("ov-hidden");
339        });
340
341        $(".ct-header-menu-popup").on("click", function () {
342            $(this)
343                .parents("body")
344                .find(".ct-header-elementor-popup")
345                .toggleClass("open");
346        });
347
348        /* ===================
349         Search Toggle
350         ===================== */
351        $(".h-btn-form").click(function (e) {
352            e.preventDefault();
353            $(".ct-modal-contact-form")
354                .removeClass("remove")
355                .toggleClass("open");
356        });
357        $(".ct-close").click(function (e) {
358            e.preventDefault();
359            $(this).parents(".ct-header-elementor-popup").removeClass("open");
360            $(this).parents(".ct-widget-cart-wrap").removeClass("open");
361            $(this).parents(".ct-modal").addClass("remove").removeClass("open");
362            $(this).parents("#page").find(".site-overlay").removeClass("open");
363            $(this).parents("body").removeClass("ov-hidden");
364        });
365
366        $(".ct-hidden-sidebar-overlay, .ct-widget-cart-overlay").click(
367            function (e) {
368                e.preventDefault();
369                $(this).parent().toggleClass("open");
370                $(this).parents("body").removeClass("ov-hidden");
371            }
372        );
373
374        /* Video 16:9 */
375        $(".entry-video iframe").each(function () {
376            var v_width = $(this).width();
377
378            v_width = v_width / (16 / 9);
379            $(this).attr("height", v_width + 35);
380        });
381
382        /* Video Light Box */
383        $(".ct-video-button, .btn-video, .slider-video").magnificPopup({
384            type: "iframe",
385            mainClass: "mfp-fade",
386            removalDelay: 160,
387            preloader: false,
388            fixedContentPos: false,
389        });
390
391        $(".ct-service-grid1").magnificPopup({
392            delegate: "a.z-view",
393            type: "inline",
394            gallery: {
395                enabled: false,
396            },
397            mainClass: "mfp-fade mfp-menu",
398        });
399
400        /* ====================
401         Scroll To Top
402         ====================== */
403        $(".scroll-top, .scroll-top i, .ct-wg-backtotop-inner").click(
404            function () {
405                $("html").addClass("pxl-onepage-wrap");
406                $("html, body").animate({ scrollTop: 0 }, 800);
407                return false;
408            }
409        );
410        $(".ct-wg-backtotop-inner").parents("body").find(".scroll-top").hide();
411
412        /* =================
413        Add Class
414        =================== */
415        $(".wpcf7-select").parent().addClass("wpcf7-menu");
416
417        /* =================
418         The clicked item should be in center in owl carousel
419         =================== */
420        var $owl_item = $(".owl-active-click");
421        $owl_item.children().each(function (index) {
422            $(this).attr("data-position", index);
423        });
424        $(document).on(
425            "click",
426            ".owl-active-click .owl-item > div",
427            function () {
428                $owl_item.trigger("to.owl.carousel", $(this).data("position"));
429            }
430        );
431
432        /* Select */
433        $(
434            'select:not([id*="ui-id-"]):not(#billing_country):not(#shipping_country):not(#billing_state):not(.gt_selector):not(.wpforms-form)'
435        ).each(function () {
436            $(this).niceSelect();
437        });
438
439        setTimeout(function () {
440            $(".nice-select").on("click", function () {
441                $(this).find(".list").toggleClass("open");
442            });
443        }, 300);
444
445        /* Newsletter */
446        $(
447            ".widget_newsletterwidget, form.newsletter, form.tnp-subscription"
448        ).each(function () {
449            var email_text = $(this).find(".tnp-field-email label").text();
450            $(this).find(".tnp-field-email label").remove();
451            $(this)
452                .find(".tnp-email")
453                .each(function (ev) {
454                    if (!$(this).val()) {
455                        $(this).attr("placeholder", email_text);
456                    }
457                });
458            var firstname_text = $(this)
459                .find(".tnp-field-firstname label")
460                .text();
461            $(this).find(".tnp-field-firstname label").remove();
462            $(this)
463                .find(".tnp-firstname")
464                .each(function (ev) {
465                    if (!$(this).val()) {
466                        $(this).attr("placeholder", firstname_text);
467                    }
468                });
469            var lastname_text = $(this)
470                .find(".tnp-field-lastname label")
471                .text();
472            $(this).find(".tnp-field-lastname label").remove();
473            $(this)
474                .find(".tnp-lastname")
475                .each(function (ev) {
476                    if (!$(this).val()) {
477                        $(this).attr("placeholder", lastname_text);
478                    }
479                });
480        });
481
482        /* bbPress */
483        $(".bbp-search-form").each(function () {
484            var search_text = "Search...";
485            $(this)
486                .find("#bbp_search")
487                .each(function (ev) {
488                    if (!$(this).val()) {
489                        $(this).attr("placeholder", search_text);
490                    }
491                });
492        });
493
494        /* Search */
495        $(".ct-modal-close").on("click", function () {
496            $(this).parent().removeClass("open");
497            $(this).parents("body").removeClass("ov-hidden");
498        });
499        $(document).on("click", function (e) {
500            if (e.target.className == "ct-modal ct-modal-search open")
501                $(".ct-modal-search").removeClass("open");
502            if (e.target.className == "ct-hidden-sidebar open")
503                $(".ct-hidden-sidebar").removeClass("open");
504        });
505
506        /* Hidden Sidebar */
507        $(".h-btn-sidebar").on("click", function (e) {
508            e.preventDefault();
509            $(".ct-hidden-sidebar-wrap").toggleClass("open");
510            $(this).parents("body").addClass("ov-hidden");
511        });
512
513        $(".ct-hidden-close").on("click", function (e) {
514            e.preventDefault();
515            $(this).parents(".ct-hidden-sidebar-wrap").removeClass("open");
516            $(this).parents("body").removeClass("ov-hidden");
517        });
518
519        /* Cart Sidebar */
520        $(".h-btn-cart, .btn-nav-cart, .ct-cart-bar").on("click", function (e) {
521            e.preventDefault();
522            $(".ct-widget-cart-wrap").toggleClass("open");
523            $(".ct-header-navigation").removeClass("navigation-open");
524            $("#ct-menu-mobile .open-menu").removeClass("opened");
525            $(this).parents("body").addClass("ov-hidden");
526        });
527
528        /* Year Copyright */
529        var _year_footer = $(".ct-footer-year"),
530            _year_clone = _year_footer.parents(".site").find(".ct-year");
531        _year_clone.after(_year_footer.clone());
532        _year_footer.remove();
533        _year_clone.remove();
534
535        /* Comment Reply */
536        $(".comment-reply a").append('<i class="fa fa-angle-right"></i>');
537
538        /* Widget Menu */
539        $(".ct-navigation-menu1.default a").append(
540            '<i class="fac fac-angle-right"></i>'
541        );
542
543        /* Nav Slider */
544        setTimeout(function () {
545            $(".revslider-initialised").each(function () {
546                $(this)
547                    .find(".ct-slider-nav .slider-nav-right")
548                    .on("click", function () {
549                        $(this)
550                            .parents(".revslider-initialised")
551                            .find(".tp-rightarrow")
552                            .trigger("click");
553                    });
554                $(this)
555                    .find(".ct-slider-nav .slider-nav-left")
556                    .on("click", function () {
557                        $(this)
558                            .parents(".revslider-initialised")
559                            .find(".tp-leftarrow")
560                            .trigger("click");
561                    });
562            });
563            $(".ct-slider-nav")
564                .parents(".revslider-initialised")
565                .find(".tparrows")
566                .addClass("arrow-hidden");
567        }, 300);
568
569        /* Icon Form */
570        setTimeout(function () {
571            $(".input-filled").each(function () {
572                var icon_input = $(this).find(".input-icon"),
573                    control_wrap = $(this).find(".wpcf7-form-control");
574                control_wrap.before(icon_input.clone());
575                icon_input.remove();
576            });
577        }, 200);
578
579        /* Image Pointer */
580        $(".ct-pointer-item").each(function () {
581            $(this)
582                .find(".ct-pointer-btn")
583                .on("click", function () {
584                    $(this).toggleClass("open");
585                    $(this)
586                        .parents(".elementor-widget-wrap")
587                        .find(".ct-pointer-item .ct-pointer-btn")
588                        .removeClass("open");
589                    $(this).addClass("open");
590                });
591        });
592
593        /* Blog */
594        $(
595            ".ct-blog-grid-layout1 .grid-item-inner, .ct-blog-carousel-layout1 .grid-item-inner"
596        ).hover(
597            function () {
598                $(this).find(".entry-readmore").slideToggle(300);
599                $(this).find(".entry-meta").slideToggle(300);
600            },
601            function () {
602                $(this).find(".entry-readmore").slideToggle(300);
603                $(this).find(".entry-meta").slideToggle(300);
604            }
605        );
606
607        /* FancyBox */
608        $(".ct-fancy-box-layout18").hover(
609            function () {
610                $(this).find(".item--button").slideToggle(300);
611                $(this).find(".item--description").slideToggle(300);
612            },
613            function () {
614                $(this).find(".item--button").slideToggle(300);
615                $(this).find(".item--description").slideToggle(300);
616            }
617        );
618
619        /* Team */
620        $(
621            ".ct-team-carousel1 .item--inner, .ct-team-carousel2 .item--inner, .ct-team-grid4 .item--inner"
622        ).hover(
623            function () {
624                $(this).find(".item--social").slideToggle(300);
625            },
626            function () {
627                $(this).find(".item--social").slideToggle(300);
628            }
629        );
630
631        $(".ct-team-carousel6 .item--inner, .ct-team-grid6 .item--inner").hover(
632            function () {
633                $(this).find(".item--meta").slideToggle(200);
634            },
635            function () {
636                $(this).find(".item--meta").slideToggle(200);
637            }
638        );
639
640        $(".social-button").on("click", function () {
641            $(this).parent().toggleClass("active");
642        });
643
644        /* Service */
645        $(".ct-service-grid6 .grid-item-inner").hover(
646            function () {
647                $(this).find(".item-readmore").slideToggle(300);
648            },
649            function () {
650                $(this).find(".item-readmore").slideToggle(300);
651            }
652        );
653
654        $(".ct-service-grid7 .grid-item-inner").hover(
655            function () {
656                $(this).find(".item--desc").slideToggle(300);
657            },
658            function () {
659                $(this).find(".item--desc").slideToggle(300);
660            }
661        );
662
663        $(".ct-service-grid10 .grid-item-inner").hover(
664            function () {
665                $(this).find(".item--readmore").slideToggle(300);
666            },
667            function () {
668                $(this).find(".item--readmore").slideToggle(300);
669            }
670        );
671
672        /* Fancy Box Grid */
673        $(".ct-fancy-box-grid1").each(function () {
674            $(this)
675                .find(".item--inner")
676                .hover(function () {
677                    $(this)
678                        .parents(".elementor-element")
679                        .find(".item--inner")
680                        .removeClass("active");
681                    $(this).addClass("active");
682                });
683        });
684
685        $(".ct-fancy-box-layout9").each(function () {
686            $(this).hover(function () {
687                $(this)
688                    .parents(".elementor-row")
689                    .find(".ct-fancy-box-layout9")
690                    .removeClass("active");
691                $(this)
692                    .parents(".elementor-container")
693                    .find(".ct-fancy-box-layout9")
694                    .removeClass("active");
695                $(this).addClass("active");
696            });
697        });
698
699        /* Same Height */
700        $(".ct-fancy-box-grid1 .item--inner").matchHeight();
701        $(".ct-feature-layout1").matchHeight();
702        $(".ct-fancy-box-layout4").matchHeight();
703        $(".ct-fancy-box-layout5 .ct-fancy-box-inner").matchHeight();
704        $(".ct-fancy-box-layout1.style4").matchHeight();
705        $(".ct-testimonial-carousel3 .item--description").matchHeight();
706
707        $(".same-height").matchHeight();
708        $(".ct-fancy-box-layout14").matchHeight();
709        $(".ct-service-grid3 .grid-item-holder").matchHeight();
710        $(".ct-service-grid5 .grid-item-inner").matchHeight();
711
712        /* Demo Bar */
713        $(".choose-demo, .ct-demo-bar-close").on("click", function () {
714            $(this).parents(".ct-demo-bar").toggleClass("active");
715        });
716
717        /* Animate Time */
718        $(".animate-time").each(function () {
719            var eltime = 100;
720            var elt_inner = $(this).children().length;
721            var _elt = elt_inner - 1;
722            $(this)
723                .find("> .grid-item > .wow")
724                .each(function (index, obj) {
725                    $(this).css("animation-delay", eltime + "ms");
726                    if (_elt === index) {
727                        eltime = 100;
728                        _elt = _elt + elt_inner;
729                    } else {
730                        eltime = eltime + 80;
731                    }
732                });
733        });
734
735        /* Overlay particle */
736        setTimeout(function () {
737            $(".elementor-top-section").each(function () {
738                var _el_bg_animate = $(this).find(".ct-background-animate"),
739                    _row_bg_animate = _el_bg_animate.parents(
740                        ".elementor-container"
741                    );
742                _row_bg_animate.before(_el_bg_animate.clone());
743                _el_bg_animate.remove();
744
745                var _el_text = $(this).find(".ct-text"),
746                    _row_text = _el_text.parents(".elementor-container");
747                _row_text.before(_el_text.clone());
748                _el_text.remove();
749            });
750        }, 200);
751
752        $(".h9-section-01 > .elementor-container").after(
753            '<div class="h9-section-gradient"></div>'
754        );
755        $(".h9-section-02 > .elementor-container").after(
756            '<div class="h9-section-overlay"></div>'
757        );
758
759        $(".h9-section-one > .elementor-container").after(
760            '<div class="h9-section-gradient"></div>'
761        );
762
763        /* Team */
764        $(".item--social-btn").on("click", function () {
765            $(this).toggleClass("active");
766            $(this).parent().toggleClass("active");
767        });
768
769        /* Range Slider */
770        $(".wpcf7-form").each(function () {
771            var range = $(this).find(".ct-range-slider");
772            var range_value = $(this)
773                .find(".ct-range-slider")
774                .attr("data-value");
775            var range_maxvalue = $(this)
776                .find(".ct-range-slider")
777                .attr("data-maxvalue");
778            var range_currency = $(this)
779                .find(".ct-range-slider")
780                .attr("data-currency");
781            $(this)
782                .find(".ct-range-slider")
783                .slider({
784                    range: "min",
785                    value: range_value,
786                    min: 1,
787                    max: range_maxvalue,
788                    slide: function (event, ui) {
789                        $(this)
790                            .parent()
791                            .find(".ct-range-result")
792                            .val(range_currency + ui.value);
793                    },
794                });
795            $(this)
796                .find(".ct-range-result")
797                .val(
798                    range_currency +
799                        $(this).find(".ct-range-slider").slider("value")
800                );
801        });
802
803        /* Slider Revolution */
804        $(".ct-slider-arrow")
805            .parents(".elementor-widget-slider_revolution")
806            .addClass("hide-arrow");
807
808        /* Cover Boxes */
809        $(
810            "body:not(.elementor-editor-active) .ct-cover-boxes1 .ct-cover-item"
811        ).each(function () {
812            $(this).hover(function () {
813                $(this)
814                    .parents(".ct-cover-boxes1")
815                    .find(".ct-cover-item")
816                    .removeClass("active");
817                $(this).addClass("active");
818            });
819        });
820
821        /* Counter Column */
822        $(".counter-col-line1").append('<span class="counter-line"></span>');
823
824        /* Pricing */
825        $(".ct-pricing-tab-active .ct-pricing-tab-item").on(
826            "click",
827            function () {
828                $(this)
829                    .parent()
830                    .find(".ct-pricing-tab-item")
831                    .removeClass("active");
832                $(this).addClass("active");
833            }
834        );
835        $(".ct-pricing-tab-active .title-tab-monthly").on("click", function () {
836            $(this)
837                .parents(".ct-pricing-multi")
838                .find(".ct-pricing-monthly")
839                .removeClass("ct-pricing-hide");
840            $(this)
841                .parents(".ct-pricing-multi")
842                .find(".ct-pricing-year")
843                .addClass("ct-pricing-hide");
844        });
845        $(".ct-pricing-tab-active .title-tab-year").on("click", function () {
846            $(this)
847                .parents(".ct-pricing-multi")
848                .find(".ct-pricing-year")
849                .removeClass("ct-pricing-hide");
850            $(this)
851                .parents(".ct-pricing-multi")
852                .find(".ct-pricing-monthly")
853                .addClass("ct-pricing-hide");
854        });
855
856        $(".case-animate-time > span").each(function () {
857            var eltime = 0;
858            var elt_inner = $(this).children().length;
859            var _elt = elt_inner - 1;
860            $(this)
861                .find("> .slide-in-container > .wow")
862                .each(function (index, obj) {
863                    $(this).css("transition-delay", eltime + "ms");
864                    if (_elt === index) {
865                        eltime = 0;
866                        _elt = _elt + elt_inner;
867                    } else {
868                        eltime = eltime + 100;
869                    }
870                });
871        });
872
873        /* Header Elementor */
874        $(".ct-header-elementor-sticky")
875            .parents("body")
876            .addClass("header-sticky");
877
878        /* GSAP Animation */
879        consultio_gsap_animation();
880    });
881
882    function consultio_header_offset() {
883        if ($("#ct-header-wrap").html() != "") {
884            var space_branding = $(".ct-header-branding").offset().left;
885            var width_branding = $(".ct-header-branding").outerWidth();
886            var offset_branding = space_branding + width_branding;
887            $(".ct-header-layout10 .ct-header-branding-bg").css(
888                "width",
889                offset_branding + "px"
890            );
891            $(".site-h10 .ct-header-offset").css(
892                "width",
893                offset_branding + "px"
894            );
895            $(".h9-section-overlay").css("left", offset_branding + "px");
896
897            $(
898                ".h9-section-03 > .elementor-container.elementor-column-gap-no > .elementor-row > .elementor-element:nth-child(1)"
899            ).css("max-width", offset_branding + "px");
900            $(
901                ".h9-section-03 > .elementor-container.elementor-column-gap-no > .elementor-row > .elementor-element:nth-child(1)"
902            ).css("min-width", offset_branding + "px");
903
904            $(
905                ".h9-section-03 > .elementor-container.elementor-column-gap-no > .elementor-element:nth-child(1)"
906            ).css("max-width", offset_branding + "px");
907            $(
908                ".h9-section-03 > .elementor-container.elementor-column-gap-no > .elementor-element:nth-child(1)"
909            ).css("min-width", offset_branding + "px");
910
911            $(
912                ".h9-section-03 > .elementor-container.elementor-column-gap-no > .elementor-element:nth-child(1)"
913            ).css("max-width", offset_branding + "px");
914            $(
915                ".h9-section-03 > .elementor-container.elementor-column-gap-no > .elementor-element:nth-child(1)"
916            ).css("min-width", offset_branding + "px");
917
918            $(".h9-section-gradient").css("width", offset_branding + "px");
919        }
920    }
921
922    function consultio_header_sticky() {
923        var offsetTop = $("#ct-header-wrap").outerHeight();
924        var h_header = $(".fixed-height").outerHeight();
925        var offsetTopAnimation = offsetTop + 200;
926        var offsetTopHide = offsetTop + 400;
927        if ($("#ct-header-wrap").hasClass("is-sticky")) {
928            if (scroll_top > offsetTopAnimation) {
929                $("#ct-header").addClass("h-fixed");
930            } else {
931                $("#ct-header").removeClass("h-fixed");
932            }
933            if (scroll_status == "up" && scroll_top > 0) {
934                $("#ct-header").addClass("scroll-up");
935            } else {
936                $("#ct-header").removeClass("scroll-up");
937            }
938            if (scroll_status == "up" && scroll_top < offsetTopHide) {
939                $("#ct-header").addClass("h-fixed-hide");
940            }
941            if (scroll_status == "up" && scroll_top < offsetTopAnimation) {
942                $("#ct-header").removeClass("h-fixed-hide");
943            }
944        }
945
946        var h_header_slider = $(".ct-header-slider").outerHeight();
947        if ($("#ct-header-wrap").hasClass("is-sticky-offset")) {
948            if (scroll_top > h_header_slider) {
949                $("#ct-header").addClass("h-fixed");
950                $("#ct-header-wrap").addClass("is-sticky-active");
951            } else {
952                $("#ct-header").removeClass("h-fixed");
953                $("#ct-header-wrap").removeClass("is-sticky-active");
954            }
955            if (scroll_top > 200) {
956                $("#ct-header-wrap").removeClass("sub-show-top");
957            }
958            if (scroll_top == 0) {
959                $("#ct-header-wrap").addClass("sub-show-top");
960            }
961        }
962
963        if (window_width > 1200) {
964            $(".fixed-height").css({
965                height: h_header,
966            });
967        }
968
969        /* Header Elementor */
970        var e_offsetTop = $("#ct-header-elementor").outerHeight();
971        if ($("#ct-header-elementor").hasClass("is-sticky")) {
972            if (scroll_top > e_offsetTop) {
973                $(".ct-header-elementor-sticky").addClass("h-fixed");
974            } else {
975                $(".ct-header-elementor-sticky").removeClass("h-fixed");
976            }
977        }
978
979        /* Iamge Scale  */
980        $(".ct-image-single.img-hover-scale")
981            .parents(".elementor-widget-ct_image")
982            .addClass("pxl-img-hover-scale");
983    }
984
985    /*function consultio_header_mobile() {
986        var h_header = $('.fixed-height').outerHeight();
987        if (window_width < 1199) {
988            $('.fixed-height').css({
989                'height': h_header
990            });
991        }
992    }*/
993
994    /* =================
995     Column Offset
996     =================== */
997    function consultio_col_offset() {
998        setTimeout(function () {
999            var w_vc_row_lg_medium = ($("#content").width() - 1200) / 2;
1000            var w_vc_row_lg_full_medium =
1001                ($(
1002                    "#content section.elementor-element section.elementor-element"
1003                ).width() -
1004                    1200) /
1005                2;
1006            if (window_width > 1200) {
1007                $("body:not(.rtl) .col-offset-left")
1008                    .parents(".elementor-container")
1009                    .css("padding-left", w_vc_row_lg_medium + "px");
1010                $("body:not(.rtl) .col-offset-right")
1011                    .parents(".elementor-container")
1012                    .css("padding-right", w_vc_row_lg_medium + "px");
1013
1014                $(".rtl .col-offset-left")
1015                    .parents(".elementor-container")
1016                    .css("padding-right", w_vc_row_lg_medium + "px");
1017                $(".rtl .col-offset-right")
1018                    .parents(".elementor-container")
1019                    .css("padding-left", w_vc_row_lg_medium + "px");
1020
1021                $("body:not(.rtl) .ct-row-full-width .col-offset-left")
1022                    .parents(".elementor-container")
1023                    .css("padding-left", w_vc_row_lg_full_medium + "px");
1024                $("body:not(.rtl) .ct-row-full-width .col-offset-right")
1025                    .parents(".elementor-container")
1026                    .css("padding-right", w_vc_row_lg_full_medium + "px");
1027
1028                $(".rtl .ct-row-full-width .col-offset-left")
1029                    .parents(".elementor-container")
1030                    .css("padding-right", w_vc_row_lg_full_medium + "px");
1031                $(".rtl .ct-row-full-width .col-offset-right")
1032                    .parents(".elementor-container")
1033                    .css("padding-left", w_vc_row_lg_full_medium + "px");
1034
1035                /* Fixed somes section - demo markerting */
1036                $(
1037                    "body:not(.rtl) .h9-section-03 .col-offset-right > .elementor-column-wrap > .elementor-widget-wrap"
1038                ).css("padding-right", w_vc_row_lg_medium + "px");
1039            }
1040            /* Custom Settings */
1041            if (window_width > 1200) {
1042                $(
1043                    "body:not(.rtl) .ct-column-offset-left > .elementor-column-wrap > .elementor-widget-wrap, body:not(.rtl) .ct-column-offset-left > .elementor-widget-wrap"
1044                ).css("padding-left", w_vc_row_lg_medium + "px");
1045                $(
1046                    "body:not(.rtl) .ct-column-offset-right > .elementor-column-wrap > .elementor-widget-wrap, body:not(.rtl) .ct-column-offset-right > .elementor-widget-wrap"
1047                ).css("padding-right", w_vc_row_lg_medium + "px");
1048
1049                $(
1050                    ".rtl .ct-column-offset-left > .elementor-column-wrap > .elementor-widget-wrap, .rtl .ct-column-offset-left > .elementor-widget-wrap"
1051                ).css("padding-right", w_vc_row_lg_medium + "px");
1052                $(
1053                    ".rtl .ct-column-offset-right > .elementor-column-wrap > .elementor-widget-wrap, .rtl .ct-column-offset-right > .elementor-widget-wrap"
1054                ).css("padding-left", w_vc_row_lg_medium + "px");
1055            }
1056        }, 10);
1057    }
1058
1059    // New Column Offset
1060    function consultio_col_offset_new() {
1061        setTimeout(function () {
1062            var w_vc_row_lg_medium = ($("#content").width() - 1320) / 2;
1063            var w_vc_row_lg_full_medium =
1064                ($(
1065                    "#content section.elementor-element section.elementor-element"
1066                ).width() -
1067                    1320) /
1068                2;
1069            if (window_width > 1320) {
1070                $("body:not(.rtl) .col-offset-left-1320")
1071                    .parents(".elementor-container")
1072                    .css("padding-left", w_vc_row_lg_medium + "px");
1073                $("body:not(.rtl) .col-offset-right-1320")
1074                    .parents(".elementor-container")
1075                    .css("padding-right", w_vc_row_lg_medium + "px");
1076
1077                $(".rtl .col-offset-left-1320")
1078                    .parents(".elementor-container")
1079                    .css("padding-right", w_vc_row_lg_medium + "px");
1080                $(".rtl .col-offset-right-1320")
1081                    .parents(".elementor-container")
1082                    .css("padding-left", w_vc_row_lg_medium + "px");
1083
1084                $("body:not(.rtl) .ct-row-full-width .col-offset-left-1320")
1085                    .parents(".elementor-container")
1086                    .css("padding-left", w_vc_row_lg_full_medium + "px");
1087                $("body:not(.rtl) .ct-row-full-width .col-offset-right-1320")
1088                    .parents(".elementor-container")
1089                    .css("padding-right", w_vc_row_lg_full_medium + "px");
1090
1091                $(".rtl .ct-row-full-width .col-offset-left-1320")
1092                    .parents(".elementor-container")
1093                    .css("padding-right", w_vc_row_lg_full_medium + "px");
1094                $(".rtl .ct-row-full-width .col-offset-right-1320")
1095                    .parents(".elementor-container")
1096                    .css("padding-left", w_vc_row_lg_full_medium + "px");
1097
1098                /* Fixed somes section - demo markerting */
1099                $(
1100                    "body:not(.rtl) .h9-section-03 .col-offset-right-1320 > .elementor-column-wrap > .elementor-widget-wrap"
1101                ).css("padding-right", w_vc_row_lg_medium + "px");
1102            }
1103            /* Custom Settings */
1104            if (window_width > 1320) {
1105                $(
1106                    "body:not(.rtl) .ct-column-offset-left-1320 > .elementor-column-wrap > .elementor-widget-wrap, body:not(.rtl) .ct-column-offset-left-1320 > .elementor-widget-wrap"
1107                ).css("padding-left", w_vc_row_lg_medium + "px");
1108                $(
1109                    "body:not(.rtl) .ct-column-offset-right-1320 > .elementor-column-wrap > .elementor-widget-wrap, body:not(.rtl) .ct-column-offset-right-1320 > .elementor-widget-wrap"
1110                ).css("padding-right", w_vc_row_lg_medium + "px");
1111
1112                $(
1113                    ".rtl .ct-column-offset-left-1320 > .elementor-column-wrap > .elementor-widget-wrap, .rtl .ct-column-offset-left-1320 > .elementor-widget-wrap"
1114                ).css("padding-right", w_vc_row_lg_medium + "px");
1115                $(
1116                    ".rtl .ct-column-offset-right-1320 > .elementor-column-wrap > .elementor-widget-wrap, .rtl .ct-column-offset-right-1320 > .elementor-widget-wrap"
1117                ).css("padding-left", w_vc_row_lg_medium + "px");
1118            }
1119        }, 10);
1120    }
1121
1122    // Column Offset 1290
1123    function consultio_col_offset_1290() {
1124        setTimeout(function () {
1125            var w_vc_row_lg_medium = ($("#content").width() - 1290) / 2;
1126            var w_vc_row_lg_full_medium =
1127                ($(
1128                    "#content section.elementor-element section.elementor-element"
1129                ).width() -
1130                    1290) /
1131                2;
1132            if (window_width > 1290) {
1133                $("body:not(.rtl) .col-offset-left-1290")
1134                    .parents(".elementor-container")
1135                    .css("padding-left", w_vc_row_lg_medium + "px");
1136                $("body:not(.rtl) .col-offset-right-1290")
1137                    .parents(".elementor-container")
1138                    .css("padding-right", w_vc_row_lg_medium + "px");
1139
1140                $(".rtl .col-offset-left-1290")
1141                    .parents(".elementor-container")
1142                    .css("padding-right", w_vc_row_lg_medium + "px");
1143                $(".rtl .col-offset-right-1290")
1144                    .parents(".elementor-container")
1145                    .css("padding-left", w_vc_row_lg_medium + "px");
1146
1147                $("body:not(.rtl) .ct-row-full-width .col-offset-left-1290")
1148                    .parents(".elementor-container")
1149                    .css("padding-left", w_vc_row_lg_full_medium + "px");
1150                $("body:not(.rtl) .ct-row-full-width .col-offset-right-1290")
1151                    .parents(".elementor-container")
1152                    .css("padding-right", w_vc_row_lg_full_medium + "px");
1153
1154                $(".rtl .ct-row-full-width .col-offset-left-1290")
1155                    .parents(".elementor-container")
1156                    .css("padding-right", w_vc_row_lg_full_medium + "px");
1157                $(".rtl .ct-row-full-width .col-offset-right-1290")
1158                    .parents(".elementor-container")
1159                    .css("padding-left", w_vc_row_lg_full_medium + "px");
1160
1161                /* Fixed somes section - demo markerting */
1162                $(
1163                    "body:not(.rtl) .h9-section-03 .col-offset-right-1290 > .elementor-column-wrap > .elementor-widget-wrap"
1164                ).css("padding-right", w_vc_row_lg_medium + "px");
1165            }
1166            /* Custom Settings */
1167            if (window_width > 1290) {
1168                $(
1169                    "body:not(.rtl) .ct-column-offset-left-1290 > .elementor-column-wrap > .elementor-widget-wrap, body:not(.rtl) .ct-column-offset-left-1290 > .elementor-widget-wrap"
1170                ).css("padding-left", w_vc_row_lg_medium + "px");
1171                $(
1172                    "body:not(.rtl) .ct-column-offset-right-1290 > .elementor-column-wrap > .elementor-widget-wrap, body:not(.rtl) .ct-column-offset-right-1290 > .elementor-widget-wrap"
1173                ).css("padding-right", w_vc_row_lg_medium + "px");
1174
1175                $(
1176                    ".rtl .ct-column-offset-left-1290 > .elementor-column-wrap > .elementor-widget-wrap, .rtl .ct-column-offset-left-1290 > .elementor-widget-wrap"
1177                ).css("padding-right", w_vc_row_lg_medium + "px");
1178                $(
1179                    ".rtl .ct-column-offset-right-1290 > .elementor-column-wrap > .elementor-widget-wrap, .rtl .ct-column-offset-right-1290 > .elementor-widget-wrap"
1180                ).css("padding-left", w_vc_row_lg_medium + "px");
1181            }
1182        }, 10);
1183    }
1184
1185    /* ====================
1186     Scroll To Top
1187     ====================== */
1188    function consultio_scroll_to_top() {
1189        if (scroll_top < window_height) {
1190            $(".scroll-top").addClass("off").removeClass("on");
1191        }
1192        if (scroll_top > window_height) {
1193            $(".scroll-top").addClass("on").removeClass("off");
1194        }
1195    }
1196
1197    /* ====================
1198     WOW Animate
1199     ====================== */
1200    function consultio_wow_init() {
1201        var wow = new WOW({
1202            boxClass: "wow", // animated element css class (default is wow)
1203            animateClass: "animated", // animation css class (default is animated)
1204            offset: 0, // distance to the element when triggering the animation (default is 0)
1205            mobile: true, // trigger animations on mobile devices (default is true)
1206            live: true, // act on asynchronously loaded content (default is true)
1207            callback: function (box) {
1208                // the callback is fired every time an animation is started
1209                // the argument that is passed in is the DOM node being animated
1210            },
1211            scrollContainer: null, // optional scroll container selector, otherwise use window,
1212            resetAnimation: true, // reset animation on end (default is true)
1213        });
1214        wow.init();
1215    }
1216
1217    /* ====================
1218     Mouse Move
1219     ====================== */
1220    function consultio_mouse_move() {
1221        var follower, init, mouseX, mouseY, positionElement, timer;
1222
1223        follower = document.getElementById("ct-mouse-move");
1224
1225        mouseX = (event) => {
1226            return event.clientX;
1227        };
1228
1229        mouseY = (event) => {
1230            return event.clientY;
1231        };
1232
1233        positionElement = (event) => {
1234            var mouse;
1235            mouse = {
1236                x: mouseX(event),
1237                y: mouseY(event),
1238            };
1239
1240            follower.style.top = mouse.y + "px";
1241            return (follower.style.left = mouse.x + "px");
1242        };
1243
1244        timer = false;
1245
1246        window.onmousemove = init = (event) => {
1247            var _event;
1248            _event = event;
1249            return (timer = setTimeout(() => {
1250                return positionElement(_event);
1251            }, 0));
1252        };
1253    }
1254
1255    /* ====================
1256     WooComerce Quantity
1257     ====================== */
1258    function consultio_quantity_icon() {
1259        $("#content .quantity").append(
1260            '<span class="quantity-icon"><i class="quantity-down fa fa-sort-desc"></i><i class="quantity-up fa fa-sort-asc"></i></span>'
1261        );
1262        $(".quantity-up").on("click", function () {
1263            $(this)
1264                .parents(".quantity")
1265                .find('input[type="number"]')
1266                .get(0)
1267                .stepUp();
1268            $(this)
1269                .parents(".woocommerce-cart-form")
1270                .find(".actions .button")
1271                .removeAttr("disabled");
1272        });
1273        $(".quantity-down").on("click", function () {
1274            $(this)
1275                .parents(".quantity")
1276                .find('input[type="number"]')
1277                .get(0)
1278                .stepDown();
1279            $(this)
1280                .parents(".woocommerce-cart-form")
1281                .find(".actions .button")
1282                .removeAttr("disabled");
1283        });
1284        $(".woocommerce-cart-form .actions .button").removeAttr("disabled");
1285    }
1286
1287    $(document).ajaxComplete(function () {
1288        consultio_quantity_icon();
1289    });
1290
1291    /* =================
1292     Footer Fixed
1293     =================== */
1294    function consultio_footer_fixed() {
1295        setTimeout(function () {
1296            var h_footer =
1297                $(".fixed-footer .site-footer-custom").outerHeight() - 1;
1298            $(".fixed-footer .site-content").css(
1299                "margin-bottom",
1300                h_footer + "px"
1301            );
1302        }, 600);
1303    }
1304
1305    /* =================
1306    Portfolio
1307     =================== */
1308    function consultio_portfolio_ex() {
1309        window_width = $(window).width();
1310        var w_container = (window_width - 1170) / 2;
1311        var w_image_box = window_width - w_container - 415;
1312        if (window_width > 1199) {
1313            $(".ct-portfolio-external1 .ct-carousel-inner").css(
1314                "max-width",
1315                w_image_box + "px"
1316            );
1317        }
1318    }
1319
1320    /* =================
1321    GSAP Animation
1322     =================== */
1323    function consultio_gsap_animation() {
1324        gsap.registerPlugin(ScrollTrigger);
1325
1326        const viewAllBtn = document.querySelector(".view-all-blogs-btn");
1327        if (viewAllBtn) {
1328            viewAllBtn.style.setProperty("--bg-position", "-50%");
1329
1330            ScrollTrigger.create({
1331                trigger: ".view-all-blogs-btn",
1332                start: "top bottom",
1333                end: "bottom top",
1334                onUpdate: (self) => {
1335                    const xPos =
1336                        self.direction === 1
1337                            ? -50 - self.progress * 20
1338                            : -50 + self.progress * 20;
1339
1340                    viewAllBtn.style.setProperty("--bg-position", `${xPos}%`);
1341                },
1342            });
1343        }
1344    }
1345})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.