PageSourceSearch

https://tattoo-stuttgart.de/wp-content/themes/theratio/js/elementor.js?ver=20180910

js tattoo-stuttgart.de collected 2026-10-07 04:52:36 UTC 35,069 bytes, 905 lines download raw bytes

1( function( $ ) {
2    'use strict';
3
4    /* Check rtl isotope*/
5    function rtl_isotop() {
6        if ( $( 'body' ).hasClass( 'rtl' ) ) {
7           return false;
8        } else {
9           return true;
10        }
11    };
12
13    /* --------------------------------------------------
14     * counter
15     * --------------------------------------------------*/
16    var icounter = function () {
17        $('.ot-counter[data-counter]').each( function () {
18            var scrollTop   = $(document).scrollTop() + $(window).height();
19            var counter     = $(this).find('span.num'),
20                countTo     = counter.attr('data-to'),
21                during      = parseInt( counter.attr('data-time') );
22
23            if ( scrollTop > counter.offset().top + counter.height() ) {
24                $(this).removeAttr('data-counter');
25                $({
26                    countNum: counter.text()
27                }).animate({
28                    countNum: countTo
29                },
30                {
31                    duration: during,
32                    easing: 'swing',
33                    step: function() {
34                        counter.text(Math.floor(this.countNum));
35                    },
36                    complete: function() {
37                        counter.text(this.countNum);
38                    }
39                });
40            }
41        });
42    };
43
44    var counter = function () {
45        icounter();
46    };
47
48    /* --------------------------------------------------
49    * testimonials
50    * --------------------------------------------------*/
51    var testimonialSlider = function ($scope, $) {
52        $scope.find('.ot-testimonials-slider-s1').each( function () {
53            var swiperContainer = $(this),
54                sliderSettings = swiperContainer.data('slider_options');
55            
56            var config = {
57                slidesPerView:  1,
58                spaceBetween: 30,
59                loop: true,
60                speed: 800,
61                slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
62                pagination: {
63                    el: swiperContainer.find('.octf-swiper-pagination'),
64                    clickable: true,
65                },
66                navigation: {
67                    nextEl: swiperContainer.find('.octf-swiper-button-next'),
68                    prevEl: swiperContainer.find('.octf-swiper-button-prev'),
69                },
70                breakpoints: {
71                    360: {
72                        slidesPerView: parseInt(sliderSettings.slides_show_mobile),
73                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_mobile),
74                    },
75                    768: {
76                        slidesPerView: parseInt(sliderSettings.slides_show_tablet),
77                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_tablet),
78                    },
79                    1024: {
80                        slidesPerView: parseInt(sliderSettings.slides_show_desktop),
81                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
82                    },
83                }
84            }
85            // if ( window.elementorFrontend ) {
86            //     if ( window.elementorFrontend.isEditMode() ) {
87            //         OTInitSwiper( swiperContainer, config );
88            //     } else {
89            //         elementorFrontend.on('components:init', () => {
90            //             OTInitSwiper( swiperContainer, config );
91            //         });
92            //     }
93            // } else {
94            //     OTInitSwiper( swiperContainer, config );
95            // }
96            OTInitSwiper( swiperContainer, config );
97        });
98    };
99
100    /* --------------------------------------------------
101    * testimonials 2
102    * --------------------------------------------------*/
103    var testimonialSlider2 = function ($scope, $) {
104        $scope.find('.ot-testimonials-slider-s2').each( function () {
105            var swiperContainer = $(this),
106                sliderSettings = swiperContainer.data('slider_options'),
107                speed = swiperContainer.data('effect') == 'fade' ? 0 : 800;
108            
109            var config = {
110                slidesPerView:  1,
111                spaceBetween: 30,
112                loop: true,
113                speed: speed,
114                slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
115                effect: swiperContainer.data('effect'),
116                fadeEffect: {
117                    crossFade: true
118                },
119                pagination: {
120                    el: swiperContainer.find('.octf-swiper-pagination'),
121                    clickable: true
122                },
123                navigation: {
124                    nextEl: swiperContainer.find('.octf-swiper-button-next'),
125                    prevEl: swiperContainer.find('.octf-swiper-button-prev')
126                },
127                breakpoints: {
128                    360: {
129                        slidesPerView: parseInt(sliderSettings.slides_show_mobile),
130                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_mobile)
131                    },
132                    768: {
133                        slidesPerView: parseInt(sliderSettings.slides_show_tablet),
134                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_tablet)
135                    },
136                    1024: {
137                        slidesPerView: parseInt(sliderSettings.slides_show_desktop),
138                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop)
139                    },
140                }
141            }
142            /*Swiper Init*/
143            OTInitSwiper( swiperContainer, config );
144        });
145    };
146
147    /* --------------------------------------------------
148    * testimonials 3
149    * --------------------------------------------------*/
150    var testimonialSlider3 = function ($scope, $) {
151        $scope.find('.ot-testimonials-slider-s3').each( function () {
152            var swiperContainer = $(this),
153                sliderSettings = swiperContainer.data('slider_options');
154            
155            var config = {
156                slidesPerView:  1,
157                spaceBetween: 30,
158                loop: true,
159                speed: 800,
160                slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
161                effect: swiperContainer.data('effect'),
162                fadeEffect: {
163                    crossFade: true,
164                },
165                pagination: {
166                    el: swiperContainer.find('.octf-swiper-pagination'),
167                    clickable: true,
168                },
169                navigation: {
170                    nextEl: swiperContainer.find('.octf-swiper-button-next'),
171                    prevEl: swiperContainer.find('.octf-swiper-button-prev'),
172                },
173                breakpoints: {
174                    360: {
175                        slidesPerView: parseInt(sliderSettings.slides_show_mobile),
176                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_mobile),
177                    },
178                    768: {
179                        slidesPerView: parseInt(sliderSettings.slides_show_tablet),
180                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_tablet),
181                    },
182                    1024: {
183                        slidesPerView: parseInt(sliderSettings.slides_show_desktop),
184                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
185                    },
186                }
187            }
188            
189            /*Swiper Init*/
190            OTInitSwiper( swiperContainer, config );
191        });
192    };
193
194    /* --------------------------------------------------
195    * Image Carousel
196    * --------------------------------------------------*/
197    var imageCarousel = function ($scope, $) {
198        $scope.find('.image-carousel').each( function () {
199            var swiperContainer  = $(this),
200                sliderSettings = swiperContainer.data('slider_options');
201
202            var config = {
203                slidesPerView:  1,
204                spaceBetween: parseInt(sliderSettings.margin_desktop),
205                loop: true,
206                speed: 800,
207                slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
208                autoplay: {
209                    delay: 6000,
210                    disableOnInteraction: false,
211                },
212                pagination: {
213                    el: swiperContainer.find('.octf-swiper-pagination'),
214                    clickable: true,
215                },
216                navigation: {
217                    nextEl: swiperContainer.find('.octf-swiper-button-next'),
218                    prevEl: swiperContainer.find('.octf-swiper-button-prev'),
219                },
220                breakpoints: {
221                    360: {
222                        slidesPerView: parseInt(sliderSettings.slides_show_mobile),
223                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_mobile),
224                        spaceBetween: parseInt(sliderSettings.margin_mobile),
225                    },
226                    768: {
227                        slidesPerView: parseInt(sliderSettings.slides_show_tablet),
228                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_tablet),
229                        spaceBetween: parseInt(sliderSettings.margin_tablet),
230                    },
231                    1024: {
232                        slidesPerView: parseInt(sliderSettings.slides_show_desktop),
233                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
234                        spaceBetween: parseInt(sliderSettings.margin_desktop),
235                    },
236                }
237            }
238
239            /*Swiper Init*/
240            OTInitSwiper( swiperContainer, config );                                   
241        });
242    };    
243
244    /* --------------------------------------------------
245    * team carousel
246    * --------------------------------------------------*/
247    var teamCarousel = function ($scope, $) {
248        $scope.find('.team-slider').each( function () {
249            var swiperContainer = $(this),
250                sliderSettings = swiperContainer.data('slider_options');
251            
252            var config = {
253                slidesPerView:  1,
254                spaceBetween: parseInt(sliderSettings.margin_desktop),
255                loop: true,
256                speed: 800,
257                slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
258                pagination: {
259                    el: swiperContainer.find('.octf-swiper-pagination'),
260                    clickable: true,
261                },
262                navigation: {
263                    nextEl: swiperContainer.find('.octf-swiper-button-next'),
264                    prevEl: swiperContainer.find('.octf-swiper-button-prev'),
265                },
266                breakpoints: {
267                    360: {
268                        slidesPerView: parseInt(sliderSettings.slides_show_mobile),
269                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_mobile),
270                    },
271                    768: {
272                        slidesPerView: parseInt(sliderSettings.slides_show_tablet),
273                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_tablet),
274                    },
275                    1024: {
276                        slidesPerView: parseInt(sliderSettings.slides_show_desktop),
277                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
278                    },
279                }
280            }
281
282            /*Swiper Init*/
283            OTInitSwiper( swiperContainer, config );
284        });
285    };
286
287    /* --------------------------------------------------
288    * blog carousel
289    * --------------------------------------------------*/
290    var blogCarousel = function ($scope, $) {
291        $scope.find('.blog-slider').each( function () {
292            var swiperContainer = $(this),
293                sliderSettings = swiperContainer.data('slider_options');
294            
295            var config = {
296                slidesPerView:  1,
297                spaceBetween: parseInt(sliderSettings.margin_desktop),
298                loop: false,
299                speed: 800,
300                watchOverflow: true,
301                slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
302                pagination: {
303                    el: swiperContainer.find('.octf-swiper-pagination'),
304                    clickable: true,
305                },
306                navigation: {
307                    nextEl: swiperContainer.find('.octf-swiper-button-next'),
308                    prevEl: swiperContainer.find('.octf-swiper-button-prev'),
309                },
310                breakpoints: {
311                    360: {
312                        slidesPerView: parseInt(sliderSettings.slides_show_mobile),
313                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_mobile),
314                        spaceBetween: parseInt(sliderSettings.margin_mobile),
315                    },
316                    768: {
317                        slidesPerView: parseInt(sliderSettings.slides_show_tablet),
318                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_tablet),
319                        spaceBetween: parseInt(sliderSettings.margin_tablet),
320                    },
321                    1024: {
322                        slidesPerView: parseInt(sliderSettings.slides_show_desktop),
323                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
324                        spaceBetween: parseInt(sliderSettings.margin_desktop),
325                    },
326                }
327            }
328
329            /*Swiper Init*/
330            OTInitSwiper( swiperContainer, config );
331        });
332    };
333
334    /* --------------------------------------------------
335    * project carousel
336    * --------------------------------------------------*/
337    var latestProjectCarousel = function ($scope, $) {
338        $scope.find('.project-slider').each( function () {
339            var swiperContainer = $(this),
340                sliderSettings = swiperContainer.data('slider_options');
341            
342            var config = {
343                slidesPerView: parseInt(sliderSettings.slides_show_desktop),
344                slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
345                loop: false,
346                watchOverflow: true,
347                autoplay: {
348                    delay: 6000,
349                    disableOnInteraction: false,
350                },
351                speed: 800,
352                spaceBetween: parseInt(sliderSettings.margin_desktop),
353                pagination: {
354                    el: swiperContainer.find('.octf-swiper-pagination'),
355                    clickable: true,
356                },
357                navigation: {
358                    nextEl: swiperContainer.find('.octf-swiper-button-next'),
359                    prevEl: swiperContainer.find('.octf-swiper-button-prev'),
360                },
361                breakpoints: {
362                    360: {
363                        slidesPerView: parseInt(sliderSettings.slides_show_mobile),
364                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_mobile),
365                        spaceBetween: parseInt(sliderSettings.margin_mobile),
366                    },
367                    768: {
368                        slidesPerView: parseInt(sliderSettings.slides_show_tablet),
369                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_tablet),
370                        spaceBetween: parseInt(sliderSettings.margin_tablet),
371                    },
372                    1024: {
373                        slidesPerView: parseInt(sliderSettings.slides_show_desktop),
374                        slidesPerGroup: parseInt(sliderSettings.slides_scroll_desktop),
375                        spaceBetween: parseInt(sliderSettings.margin_desktop),
376                    },
377                }
378            }
379
380            /*Swiper Init*/
381            OTInitSwiper( swiperContainer, config );
382        });
383    };
384
385    function OTInitSwiper(swiperContainer, config, elementorFrontend = false) {
386        if ( 'undefined' === typeof Swiper ) {
387            const asyncSwiper = window.elementorFrontend.utils.swiper;
388            new asyncSwiper( swiperContainer, config ).then( ( newSwiperInstance ) => {
389                var mySwiper = newSwiperInstance;
390            });
391        } else {
392            var mySwiper = new Swiper( swiperContainer, config );
393        }
394    }
395
396    /* --------------------------------------------------
397    * accordions
398    * --------------------------------------------------*/
399    var customAccordions = function ($scope, $) {
400        $scope.find('.ot-accordions').each( function () {
401            var selector = $(this),
402                content = selector.find('.acc-content'),
403                header  = selector.find('.acc-toggle');
404
405            header.off("click");
406
407            header.each(function(){
408                if ($(this).data('default') == 'yes') {
409                    $(this).next().addClass('active').slideDown(300);
410                    $(this).parent().addClass('current');
411                }
412            });
413
414            header.on('click', function(e){
415                e.preventDefault();
416                var $this = $(this);
417
418                $this.next().toggleClass('active').slideToggle(300);
419                $this.parent().toggleClass('current');
420                content.not($this.next()).slideUp(300);
421                header.not($this).parent().removeClass('current');
422            });
423        });
424    };
425
426    /* --------------------------------------------------
427    * tabs
428    * --------------------------------------------------*/
429    var customTabs = function ($scope, $) {
430
431        $scope.find('.ot-tabs').each(function() {
432            var selector = $(this),
433                tabs     = selector.find('.tabs-heading li'),
434                content  = selector.find('.tab-content');
435            tabs.first().addClass('current');
436            content.first().addClass('current');
437
438            tabs.on( 'click', function(){
439                var tab_id = $(this).attr('data-tab');
440                $(this).siblings().removeClass('current');
441                $(this).parents('.ot-tabs').find('.tab-content').removeClass('current');
442                $(this).addClass('current');
443                $("#"+tab_id).addClass('current');
444            });
445        });
446
447        
448    };
449
450    /* --------------------------------------------------
451    * Process
452    * --------------------------------------------------*/
453    var processTabs = function ($scope, $) {
454        $scope.find('.ot-process[data-tab]').each(function(){
455            var selector = $(this);
456            selector.find('.process_nav li').first().addClass('current');
457            selector.find('.process-des div.process-des-item').hide();
458            selector.find('.process-des div.process-des-item').first().show();
459            selector.find('.process_nav li').on( 'click', function(){
460                $(this).parent().find('li').removeClass('current');
461                $(this).addClass('current');
462                $(this).parents('.ot-process').find('.process-des div.process-des-item').hide();
463
464                var index = $(this).index();
465                $(this).parents('.ot-process').find('.process-des div.process-des-item:eq(' + index + ')').fadeIn(300);
466            });
467        });
468    };
469
470    /* --------------------------------------------------
471     * progress bar
472     * --------------------------------------------------*/
473    function lineProgress() {
474        $('.ot-progress:not([data-processed])').each(function() {
475            var bar = $(this),
476                line = bar.find(".progress-bar"),
477                progressEnd = bar.data('percent'),
478                percent = bar.find('.ppercent');
479            var scrollTop = $(document).scrollTop() + $(window).height();
480
481            if ( scrollTop >  bar.offset().top +  bar.height() ) {
482                bar.attr("data-processed", "true");
483                line.css("width", (bar.outerWidth() * (progressEnd / 100)) + "px");
484
485                for (var i = 0; i <= 50; i++) {
486                    (function (count) {
487                        setTimeout(function () {
488                            percent.html(Math.round((progressEnd / 50) * count) + "%");
489                        }, 30 * count);
490                    })(i);
491                }
492            }
493        });
494    };
495
496    /* ## Progress bar size */
497
498    function lineProgressSize() {
499        $('.ot-progress[data-processed]').each(function () {
500            var bar = $(this);
501            var line = bar.find(".progress-bar");
502            var progressEnd = parseInt(bar.data('percent'));
503
504            line.css("width", (bar.outerWidth() * (progressEnd / 100)) + "px");
505        
506        });
507    }
508
509    function circleProgress() {
510        $('.circle-progress:not([data-processed])').each(function() {
511            var circle    = $(this),
512                bar_color = circle.data('color'),
513                bar_hei   = circle.data('height'),
514                bar_size  = circle.data('size');
515            var scrollTop = $(document).scrollTop() + $(window).height();
516            if ( scrollTop >  circle.offset().top +  circle.height() ) {
517                circle.attr("data-processed", "true");
518                circle.find('.inner-bar').easyPieChart({
519                    barColor: bar_color,
520                    trackColor: false,
521                    scaleColor: false,
522                    lineCap: 'square',
523                    lineWidth: bar_hei,
524                    size: bar_size,
525                    animate: 1000,
526                    onStart: $.noop,
527                    onStop: $.noop,
528                    /*easing: 'easeInOut',*/
529                    onStep: function(from, to, percent) {
530                        $(this.el).find('.percent').text(Math.round(percent) + '%');
531                    }
532                });
533            }
534        });
535    };
536    
537    var progressBar = function () {
538        lineProgress();
539        circleProgress();
540    };
541
542    /* --------------------------------------------------
543    * message box
544    * --------------------------------------------------*/
545    var messageBox = function($scope, $){
546        $scope.find('.message-box').each( function(){
547            var selector = $(this),
548                close = selector.find('>i');
549            close.on('click', function() {
550                $scope.fadeOut();
551            });
552        });
553    };
554
555    /* --------------------------------------------------
556    * post grid isotope
557    * --------------------------------------------------*/
558    var postGrid = function ($scope, $) {   
559        $('.blog-grid').each( function(){
560            var container = $(this); 
561            container.isotope({ 
562                itemSelector : '.masonry-post-item', 
563                isOriginLeft: rtl_isotop(),
564                percentPosition: true,
565            });
566        });        
567    };
568
569    /* --------------------------------------------------
570	* projects filter isotope
571	* --------------------------------------------------*/
572    var projectsFilter = function () {
573        function updateFilter() {
574            $('.project_filters a').each(function() {
575                var data_filter = this.getAttribute('data-filter');
576                var num = $(this)
577                    .closest('.project-filter-wrapper')
578                    .find('.project-item')
579                    .filter(data_filter).length;
580                $(this)
581                    .find('.filter-count')
582                    .text( num );
583            });
584        }
585        $('.projects-grid:not(.project-slider)').each( function(){
586            var $container = $(this); 
587            $container.isotope({ 
588                itemSelector : '.project-item', 
589                isOriginLeft: rtl_isotop(),
590                animationEngine : 'css',
591                masonry: {
592                    columnWidth: '.grid-sizer'
593                },
594                layoutMode: 'fitRows',
595            });
596    
597            var $optionSets  = $(this).closest('.project-filter-wrapper').find('.project_filters'),
598                $optionLinks = $optionSets.find('a');
599    
600            $optionLinks.on('click', function(){
601                var $this = $(this);
602    
603                if ( $this.hasClass('selected') ) {
604                    return false;
605                }
606                var $optionSet = $this.parents('.project_filters');
607                    $optionSet.find('.selected').removeClass('selected');
608                    $this.addClass('selected');
609    
610                var selector = $(this).attr('data-filter');
611                    $container.isotope({ 
612                        filter: selector 
613                    });
614                return false;
615            });
616            /* popup gallery */
617            if( $container.hasClass('img-popup') ){
618                if( $container.hasClass('style-6') ){
619                    var all_links = document.querySelectorAll('h5 a.title-link');
620                    for(var i=0; i<all_links.length; i++){
621                        all_links[i].removeAttribute("href");
622                    }
623                }
624                $('.img-popup').lightGallery({
625                    selector: '.style-3 .projects-thumbnail, .style-4 .projects-thumbnail, .style-6 h5 a',
626                    share: false,
627                    pager: false,
628                    thumbnail: false
629                }); 
630            }
631            /* count filters */
632            updateFilter();
633        });
634    };
635
636    /* --------------------------------------------------
637	* image gallery
638    * --------------------------------------------------*/
639    var imageGallery = function ($scope, $) {
640        $scope.find('.image-gallery').each( function(){
641            var selector = $(this),
642                popup   = selector.find('.gallery-icon > a');
643            popup.append('<span class="overlay"><i class="ot-flaticon-add"></i></span>');
644            selector.lightGallery({
645                selector: popup,
646                share: false,
647                pager: false,
648            });
649        });
650    };
651
652    /* --------------------------------------------------
653    * video popup
654    * --------------------------------------------------*/
655    var videoPopup = function ($scope, $) {
656        $scope.find('.video-popup').each( function(){
657            var selector = $(this),
658                videoItem = selector.find('>div');
659            selector.lightGallery({
660                selector: videoItem,
661            });
662        });
663    };
664
665    /* --------------------------------------------------
666    * image service box popup
667    * --------------------------------------------------*/
668    var imageServiceBox = function ($scope, $) {
669        $scope.find('.service-box').each( function(){
670            var selector = $(this),
671                imgPopup = selector.find('.image-box > div');
672            selector.lightGallery({
673                selector: imgPopup,
674                share: false,
675                pager: false,
676            });
677        });
678    };
679
680    /* --------------------------------------------------
681    * coming soon
682    * --------------------------------------------------*/
683    var countDown = function($scope, $){
684        $scope.find('.ot-countdown').each( function(){
685            var selector = $(this),
686                date     = selector.data('date'),
687                zone     = selector.data('zone'),
688                day      = selector.data('day'),
689                days     = selector.data('days'),
690                hour     = selector.data('hour'),
691                hours    = selector.data('hours'),
692                min      = selector.data('min'),
693                mins     = selector.data('mins'),
694                second   = selector.data('second'),
695                seconds  = selector.data('seconds');
696            selector.countdown({
697                date: date,
698                offset: zone,
699                day: day,
700                days: days,
701                hour: hour,
702                hours: hours,
703                minute: min,
704                minutes: mins,
705                second: second,
706                seconds: seconds
707            }, function () {
708                alert('Done!');
709            });
710        });
711    };
712    
713    /* --------------------------------------------------
714    * social team
715    * --------------------------------------------------*/
716    var socialTeam = function( $scope, $ ){
717        $scope.find('.team-wrap').each( function(){
718            var selector = $(this).find('.team-social > span');
719            selector.on('click', function(){
720                $(this).parent().toggleClass('active');
721            });
722        });
723    };
724
725    /* --------------------------------------------------
726    * Image Before After
727    * --------------------------------------------------*/
728    var beforeAfter = function ( $scope , $ ) {
729        $scope.find('.twentytwenty-container').each( function(){
730            var $selector     = $(this),
731                orientation     = $selector.data('orientation'),
732                before      = $selector.data('before'),
733                after       = $selector.data('after'),
734                before_size     = $selector.data('bsize');      
735            $selector.twentytwenty({        
736                default_offset_pct: before_size, 
737                orientation: orientation, 
738                before_label: before, 
739                after_label: after, 
740                no_overlay: false, 
741                move_slider_on_hover: false, 
742                move_with_handle_only: true, 
743                click_to_move: true,
744            });     
745        }); 
746    };
747
748    /* --------------------------------------------------
749    * handle after scroll/load/resize
750    * --------------------------------------------------*/
751    $(window).on('scroll', function() {
752        lineProgress();
753        circleProgress();
754        icounter();
755    });
756    $(window).on('load', function () {
757        lineProgress();
758        circleProgress();
759        icounter();
760    });
761    $(window).on('resize', function () {
762        lineProgressSize();
763    });
764
765    /**
766     * Elementor JS Hooks
767     */
768    $(window).on("elementor/frontend/init", function () {
769
770        /*Counter*/
771        elementorFrontend.hooks.addAction(
772            "frontend/element_ready/icounter.default",
773            counter
774        );
775
776        /*Testimonials*/
777        elementorFrontend.hooks.addAction(
778            "frontend/element_ready/itestimonials.default",
779            testimonialSlider
780        );
781
782        /*Testimonials 2*/
783        elementorFrontend.hooks.addAction(
784            "frontend/element_ready/itestimonials2.default",
785            testimonialSlider2
786        );
787
788        /*Testimonials 3*/
789        elementorFrontend.hooks.addAction(
790            "frontend/element_ready/itestimonials3.default",
791            testimonialSlider3
792        );
793
794        /*Custom accordions*/
795        elementorFrontend.hooks.addAction(
796            "frontend/element_ready/iaccordions.default",
797            customAccordions
798        );
799
800        /*Custom tabs*/
801        elementorFrontend.hooks.addAction(
802            "frontend/element_ready/itabs.default",
803            customTabs
804        );
805
806        /*Process tabs*/
807        elementorFrontend.hooks.addAction(
808            "frontend/element_ready/iprocessbox.default",
809            processTabs
810        );
811
812        /*Progress bar*/
813        elementorFrontend.hooks.addAction(
814            "frontend/element_ready/iprogress.default",
815            progressBar
816        );
817
818        /*Image carousel*/
819        elementorFrontend.hooks.addAction(
820            "frontend/element_ready/theratio-image-carousel.default",
821            imageCarousel
822        );
823
824        /*Blog carousel*/
825        elementorFrontend.hooks.addAction(
826            "frontend/element_ready/ipost_carousel.default",
827            blogCarousel
828        );
829
830        /*Team carousel*/
831        elementorFrontend.hooks.addAction(
832            "frontend/element_ready/imembercarousel.default",
833            teamCarousel
834        );
835        elementorFrontend.hooks.addAction(
836            "frontend/element_ready/imembercarousel.default",
837            socialTeam
838        );
839
840        /*Latest Project carousel*/
841        elementorFrontend.hooks.addAction(
842            "frontend/element_ready/irprojects.default",
843            latestProjectCarousel
844        );
845
846        /*Message box*/
847        elementorFrontend.hooks.addAction(
848            "frontend/element_ready/imessagebox.default",
849            messageBox
850        );
851
852        /*Post grid*/
853        elementorFrontend.hooks.addAction(
854            "frontend/element_ready/ipost_grid.default",
855            postGrid
856        );
857
858        /*projects filter isotope*/
859        elementorFrontend.hooks.addAction(
860            "frontend/element_ready/ipfilter.default",
861            projectsFilter
862        );
863        elementorFrontend.hooks.addAction(
864            "frontend/element_ready/ipfilter_metro.default",
865            projectsFilter
866        );
867
868        /*gallery*/
869        elementorFrontend.hooks.addAction(
870            "frontend/element_ready/igimages.default",
871            imageGallery
872        );
873
874        /*video popup*/
875        elementorFrontend.hooks.addAction(
876            "frontend/element_ready/ivideopopup.default",
877            videoPopup
878        );
879
880        /*Service box*/
881        elementorFrontend.hooks.addAction(
882            "frontend/element_ready/theratio-service-box.default",
883            imageServiceBox
884        );
885
886        /*countdown*/
887        elementorFrontend.hooks.addAction(
888            "frontend/element_ready/icountdown.default",
889            countDown
890        );
891
892        /*Team*/
893        elementorFrontend.hooks.addAction(
894            "frontend/element_ready/imember.default",
895            socialTeam
896        );
897
898        /*Image Before After*/
899        elementorFrontend.hooks.addAction(
900            "frontend/element_ready/ibeforeafter.default",
901            beforeAfter
902        );
903    });
904
905} )( 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.