1(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ 2var ElementsHandler; 3 4ElementsHandler = function( $ ) { 5 var registeredHandlers = {}, 6 registeredGlobalHandlers = []; 7 8 var runGlobalHandlers = function( $scope ) { 9 $.each( registeredGlobalHandlers, function() { 10 this.call( $scope, $ ); 11 } ); 12 }; 13 14 this.addHandler = function( widgetType, callback ) { 15 registeredHandlers[ widgetType ] = callback; 16 }; 17 18 this.addGlobalHandler = function( callback ) { 19 registeredGlobalHandlers.push( callback ); 20 }; 21 22 this.runReadyTrigger = function( $scope ) { 23 var elementType = $scope.data( 'element_type' ); 24 25 if ( ! elementType ) { 26 return; 27 } 28 29 runGlobalHandlers( $scope ); 30 31 if ( ! registeredHandlers[ elementType ] ) { 32 return; 33 } 34 35 registeredHandlers[ elementType ].call( $scope, $ ); 36 }; 37}; 38 39module.exports = ElementsHandler; 40 41},{}],2:[function(require,module,exports){ 42/* global elementorFrontendConfig */ 43( function( $ ) { 44 var ElementsHandler = require( 'elementor-frontend/elements-handler' ), 45 Utils = require( 'elementor-frontend/utils' ); 46 47 var ElementorFrontend = function() { 48 var self = this, 49 scopeWindow = window; 50 51 var elementsDefaultHandlers = { 52 accordion: require( 'elementor-frontend/handlers/accordion' ), 53 alert: require( 'elementor-frontend/handlers/alert' ), 54 counter: require( 'elementor-frontend/handlers/counter' ), 55 //'image-hotspots': require( 'elementor-frontend/handlers/image-hotspots' ), 56 'image-carousel': require( 'elementor-frontend/handlers/image-carousel' ), 57 instagram: require( 'elementor-frontend/handlers/instagram' ), 58 testimonial: require( 'elementor-frontend/handlers/testimonial' ), 59 progress: require( 'elementor-frontend/handlers/progress' ), 60 section: require( 'elementor-frontend/handlers/section' ), 61 tabs: require( 'elementor-frontend/handlers/tabs' ), 62 lottie: require( 'elementor-frontend/handlers/lottie' ), 63 'prestashop-widget-Blog': require( 'elementor-frontend/handlers/prestashop-blog' ), 64 'prestashop-widget-ProductsList': require( 'elementor-frontend/handlers/prestashop-productlist' ), 65 'prestashop-widget-ProductsListTabs': require( 'elementor-frontend/handlers/prestashop-productlisttabs' ), 66 'prestashop-widget-Brands': require( 'elementor-frontend/handlers/prestashop-brands' ), 67 'prestashop-widget-Search': require( 'elementor-frontend/handlers/prestashop-search' ), 68 'prestashop-widget-ContactForm': require( 'elementor-frontend/handlers/prestashop-contactform' ), 69 //'prestashop-widget-RevolutionSlider': require( 'elementor-frontend/handlers/prestashop-revolutionslider' ), 70 toggle: require( 'elementor-frontend/handlers/toggle' ), 71 video: require( 'elementor-frontend/handlers/video' ) 72 }; 73 74 var addGlobalHandlers = function() { 75 self.elementsHandler.addGlobalHandler( require( 'elementor-frontend/handlers/global' ) ); 76 }; 77 78 var addElementsHandlers = function() { 79 $.each( elementsDefaultHandlers, function( elementName ) { 80 self.elementsHandler.addHandler( elementName, this ); 81 } ); 82 }; 83 84 var runElementsHandlers = function() { 85 $( '.elementor-element' ).each( function() { 86 self.elementsHandler.runReadyTrigger( $( this ) ); 87 } ); 88 }; 89 90 this.config = elementorFrontendConfig; 91 92 this.getScopeWindow = function() { 93 return scopeWindow; 94 }; 95 96 this.setScopeWindow = function( window ) { 97 scopeWindow = window; 98 }; 99 100 this.isEditMode = function() { 101 return self.config.isEditMode; 102 }; 103 104 this.elementsHandler = new ElementsHandler( $ ); 105 106 this.utils = new Utils( $ ); 107 108 this.init = function() { 109 addGlobalHandlers(); 110 111 addElementsHandlers(); 112 113 114 runElementsHandlers(); 115 }; 116 117 // Based on underscore function 118 this.throttle = function( func, wait ) { 119 var timeout, 120 context, 121 args, 122 result, 123 previous = 0; 124 125 var later = function() { 126 previous = Date.now(); 127 timeout = null; 128 result = func.apply( context, args ); 129 130 if ( ! timeout ) { 131 context = args = null; 132 } 133 }; 134 135 return function() { 136 var now = Date.now(), 137 remaining = wait - ( now - previous ); 138 139 context = this; 140 args = arguments; 141 142 if ( remaining <= 0 || remaining > wait ) { 143 if ( timeout ) { 144 clearTimeout( timeout ); 145 timeout = null; 146 } 147 148 previous = now; 149 result = func.apply( context, args ); 150 151 if ( ! timeout ) { 152 context = args = null; 153 } 154 } else if ( ! timeout ) { 155 timeout = setTimeout( later, remaining ); 156 } 157 158 return result; 159 }; 160 }; 161 }; 162 163 window.elementorFrontend = new ElementorFrontend(); 164} )( jQuery ); 165 166jQuery( function() { 167 if ( ! elementorFrontend.isEditMode() ) { 168 elementorFrontend.init(); 169 } 170} ); 171 172},{"elementor-frontend/elements-handler":1,"elementor-frontend/handlers/accordion":3,"elementor-frontend/handlers/alert":4,"elementor-frontend/handlers/counter"
172:5,"elementor-frontend/handlers/global":6,"elementor-frontend/handlers/image-carousel":7,"elementor-frontend/handlers/instagram":8,"elementor-frontend/handlers/lottie":9,"elementor-frontend/handlers/prestashop-blog":10,"elementor-frontend/handlers/prestashop-brands":11,"elementor-frontend/handlers/prestashop-contactform":12,"elementor-frontend/handlers/prestashop-productlist":13,"elementor-frontend/handlers/prestashop-productlisttabs":14,"elementor-frontend/handlers/prestashop-search":15,"elementor-frontend/handlers/progress":16,"elementor-frontend/handlers/section":17,"elementor-frontend/handlers/tabs":18,"elementor-frontend/handlers/testimonial":19,"elementor-frontend/handlers/toggle":20,"elementor-frontend/handlers/video":21,"elementor-frontend/utils":22}],3:[function(require,module,exports){ 173var activateSection = function( sectionIndex, $accordionTitles ) { 174 var $activeTitle = $accordionTitles.filter( '.active' ), 175 $requestedTitle = $accordionTitles.filter( '[data-section="' + sectionIndex + '"]' ), 176 isRequestedActive = $requestedTitle.hasClass( 'active' ); 177 178 $activeTitle 179 .removeClass( 'active' ) 180 .next() 181 .slideUp(); 182 183 if ( ! isRequestedActive ) { 184 $requestedTitle 185 .addClass( 'active' ) 186 .next() 187 .slideDown(); 188 } 189}; 190 191module.exports = function( $ ) { 192 var $this = $( this ), 193 $accordionDiv = $this.find( '.elementor-accordion' ), 194 defaultActiveSection = $accordionDiv.data( 'active-section' ), 195 activeFirst = $accordionDiv.data( 'active-first' ), 196 $accordionTitles = $this.find( '.elementor-accordion-title' ); 197 198 if ( ! defaultActiveSection ) { 199 defaultActiveSection = 1; 200 } 201 202 if(activeFirst){ 203 activateSection( defaultActiveSection, $accordionTitles ); 204 } 205 206 207 $accordionTitles.on( 'click', function() { 208 activateSection( this.dataset.section, $accordionTitles ); 209 } ); 210}; 211 212},{}],4:[function(require,module,exports){ 213module.exports = function( $ ) { 214 $( this ).find( '.elementor-alert-dismiss' ).on( 'click', function() { 215 $( this ).parent().fadeOut(); 216 } ); 217}; 218 219},{}],5:[function(require,module,exports){ 220module.exports = function( $ ) { 221 222 var $number = $( this ).find( '.elementor-counter-number' ); 223 224 $number.waypoint( function() { 225 $number.numerator( { 226 duration: $number.data( 'duration' ) 227 } ); 228 }, { offset: '90%' } ); 229}; 230 231},{}],6:[function(require,module,exports){ 232module.exports = function() { 233 if ( elementorFrontend.isEditMode() ) { 234 return; 235 } 236 237 var $element = this, 238 animation = $element.data( 'animation' ); 239 240 if ( ! animation ) { 241 return; 242 } 243 244 $element.addClass( 'elementor-invisible' ).removeClass( animation ); 245 246 $element.waypoint( function() { 247 $element.removeClass( 'elementor-invisible' ).addClass( animation ); 248 }, { offset: '90%' } ); 249 250}; 251 252},{}],7:[function(require,module,exports){ 253module.exports = function( $ ) { 254 var $carousel = $( this ).find( '.elementor-image-carousel' ); 255 if ( ! $carousel.length ) { 256 return; 257 } 258 259 var respondTo = 'window'; 260 261 if (elementorFrontendConfig.isEditMode) { 262 respondTo = 'iframe-window'; 263 } 264 265 266 267 var savedOptions = $carousel.data( 'slider_options' ), 268 defaultOptions = { 269 respondTo: respondTo, 270 rtl: parseInt(elementorFrontendConfig.is_rtl) ? true : false, 271 responsive: [ 272 { 273 breakpoint: 991, 274 settings: { 275 slidesToShow: savedOptions.slidesToShowTablet, 276 slidesToScroll: savedOptions.slidesToShowTablet 277 } 278 }, 279 { 280 breakpoint: 480, 281 settings: { 282 slidesToShow: savedOptions.slidesToShowMobile, 283 slidesToScroll: savedOptions.slidesToShowMobile 284 } 285 } 286 ] 287 }, 288 289 290 291 slickOptions = $.extend( {}, defaultOptions, savedOptions ); 292 293 $carousel.slick( slickOptions ); 294 295 296 if (elementorFrontendConfig.isEditMode) { 297 $(window).on('changedDeviceMode', function () { 298 $carousel.slick('getSlick').checkResponsive(); 299 }); 300 } 301 302 303}; 304 305},{}],8:[function(require,module,exports){ 306module.exports = function( $ ) { 307 308 var $instagramWrapper = $( this ).find( '.elementor-instagram' ); 309 var $carousel = $( this ).find( '.elementor-instagram-carousel' ); 310 311 if ( ! $instagramWrapper.length ) { 312 return; 313 } 314 315 var options = $instagramWrapper.data( 'options' ); 316 var is_tag = false; 317 var limit = 12; 318 var username_or_tag = ''; 319 320 321 if(options.type == 'user'){ 322 if (options.user == '' ) { 323 return; 324 } 325 limit = options.limit_user; 326 username_or_tag = options.user; 327 } else{ 328 if (options.tag == '' ) { 329 return; 330 } 331 is_tag = true; 332 limit = options.limit_tag; 333 username_or_tag = options.tag; 334 } 335 336 $.instagramFeed({ 337 'username_or_tag': username_or_tag, 338 'container': $instagramWrapper, 339 'image_class': options.class, 340 'styling': true, 341 'is_tag': is_tag, 342 'items': limit, 343 'image_size': options.image_size, 344 'callback': function(data){ 345 if ( ! $carousel.length ) { 346 return; 347 } 348 349 var savedOptions = $carousel.data( 'slider_options' ), 350 defaultOptions = { 351 rtl: parseInt(elementorFrontendConfig.is_rtl) ? true : false, 352 responsive: [ 353 { 354 breakpoint: 767, 355 settings: { 356 slidesToShow: savedOptions.slidesToShowTablet, 357 slidesToScroll: savedOptions.slidesToShowTablet 358 } 359 }, 360 { 361 breakpoint: 480, 362 settings: { 363 slidesToShow: savedOptions.slidesToShowMobile, 364 slidesToScroll: savedOptions.slidesToShowMobile 365 } 366 } 367 ] 368 }, 369 370 slickOptions = $.extend( {}, defaultOptions, $carousel.data( 'slider_options' ) ); 371 372 $carousel.slick( slickOptions ); 373 } 374}); 375 376 377 378}; 379 380},{}],9:[function(require,module,exports){ 381module.exports = function( $ ) { 382 383 var $lottiePlayer = $( this ).find( '.lottie-animation' ); 384 var offset = $lottiePlayer.data('offset') / 100; 385 var container = null; 386 387 if ($lottiePlayer.data('container') == 'body'){ 388 container = 'body'; 389 } 390 391 if (elementorFrontendConfig.isEditMode) { 392 if($lottiePlayer.data('play') == 'scroll'){ 393 window.frames[0].frameElement.contentWindow.lottieInteractivyBackofficeRun(offset, $lottiePlayer[0], container); 394 } 395 } else{ 396 if($lottiePlayer.data('play') == 'scroll'){ 397 document.addEventListener("lottieLoaded", function(e) { 398 LottieInteractivity.create({ 399 mode:'scroll', 400 player: $lottiePlayer[0], 401 container: container, 402 actions: [ 403 { 404 visibility:[offset,1], 405 type: 'seek', 406 frames: [0, '100%'] 407 } 408 ] 409 }); 410 411 }); 412 } 413 } 414}; 415 416 417 418 419},{}],10:[function(require,module,exports){ 420module.exports = function( $ ) { 421 var $carousel = $( this ).find( '.elementor-blog-carousel' ); 422 if ( ! $carousel.length ) { 423 return; 424 } 425 426 var savedOptions = $carousel.data( 'slider_options' ), 427 defaultOptions = { 428 rtl: parseInt(elementorFrontendConfig.is_rtl) ? true : false, 429 responsive: [ 430 { 431 breakpoint: 767, 432 settings: { 433 slidesToShow: savedOptions.slidesToShowTablet, 434 slidesToScroll: savedOptions.slidesToShowTablet 435 } 436 }, 437 { 438 breakpoint: 480, 439 settings: { 440 slidesToShow: savedOptions.slidesToShowMobile, 441 slidesToScroll: savedOptions.slidesToShowMobile 442 } 443 } 444 ] 445 }, 446 447 slickOptions = $.extend( {}, defaultOptions, $carousel.data( 'slider_options' ) ); 448 449 $carousel.slick( slickOptions ); 450};
451 452},{}],11:[function(require,module,exports){ 453module.exports = function ($) { 454 var $carousel = $(this).find('.elementor-brands-carousel'); 455 if (!$carousel.length) { 456 return; 457 } 458 459 var respondTo = 'window'; 460 461 if (elementorFrontendConfig.isEditMode) { 462 respondTo = 'iframe-window'; 463 } 464 465 var savedOptions = $carousel.data('slider_options'), 466 defaultOptions = { 467 respondTo: respondTo, 468 infinite: false, 469 autoplaySpeed: 4500, 470 rows: savedOptions.itemsPerColumn, 471 rtl: parseInt(elementorFrontendConfig.is_rtl) ? true : false, 472 responsive: [ 473 { 474 breakpoint: 992, 475 settings: { 476 slidesToShow: savedOptions.slidesToShowTablet, 477 slidesToScroll: savedOptions.slidesToShowTablet 478 } 479 }, 480 { 481 breakpoint: 576, 482 settings: { 483 slidesToShow: savedOptions.slidesToShowMobile, 484 slidesToScroll: savedOptions.slidesToShowMobile 485 } 486 } 487 ] 488 }, 489 490 slickOptions = $.extend({}, defaultOptions, $carousel.data('slider_options')); 491 492 $carousel.slick(slickOptions); 493 494 if (elementorFrontendConfig.isEditMode) { 495 $(window).on('changedDeviceMode', function () { 496 $carousel.slick('getSlick').checkResponsive(); 497 }); 498 } 499}; 500 501},{}],12:[function(require,module,exports){ 502module.exports = function ($) { 503 var $this = $(this); 504 var $contactFormWrapper = $this.find('.elementor-contactform-wrapper'); 505 506 if (!$contactFormWrapper.length) { 507 return; 508 } 509 510 $contactFormWrapper.on("submit", ".js-lementor-contact-form", function (e) { 511 e.preventDefault(); 512 $.post($(this).attr('action'), $(this).serialize(), null, 'json').then(function (resp) { 513 $contactFormWrapper.find('.js-elementor-contact-norifcation-wrapper').replaceWith($(resp.preview).find('.js-elementor-contact-norifcation-wrapper')); 514 }).fail((resp) => { 515 516 }); 517 }); 518 519}; 520 521},{}],13:[function(require,module,exports){ 522module.exports = function ($) { 523 var $carousel = $(this).find('.elementor-products-carousel'); 524 if (!$carousel.length) { 525 if (elementorFrontendConfig.isEditMode) { 526 $(this).find('img[data-src]').each(function() { 527 $(this).attr('src', $(this).data('src')); 528 }); 529 } 530 return; 531 } 532 533 var respondTo = 'window'; 534 535 if (elementorFrontendConfig.isEditMode) { 536 respondTo = 'iframe-window'; 537 } 538 539 var savedOptions = $carousel.data('slider_options'), 540 defaultOptions = { 541 respondTo: respondTo, 542 infinite: false, 543 autoplaySpeed: 4500, 544 rows: savedOptions.itemsPerColumn, 545 rtl: parseInt(elementorFrontendConfig.is_rtl) ? true : false, 546 responsive: [ 547 { 548 breakpoint: 992, 549 settings: { 550 slidesToShow: savedOptions.slidesToShowTablet, 551 slidesToScroll: savedOptions.slidesToShowTablet 552 } 553 }, 554 { 555 breakpoint: 576, 556 settings: { 557 slidesToShow: savedOptions.slidesToShowMobile, 558 slidesToScroll: savedOptions.slidesToShowMobile 559 } 560 } 561 ] 562 }, 563 564 slickOptions = $.extend({}, defaultOptions, $carousel.data('slider_options')); 565 566 $carousel.slick(slickOptions); 567 568 if (elementorFrontendConfig.isEditMode) { 569 $(window).on('changedDeviceMode', function () { 570 $carousel.slick('getSlick').checkResponsive(); 571 }); 572 } 573}; 574 575},{}],14:[function(require,module,exports){ 576module.exports = function ($) { 577 var $carousel = $(this).find('.elementor-products-carousel'); 578 if (!$carousel.length) { 579 if (elementorFrontendConfig.isEditMode) { 580 $(this).find('img[data-src]').each(function() { 581 $(this).attr('src', $(this).data('src')); 582 }); 583 } 584 return; 585 } 586 587 var respondTo = 'window'; 588 589 if (elementorFrontendConfig.isEditMode) { 590 respondTo = 'iframe-window'; 591 } 592 593 var savedOptions = $carousel.data('slider_options'), 594 defaultOptions = { 595 respondTo: respondTo, 596 infinite: false, 597 autoplaySpeed: 4500, 598 rtl: parseInt(elementorFrontendConfig.is_rtl) ? true : false, 599 rows: savedOptions.itemsPerColumn, 600 responsive: [ 601 { 602 breakpoint: 992, 603 settings: { 604 slidesToShow: savedOptions.slidesToShowTablet, 605 slidesToScroll: savedOptions.slidesToShowTablet 606 } 607 }, 608 { 609 breakpoint: 576, 610 settings: { 611 slidesToShow: savedOptions.slidesToShowMobile, 612 slidesToScroll: savedOptions.slidesToShowMobile 613 } 614 } 615 ] 616 }, 617 618 slickOptions = $.extend({}, defaultOptions, $carousel.data('slider_options')); 619 620 $carousel.slick(slickOptions); 621 622 if (elementorFrontendConfig.isEditMode) { 623 $(window).on('changedDeviceMode', function () { 624 $carousel.slick('getSlick').checkResponsive(); 625 }); 626 } 627 628 $(document).on('shown.bs.tab', $(this).find('a[data-toggle="tab"]'), function (e) { 629 prestashop.iqitLazyLoad.update(); 630 }) 631 632 633}; 634 635},{}],15:[function(require,module,exports){ 636module.exports = function( $ ) { 637 var $searchWidget = $( this ).find( '.search-widget-autocomplete' ); 638 if ( ! $searchWidget.length ) { 639 return; 640 } 641 642 if (elementorFrontendConfig.isEditMode) { 643 return; 644 } 645 646 let $searchBox = $searchWidget.find('input[type=text]'); 647 let searchURL = $searchWidget.attr('data-search-controller-url'); 648 var initAutocomplete = prestashop.blocksearch.initAutocomplete || function ($searchWidget, $searchBox, searchURL) {}; 649 650 initAutocomplete($searchWidget, $searchBox, searchURL); 651 652}; 653 654},{}],16:[function(require,module,exports){ 655module.exports = function( $ ) { 656 var $progressbar = $( this ).find( '.elementor-progress-bar' ); 657 658 $progressbar.waypoint( function() { 659 $progressbar.css( 'width', $progressbar.data( 'max' ) + '%' ) 660 }, { offset: '90%' } ); 661};
662 663},{}],17:[function(require,module,exports){ 664var BackgroundVideo = function( $, $backgroundVideoContainer ) { 665 var player, 666 elements = {}, 667 isYTVideo = false; 668 669 var calcVideosSize = function() { 670 var containerWidth = $backgroundVideoContainer.outerWidth(), 671 containerHeight = $backgroundVideoContainer.outerHeight(), 672 aspectRatioSetting = '16:9', //TEMP 673 aspectRatioArray = aspectRatioSetting.split( ':' ), 674 aspectRatio = aspectRatioArray[ 0 ] / aspectRatioArray[ 1 ], 675 ratioWidth = containerWidth / aspectRatio, 676 ratioHeight = containerHeight * aspectRatio, 677 isWidthFixed = containerWidth / containerHeight > aspectRatio; 678 679 return { 680 width: isWidthFixed ? containerWidth : ratioHeight, 681 height: isWidthFixed ? ratioWidth : containerHeight 682 }; 683 }; 684 685 var changeVideoSize = function() { 686 var $video = isYTVideo ? $( player.getIframe() ) : elements.$backgroundVideo, 687 size = calcVideosSize(); 688 689 $video.width( size.width ).height( size.height ); 690 }; 691 692 var prepareYTVideo = function( YT, videoID ) { 693 player = new YT.Player( elements.$backgroundVideo[ 0 ], { 694 videoId: videoID, 695 events: { 696 onReady: function() { 697 player.mute(); 698 699 changeVideoSize(); 700 701 player.playVideo(); 702 }, 703 onStateChange: function( event ) { 704 if ( event.data === YT.PlayerState.ENDED ) { 705 player.seekTo( 0 ); 706 } 707 } 708 }, 709 playerVars: { 710 controls: 0, 711 mute: 1, 712 showinfo: 0 713 } 714 } ); 715 716 $( elementorFrontend.getScopeWindow() ).on( 'resize', changeVideoSize ); 717 }; 718 719 var initElements = function() { 720 elements.$backgroundVideo = $backgroundVideoContainer.children( '.elementor-background-video' ); 721 }; 722 723 var run = function() { 724 var videoID = elements.$backgroundVideo.data( 'video-id' ); 725 726 if ( videoID ) { 727 isYTVideo = true; 728 729 elementorFrontend.utils.onYoutubeApiReady( function( YT ) { 730 setTimeout( function() { 731 prepareYTVideo( YT, videoID ); 732 }, 1 ); 733 } ); 734 } else { 735 elements.$backgroundVideo.one( 'canplay', changeVideoSize ); 736 } 737 }; 738 739 var init = function() { 740 initElements(); 741 run(); 742 }; 743 744 init(); 745}; 746 747 748 749module.exports = function( $ ) { 750 //new StretchedSection( $, this ); 751 752 var $backgroundVideoContainer = this.find( '.elementor-background-video-container' ); 753 754 if ( $backgroundVideoContainer ) { 755 new BackgroundVideo( $, $backgroundVideoContainer ); 756 } 757}; 758 759},{}],18:[function(require,module,exports){ 760module.exports = function( $ ) { 761 var $this = $( this ), 762 defaultActiveTab = $this.find( '.elementor-tabs' ).data( 'active-tab' ), 763 $tabsTitles = $this.find( '.elementor-tab-title' ), 764 $tabs = $this.find( '.elementor-tab-content' ), 765 $active, 766 $content; 767 768 if ( ! defaultActiveTab ) { 769 defaultActiveTab = 1; 770 } 771 772 var activateTab = function( tabIndex ) { 773 if ( $active ) { 774 $active.removeClass( 'active' ); 775 776 $content.removeClass( 'active' ); 777 } 778 779 $active = $tabsTitles.filter( '[data-tab="' + tabIndex + '"]' ); 780 $active.addClass( 'active' ); 781 $content = $tabs.filter( '[data-tab="' + tabIndex + '"]' ); 782 $content.addClass( 'active' ); 783 }; 784 785 activateTab( defaultActiveTab ); 786 787 $tabsTitles.on( 'click', function() { 788 activateTab( this.dataset.tab ); 789 } ); 790}; 791 792},{}],19:[function(require,module,exports){ 793module.exports = function( $ ) { 794 var $carousel = $( this ).find( '.elementor-testimonial-carousel' ); 795 if ( ! $carousel.length ) { 796 return; 797 } 798 799 800 var savedOptions = $carousel.data( 'slider_options' ), 801 tabletSlides = 1 === savedOptions.slidesToShow ? 1 : 2, 802 defaultOptions = { 803 rtl: parseInt(elementorFrontendConfig.is_rtl) ? true : false, 804 responsive: [ 805 { 806 breakpoint: 767, 807 settings: { 808 slidesToShow: tabletSlides, 809 slidesToScroll: tabletSlides 810 } 811 }, 812 { 813 breakpoint: 480, 814 settings: { 815 slidesToShow: 1, 816 slidesToScroll: 1 817 } 818 } 819 ] 820 }, 821 822 slickOptions = $.extend( {}, defaultOptions, $carousel.data( 'slider_options' ) ); 823 824 $carousel.slick( slickOptions ); 825}; 826 827},{}],20:[function(require,module,exports){ 828module.exports = function( $ ) { 829 var $toggleTitles = $( this ).find( '.elementor-toggle-title' ); 830 831 $toggleTitles.on( 'click', function() { 832 var $active = $( this ), 833 $content = $active.next(); 834 835 if ( $active.hasClass( 'active' ) ) { 836 $active.removeClass( 'active' ); 837 $content.slideUp(); 838 } else { 839 $active.addClass( 'active' ); 840 $content.slideDown(); 841 } 842 } ); 843};
844 845},{}],21:[function(require,module,exports){ 846module.exports = function( $ ) { 847 var $this = $( this ), 848 $imageOverlay = $this.find( '.elementor-custom-embed-image-overlay' ), 849 $videoModalBtn = $this.find( '.elementor-video-open-modal' ).first(), 850 $videoModal = $this.find( '.elementor-video-modal' ).first(), 851 $video = $this.find( '.elementor-video' ).first(), 852 $videoFrame = $this.find( 'iframe' ); 853 854 855 856 if ( $imageOverlay.length ) { 857 858 $imageOverlay.on( 'click', function() { 859 $imageOverlay.remove(); 860 861 if ( $video.length ) { 862 $video[ 0 ].play(); 863 864 return; 865 } 866 867 868 var newSourceUrl = $videoFrame[0].src; 869 // Remove old autoplay if exists 870 newSourceUrl = newSourceUrl.replace( 'autoplay=0', 'autoplay=1' ); 871 $videoFrame[0].src = newSourceUrl; 872 } ); 873 } 874 875 if ( ! $videoModalBtn.length ) { 876 return; 877 } 878 879 880 $videoModalBtn.on( 'click', function() { 881 882 if ( $video.length ) { 883 $video[ 0 ].play(); 884 885 return; 886 } 887 888 889 var newSourceUrl = $videoFrame[0].src; 890 // Remove old autoplay if exists 891 newSourceUrl = newSourceUrl.replace( 'autoplay=0', 'autoplay=1' ); 892 $videoFrame[0].src = newSourceUrl; 893 } ); 894 895 896 $videoModal.on('hide.bs.modal', function () { 897 898 if ( $video.length ) { 899 $video[ 0 ].pause(); 900 901 return; 902 } 903 904 var newSourceUrl = $videoFrame[0].src; 905 // Remove old autoplay if exists 906 newSourceUrl = newSourceUrl.replace( 'autoplay=1', 'autoplay=0' ); 907 $videoFrame[0].src = newSourceUrl; 908 }); 909 910 911}; 912 913},{}],22:[function(require,module,exports){ 914var Utils; 915 916Utils = function( $ ) { 917 var self = this; 918 var isYTInserted = false; 919 920 this.onYoutubeApiReady = function( callback ) { 921 922 if ( ! isYTInserted ) { 923 insertYTApi(); 924 } 925 926 if ( window.YT && YT.loaded ) { 927 callback( YT ); 928 } else { 929 // If not ready check again by timeout.. 930 setTimeout( function() { 931 self.onYoutubeApiReady( callback ); 932 }, 350 ); 933 } 934 }; 935 936 937 938 var insertYTApi = function() { 939 isYTInserted = true; 940 941 $( 'script:first' ).before( $( '<script>', { src: 'https://www.youtube.com/iframe_api' } ) ); 942 }; 943}; 944 945module.exports = Utils; 946 947},{}]},{},[2]) 948//# sourceMappingURL=frontend.js.map
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.