PageSourceSearch

https://www.caviarofkalix.com/assets/js/main.js

js caviarofkalix.com collected 2026-10-02 20:18:03 UTC 33,437 bytes, 1,290 lines download raw bytes

1(function ($) {
2  ("use strict");
3
4  /*
5|--------------------------------------------------------------------------
6| TABLE OF CONTENTS:
7|--------------------------------------------------------------------------
8| 1. Preloader
9| 2. Mobile Menu
10| 3. Sticky Header
11| 4. Dynamic Background
12| 5. Slick Slider
13| 6. Modal Video
14| 7. Social Button Hover
15| 8. Light Gallery
16| 9. Comming soon
17| 10. Scroll Up
18| 11. Gsap Register Plugin
19| 12. Heder Border Animations
20| 13. Comming Soon and Error Pages Border Animations
21| 14. Top Header Slider Bar
22| 15. Images Overlap
23| 16. About Section Border Animations
24| 17. Portfolio Details Animations
25| 18. Food Menu Animations
26| 19. Footer Animations
27| 20. loaction Section border Animitions
28| 21. Images Zoom In and Out Animitions
29| 22. Title Animation
30| 23. Hover Show Images
31| 24. Scroll Down To Top Animation
32| 25. Scroll Effect Blog Details Page
33| 25. Increase decrease count
34
35
36    /*--------------------------------------------------------------
37    Scripts initialization
38--------------------------------------------------------------*/
39  $.exists = function (selector) {
40    return $(selector).length > 0;
41  };
42
43  $(window).on("load", function () {
44    $(window).trigger("scroll");
45    $(window).trigger("resize");
46    preloader();
47  });
48
49  $(function () {
50    $(window).trigger("resize");
51    mainNav();
52    stickyHeader();
53    dynamicBackground();
54    swiperInit();
55    startCountdown();
56    modalVideo();
57    hoverTab();
58    scrollUp();
59  });
60
61  $(window).on("scroll", function () {
62    showScrollUp();
63  });
64  /*-------------------------------------------------
65      1. preloader
66 --------------------------------------------------------------*/
67
68  function preloader() {
69    setTimeout(function () {
70      $("#ak-preloader").addClass("loaded");
71
72      if ($("#ak-preloader").hasClass("loaded")) {
73        $("#preloader")
74          .delay(800)
75          .queue(function () {
76            $(this).remove();
77          })
78          .fadeOut();
79      }
80    }, 1000);
81  }
82  /*--------------------------------------------------------------
83     2. Mobile  Menu
84 -----------------------------------------------------------------*/
85  function mainNav() {
86    $(".ak-nav").append('<span class="ak-munu_toggle"><span></span></span>');
87    $(".menu-item-has-children").append(
88      '<span class="ak-munu_dropdown_toggle"></span>'
89    );
90    $(".ak-munu_toggle").on("click", function () {
91      $(this)
92        .toggleClass("ak-toggle_active")
93        .siblings(".ak-nav_list")
94        .slideToggle();
95    });
96    $(".ak-munu_dropdown_toggle").on("click", function () {
97      $(this).toggleClass("active").siblings("ul").slideToggle();
98      $(this).parent().toggleClass("active");
99    });
100
101    $(".menu-item-has-black-section").append(
102      '<span class="ak-munu_dropdown_toggle_1"></span>'
103    );
104
105    $(".ak-munu_dropdown_toggle_1").on("click", function () {
106      $(this).toggleClass("active").siblings("ul").slideToggle();
107      $(this).parent().toggleClass("active");
108    });
109
110    $(".ak-mode_btn").on("click", function () {
111      $(this).toggleClass("active");
112      $("body").toggleClass("ak-dark");
113    });
114    // Side Nav
115    $(".ak-icon_btn").on("click", function () {
116      $(".ak-side_header").addClass("active");
117    });
118    $(".ak-close, .ak-side_header_overlay").on("click", function () {
119      $(".ak-side_header").removeClass("active");
120    });
121    //  Menu Text Split
122    $(".ak-animo_links > li > a").each(function () {
123      let xxx = $(this).html().split("").join("</span><span>");
124      $(this).html(`<span class="ak-animo_text"><span>${xxx}</span></span>`);
125    });
126  }
127  /*--------------------------------------------------------------
128     3. Sticky Header
129--------------------------------------------------------------*/
130  function stickyHeader() {
131    var $window = $(window);
132    var lastScrollTop = 0;
133    var $header = $(".ak-sticky_header");
134    var headerHeight = $header.outerHeight() + 30;
135
136    $window.scroll(function () {
137      var windowTop = $window.scrollTop();
138
139      if (windowTop >= headerHeight) {
140        $header.addClass("ak-gescout_sticky");
141      } else {
142        $header.removeClass("ak-gescout_sticky");
143        $header.removeClass("ak-gescout_show");
144      }
145
146      if ($header.hasClass("ak-gescout_sticky")) {
147        if (windowTop < lastScrollTop) {
148          $header.addClass("ak-gescout_show");
149        } else {
150          $header.removeClass("ak-gescout_show");
151        }
152      }
153
154      lastScrollTop = windowTop;
155    });
156  }
157
158  /*--------------------------------------------------------------
159     4. Dynamic Background
160-------------------------------------------------------------*/
161  function dynamicBackground() {
162    $("[data-src]").each(function () {
163      var src = $(this).attr("data-src");
164      $(this).css({
165        "background-image": "url(" + src + ")",
166      });
167    });
168  }
169
170  /*--------------------------------------------------------------
171     5. Slick Slider
172 --------------------------------------------------------------*/
173
174  function swiperInit() {
175    if ($.exists(".ak-slider-1")) {
176      var swiper = new Swiper(".ak-slider-1", {
177        loop: true,
178        speed: 800,
179        autoplay: false,
180        slidesPerView: "auto",
181        pagination: {
182          el: ".ak-pagination",
183          clickable: true,
184        },
185        navigation: {
186          nextEl: ".ak-swiper-button-prev",
187          prevEl: ".ak-swiper-button-next",
188        },
189      });
190    }
191    if ($.exists(".ak-slider-hero-2")) {
192      var swiper = new Swiper(".ak-slider-hero-2", {
193        loop: true,
194        speed: 800,
195        autoplay: false,
196        slidesPerView: "auto",
197        pagination: {
198          el: ".ak-pagination",
199          clickable: true,
200        },
201        navigation: {
202          nextEl: ".ak-swiper-button-prev-hero-2",
203          prevEl: ".ak-swiper-button-next-hero-2",
204        },
205      });
206    }
207
208    if ($.exists(".ak-slider-2")) {
209      var swiper = new Swiper(".ak-slider-2", {
210        loop: true,
211        speed: 1000,
212        autoplay: false,
213        slidesPerView: "auto",
214        spaceBetween: 30,
215        pagination: {
216          el: ".ak-pagination-2",
217          clickable: true,
218        },
219        navigation: {
220          nextEl: ".ak-swiper-button-prev-2",
221          prevEl: ".ak-swiper-button-next-2",
222        },
223      });
224    }
225    if ($.exists(".ak-slider-3")) {
226      var swiper = new Swiper(".ak-slider-3", {
227        loop: true,
228        speed: 1000,
229        autoplay: false,
230        slidesPerView: "auto",
231        navigation: {
232          nextEl: ".ak-swiper-button-prev-3",
233          prevEl: ".ak-swiper-button-next-3",
234        },
235      });
236    }
237    if ($.exists(".ak-slider-4")) {
238      var swiper = new Swiper(".ak-slider-4", {
239        loop: true,
240        speed: 1000,
241        autoplay: true,
242        slidesPerView: 1,
243        navigation: {
244          nextEl: ".ak-swiper-button-prev-4",
245          prevEl: ".ak-swiper-button-next-4",
246        },
247      });
248    }
249    if ($.exists(".ak-slider-5")) {
250      var swiper = new Swiper(".ak-slider-5", {
251        loop: true,
252        speed: 1000,
253        autoplay: true,
254        slidesPerView: 1,
255        navigation: {
256          nextEl: ".ak-swiper-button-prev-5",
257          prevEl: ".ak-swiper-button-next-5",
258        },
259      });
260    }
261    if ($.exists(".ak-slider-6")) {
262      var swiper = new Swiper(".ak-slider-6", {
263        loop: true,
264        speed: 1200,
265        autoplay: false,
266        slidesPerView: 1,
267        runCallbacksOnInit: true,
268        zoom: {
269          maxRatio: 1.2,
270          minRation: 1,
271        },
272        navigation: {
273          nextEl: ".ak-swiper-button-prev-6",
274          prevEl: ".ak-swiper-button-next-6",
275        },
276      });
277    }
278
279    if ($.exists(".ak-slider-7")) {
280      var swiper = new Swiper(".ak-slider-7", {
281        loop: true,
282        speed: 1000,
283        autoplay: false,
284        slidesPerView: "auto",
285        centeredStartd: true,
286        spaceBetween: 30,
287        pagination: {
288          el: ".ak-pagination",
289          clickable: true,
290        },
291      });
292    }
293
294    if ($.exists(".ak-slider-8")) {
295      var swiper = new Swiper(".ak-slider-8", {
296        loop: true,
297        speed: 1000,
298        autoplay: false,
299        slidesPerView: 1,
300        navigation: {
301          nextEl: ".ak-swiper-button-prev-8",
302          prevEl: ".ak-swiper-button-next-8",
303        },
304      });
305    }
306    if ($.exists(".ak-slider-9")) {
307      var swiper = new Swiper(".ak-slider-9", {
308        loop: true,
309        speed: 1000,
310        autoplay: false,
311        slidesPerView: "auto",
312        centeredStartd: true,
313        pagination: {
314          el: ".ak-pagination",
315          clickable: true,
316        },
317      });
318    }
319    if ($.exists(".ak-slider-core-services")) {
320      var text = [
321        " / Michelin fine Restaurants",
322        " / Appointed Penthouses",
323        " / Spa and Wellness Sanctuary",
324        " / VIP Lounges and Amenities",
325        " / Event and Conference",
326      ];
327      var swiper = new Swiper(".ak-slider-core-services", {
328        slidesPerView: 1,
329        loop: true,
330        speed: 1000,
331        effect: "fade",
332        pagination: {
333          el: ".ak-serice-pagination",
334          clickable: true,
335          renderBullet: function (index, className) {
336            return (
337              '<h4 class=" feature-list ' +
338              className +
339              '">' +
340              (index + 1) +
341              text[index] +
342              "</h4>"
343            );
344          },
345        },
346      });
347    }
348  }
349
350  /*--------------------------------------------------------------
351     6. Modal Video
352 --------------------------------------------------------------*/
353  function modalVideo() {
354    $(document).on("click", ".ak-video-open", function (e) {
355      e.preventDefault();
356      var video = $(this).attr("href");
357      video = video.split("?v=")[1].trim();
358      $(".ak-video-popup-container iframe").attr(
359        "src",
360        `https://www.youtube.com/embed/${video}`
361      );
362      $(".ak-video-popup").addClass("active");
363    });
364    $(".ak-video-popup-close, .ak-video-popup-layer").on("click", function (e) {
365      $(".ak-video-popup").removeClass("active");
366      $("html").removeClass("overflow-hidden");
367      $(".ak-video-popup-container iframe").attr("src", "about:blank");
368      e.preventDefault();
369    });
370  }
371
372  /*--------------------------------------------------------------
373     7. Social Button Hover
374--------------------------------------------------------------*/
375  function hoverTab() {
376    $(".ak-hover-tab").hover(function () {
377      $(this).addClass("active").siblings().removeClass("active");
378    });
379  }
380
381  /*--------------------------------------------------------------
382     8. Light Gallery
383--------------------------------------------------------------*/
384  if ($.exists("#static-thumbnails")) {
385    const galleryDiv = document.getElementById("static-thumbnails");
386    lightGallery(galleryDiv, {
387      selector: ".gallery-hover-icon a",
388      addClass: "lg-custom-thumbnails",
389      animateThumb: true,
390      zoomFromOrigin: true,
391      allowMediaOverlap: true,
392      toggleThumb: true,
393    });
394  }
395
396  /*--------------------------------------------------------------
397     9. Comming soon
398--------------------------------------------------------------*/
399function startCountdown() {
400  const section = document.getElementById("comming-section");
401  if (!section) return;
402
403  const countdownElements = {
404    months: document.getElementById("months"),
405    days: document.getElementById("days"),
406    hours: document.getElementById("hours"),
407    minutes: document.getElementById("minutes"),
408    seconds: document.getElementById("seconds"),
409  };
410
411  const targetDate = new Date("2025-08-31T00:00:00").getTime();
412
413  const updateCountdown = () => {
414    const timeRemaining = targetDate - new Date().getTime();
415
416    if (timeRemaining <= 0) {
417      clearInterval(interval);
418      Object.values(countdownElements).forEach((el) => {
419        gsap.to(el, {
420          textContent: "0",
421          duration: 0.5,
422          ease: "none",
423          snap: { textContent: 1 },
424        });
425      });
426      return;
427    }
428
429    const units = {
430      months: Math.floor(timeRemaining / (1000 * 60 * 60 * 24 * 30.44)),
431      days: Math.floor(
432        (timeRemaining % (1000 * 60 * 60 * 24 * 30.44)) /
433          (1000 * 60 * 60 * 24)
434      ),
435      hours: Math.floor(
436        (timeRemaining % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)
437      ),
438      minutes: Math.floor((timeRemaining % (1000 * 60 * 60)) / (1000 * 60)),
439      seconds: Math.floor((timeRemaining % (1000 * 60)) / 1000),
440    };
441
442    Object.keys(units).forEach((key) => {
443      gsap.to(countdownElements[key], {
444        textContent: units[key],
445        duration: 0.5,
446        ease: "none",
447        snap: { textContent: 1 },
448      });
449    });
450  };
451
452  const interval = setInterval(updateCountdown, 1000);
453  updateCountdown(); // Initial call
454}
455
456  /*--------------------------------------------------------------
457     10. Scroll Up
458--------------------------------------------------------------*/
459  function scrollUp() {
460    $(".ak-scrollup").on("click", function (e) {
461      e.preventDefault();
462      $("html,body").animate(
463        {
464          scrollTop: 0,
465        },
466        0
467      );
468    });
469  }
470  // For Scroll Up
471  function showScrollUp() {
472    let scroll = $(window).scrollTop();
473    if (scroll >= 350) {
474      $(".ak-scrollup").addClass("ak-scrollup-show");
475    } else {
476      $(".ak-scrollup").removeClass("ak-scrollup-show");
477    }
478  }
479
480  /*--------------------------------------------------------------
481     11. Gsap Register Plugin
482 --------------------------------------------------------------*/
483  gsap.registerPlugin(ScrollTrigger, ScrollSmoother, ScrollToPlugin);
484  gsap.config({
485    nullTargetWarn: false,
486  });
487  const widthall = window.innerWidth;
488
489  // create the smooth scroller FIRST!
490  const smoother = ScrollSmoother.create({
491    content: "#scrollsmoother-container",
492    smooth: 1.1,
493    normalizeScroll: true,
494    ignoreMobileResize: true,
495    effects: widthall > 991 ? true : false,
496    smoothTouch: true,
497  });
498
499  /*--------------------------------------------------------------
500     12. Heder Border Animations
501 --------------------------------------------------------------*/
502
503  if ($.exists(".nav-bar-border")) {
504    let border = document.querySelectorAll(".nav-bar-border");
505    gsap.fromTo(
506      border,
507      {
508        duration: 1,
509        width: "0%",
510      },
511      {
512        delay: 1,
513        duration: 1,
514        width: "100%",
515      }
516    );
517  }
518
519  if ($.exists(".header-logo")) {
520    let border = document.querySelectorAll(".header-logo");
521    gsap.fromTo(
522      border,
523      {
524        duration: 1,
525        height: "0%",
526      },
527      {
528        delay: 0.5,
529        duration: 1,
530        height: "100%",
531      }
532    );
533  }
534
535  if ($.exists(".ak-menu-toggle")) {
536    let border = document.querySelectorAll(".ak-menu-toggle");
537    gsap.fromTo(
538      border,
539      {
540        duration: 1,
541        height: "0%",
542      },
543      {
544        duration: 1,
545        height: "100%",
546      }
547    );
548  }
549
550  /*--------------------------------------------------------------
551     13. Comming Soon and Error Pages Border Animations
552 --------------------------------------------------------------*/
553  if ($.exists(".border-comming-soon-top")) {
554    let border = document.querySelectorAll(".border-comming-soon-top");
555    gsap.fromTo(
556      border,
557      {
558        duration: 1,
559        width: "0%",
560      },
561      {
562        delay: 1,
563        duration: 1.5,
564        width: "100%",
565      }
566    );
567  }
568  if ($.exists(".border-comming-soon-bottom")) {
569    let border = document.querySelectorAll(".border-comming-soon-bottom");
570    gsap.fromTo(
571      border,
572      {
573        duration: 1,
574        width: "0%",
575      },
576      {
577        delay: 1,
578        duration: 1,
579        width: "100%",
580      }
581    );
582  }
583  if ($.exists(".border-comming-soon-colum-left")) {
584    let border = document.querySelectorAll(".border-comming-soon-colum-left");
585    gsap.fromTo(
586      border,
587      {
588        duration: 1,
589        height: "0%",
590      },
591      {
592        delay: 2.2,
593        duration: 1,
594        height: "100%",
595      }
596    );
597  }
598  if ($.exists(".border-comming-soon-colum-right")) {
599    let border = document.querySelectorAll(".border-comming-soon-colum-right");
600    gsap.fromTo(
601      border,
602      {
603        duration: 1,
604        height: "0%",
605      },
606      {
607        delay: 2.2,
608        duration: 1,
609        height: "100%",
610      }
611    );
612  }
613
614  /*--------------------------------------------------------------
615      14. Top Header Slider Bar
616 --------------------------------------------------------------*/
617  if ($.exists(".ak-site_header .top-main-menu-li")) {
618    let akMenuToggle = document.getElementById("akMenuToggle");
619    const hamsdf = document.querySelector(".ak-main_header_right");
620    const menu = document.querySelector(".top-main-menu");
621    const links = menu.querySelectorAll(".top-main-menu-li");
622
623    const menuItemBar = gsap.timeline();
624    var navtl = gsap.timeline({ paused: true });
625    navtl.set(hamsdf, {
626      display: "none",
627      transition: "all 0.5s ease-in",
628    });
629
630    menuItemBar.to(
631      ".bar-1",
632      0.5,
633      {
634        attr: { d: "M20,0 L2,9" },
635        x: 1,
636        ease: Power2.easeInOut,
637      },
638      "start"
639    );
640
641    menuItemBar.to(
642      ".bar-2",
643      0.5,
644      {
645        autoAlpha: 0,
646      },
647      "start"
648    );
649    menuItemBar.to(
650      ".bar-3",
651      0.5,
652      {
653        attr: { d: "M22,12 L2,0" },
654        x: 1,
655        ease: Power2.easeInOut,
656      },
657      "start"
658    );
659
660    navtl
661      .to(menu, {
662        duration: 0.3,
663        opacity: 1,
664        height: "116vh",
665        ease: Expo.easeInOut,
666        stagger: 0.1,
667        background: "#040D10",
668      })
669      .fromTo(
670        links,
671        {
672          duration: 0.3,
673          opacity: 0,
674          y: 30,
675          ease: Expo.easeInOut,
676        },
677        {
678          duration: 0.3,
679          opacity: 1,
680          y: -20,
681          stagger: 0.1,
682          ease: Expo.easeInOut,
683        }
684      );
685
686    navtl.reverse();
687    menuItemBar.reverse();
688    gsap.set(links, {
689      display: "none",
690    });
691
692    akMenuToggle.addEventListener("click", () => {
693      if (!navtl.reversed()) {
694        gsap.set(links, {
695          padding: "0%",
696          display: "none",
697          paddingLeft: "0%",
698          paddingRight: "0%",
699        });
700      } else {
701        gsap.set(links, {
702          display: "flex",
703          paddingLeft: "15%",
704          paddingRight: "5%",
705        });
706      }
707      navtl.reversed(!navtl.reversed());
708      menuItemBar.reversed(!menuItemBar.reversed());
709    });
710  }
711
712  /*--------------------------------------------------------------
713     15. Images Overlap
714 --------------------------------------------------------------*/
715  if ($.exists(".overlap-opening-img")) {
716    let blogAnim = gsap.utils.toArray(".overlap-opening-img");
717    const tl3 = gsap.timeline({
718      scrollTrigger: {
719        trigger: ".overlap-opening-img",
720        start: "top 60%",
721        end: "bottom 10%",
722        scrub: false,
723        markers: false,
724      },
725    });
726
727    tl3.to(blogAnim, {
728      ease: Expo.easeInOut,
729      height: "0%",
730      duration: 1,
731      stagger: 2,
732    });
733  }
734
735  if ($.exists(".img-overlay")) {
736    let img_overlay = document.querySelectorAll(".img-overlay");
737    img_overlay.forEach((item) => {
738      const tl4 = gsap.timeline({
739        scrollTrigger: {
740          trigger: item,
741          start: "top 60%",
742          end: "bottom 10%",
743          scrub: false,
744          markers: false,
745        },
746      });
747      tl4.to(item, {
748        ease: Expo.easeInOut,
749        height: "0%",
750        duration: 1,
751        stagger: 2,
752      });
753    });
754  }
755
756  /*--------------------------------------------------------------
757    16. About Section Border Animations
758 --------------------------------------------------------------*/
759  if ($.exists(".ak-about-hr")) {
760    const tl5 = gsap.timeline({
761      scrollTrigger: {
762        trigger: ".ak-about-hr",
763        start: "top 90%",
764        end: "bottom 10%",
765        scrub: 0.5,
766        markers: false,
767      },
768    });
769
770    tl5.fromTo(
771      ".ak-about-hr",
772      {
773        width: "2%",
774      },
775      {
776        width: "13%",
777      }
778    );
779  }
780
781  /*--------------------------------------------------------------
782    17. Portfolio Details Animations
783 --------------------------------------------------------------*/
784  if ($.exists(".ak-portfolio-details-border")) {
785    const tl5 = gsap.timeline({
786      scrollTrigger: {
787        trigger: ".ak-portfolio-details-border",
788        start: "top 90%",
789        end: "bottom 10%",
790        scrub: 0.5,
791        markers: false,
792      },
793    });
794
795    tl5.fromTo(
796      ".ak-portfolio-details-border",
797      {
798        width: "5px",
799      },
800      {
801        width: "250px",
802      }
803    );
804  }
805  /*--------------------------------------------------------------
806    18. Food Menu Animations
807 --------------------------------------------------------------*/
808  if ($.exists(".food-menu-hr")) {
809    let food_menu_hr = document.querySelectorAll(".food-menu-hr.style-1");
810    const tl6 = gsap.timeline({
811      scrollTrigger: {
812        trigger: food_menu_hr,
813        start: "top 90%",
814        end: "bottom 10%",
815        scrub: 0.5,
816        markers: false,
817      },
818    });
819    tl6.fromTo(
820      food_menu_hr,
821      {
822        width: "0px",
823      },
824      {
825        duration: 2,
826        width: "200px",
827      }
828    );
829
830    let ak_menu_list_anim_2 = document.querySelectorAll(
831      ".food-menu-hr.style-1.anim-2"
832    );
833    const tl9 = gsap.timeline({
834      scrollTrigger: {
835        trigger: ak_menu_list_anim_2,
836        start: "top 90%",
837        end: "bottom 10%",
838        scrub: 0.5,
839        markers: false,
840      },
841    });
842    tl9.fromTo(
843      ak_menu_list_anim_2,
844      {
845        width: "0px",
846      },
847      {
848        duration: 2,
849        width: "200px",
850      }
851    );
852
853    let ak_menu_list_anim_3 = document.querySelectorAll(
854      ".food-menu-hr.style-1.anim-3"
855    );
856    const tl10 = gsap.timeline({
857      scrollTrigger: {
858        trigger: ak_menu_list_anim_3,
859        start: "top 90%",
860        end: "bottom 10%",
861        scrub: 0.5,
862        markers: false,
863      },
864    });
865    tl10.fromTo(
866      ak_menu_list_anim_3,
867      {
868        width: "0px",
869      },
870      {
871        duration: 2,
872        width: "200px",
873      }
874    );
875  }
876  /*--------------------------------------------------------------
877    19. Footer Animations
878 --------------------------------------------------------------*/
879  if ($.exists(".ak-hr-container")) {
880    const tl7 = gsap.timeline({
881      scrollTrigger: {
882        trigger: ".ak-hr-container",
883        start: "top 90%",
884        end: "bottom 10%",
885        scrub: false,
886        markers: false,
887      },
888    });
889
890    tl7.fromTo(
891      ".ak-footer-hr-top",
892      {
893        width: "0%",
894        duration: 0.5,
895      },
896      {
897        delay: 0.3,
898        duration: 0.5,
899        width: "100%",
900      }
901    );
902    tl7.fromTo(
903      ".ak-footer-hr-bottom",
904      {
905        width: "0%",
906      },
907      {
908        duration: 0.5,
909        width: "100%",
910      }
911    );
912    tl7.to(".footer-time-border", {
913      width: "100%",
914    });
915  }
916
917  /*--------------------------------------------------------------
918    20. loaction Section border Animitions
919 --------------------------------------------------------------*/
920  if ($.exists(".ak-loaction-hr")) {
921    const tl11 = gsap.timeline({
922      scrollTrigger: {
923        trigger: ".ak-loaction-hr",
924        start: "top center+=200",
925        end: "bottom 10%",
926        scrub: false,
927        markers: false,
928      },
929    });
930
931    tl11.fromTo(
932      ".ak-loaction-hr",
933      {
934        width: "0%",
935      },
936      {
937        delay: 0.3,
938        duration: 0.8,
939        width: "100%",
940      }
941    );
942  }
943  /*--------------------------------------------------------------
944    21. Images Zoom In and Out Animitions
945 --------------------------------------------------------------*/
946  if ($.exists(".imagesZoom")) {
947    let imagesZoomAll = gsap.utils.toArray(".imagesZoom");
948    imagesZoomAll.forEach((image) => {
949      let tl12 = gsap.timeline({
950        scrollTrigger: {
951          trigger: image,
952          start: "top 80%",
953          end: "bottom 10%",
954          scrub: 1,
955          markers: false,
956        },
957      });
958
959      tl12.fromTo(
960        image,
961        { scale: 1 },
962        {
963          scale: 1.15,
964          duration: 3.5,
965          ease: "expoScale(1, 1.15)",
966          transformOrigin: "50% 50%",
967          z: 0.1,
968          rotationZ: "0.01",
969        },
970        "<"
971      );
972    });
973  }
974
975  /*--------------------------------------------------------------
976    22. Title Animation
977 --------------------------------------------------------------*/
978  if ($.exists(".anim-title")) {
979    let title_text = document.querySelectorAll(".anim-title");
980    title_text.forEach((element) => {
981      gsap.set(title_text, { overflow: "hidden" });
982      const tlH = gsap.timeline({
983        scrollTrigger: {
984          trigger: element,
985          start: "top 80%",
986          end: "bottom 10%",
987          scrub: false,
988          markers: false,
989        },
990      });
991      let textChars = new SplitText(element, {
992        type: "chars words",
993      });
994      tlH.from(textChars.chars, {
995        duration: 0.8,
996        y: 200,
997        autoAlpha: 0,
998        scale: 0.1,
999        stagger: {
1000          from: "start",
1001          axis: "x",
1002          amount: 0.3,
1003          ease: Quint.easeOut,
1004        },
1005      });
1006    });
1007  }
1008
1009  if ($.exists(".anim-title-2")) {
1010    let animTitle2 = gsap.utils.toArray(".anim-title-2");
1011    animTitle2.forEach((element) => {
1012      let animTitleChar = new SplitText(element, {
1013        type: "chars ,words",
1014      });
1015
1016      let tlH2 = gsap.timeline({
1017        scrollTrigger: {
1018          trigger: element,
1019          start: "top 80%",
1020          end: "bottom 10%",
1021          scrub: false,
1022          markers: false,
1023        },
1024      });
1025
1026      tlH2.from(animTitleChar.chars, {
1027        duration: 0.8,
1028        scale: 1,
1029        y: 80,
1030        opacity: 0,
1031        rotationX: 100,
1032        transformOrigin: "0% 30% -30",
1033        ease: Expo.easeInOut,
1034        stagger: 0.05,
1035      });
1036    });
1037  }
1038
1039  if ($.exists(".page-title-anim")) {
1040    gsap.from(".page-title-anim", 1, {
1041      y: 100,
1042      ease: "power4.out",
1043      delay: 1.5,
1044      stagger: {
1045        amount: 0.3,
1046      },
1047    });
1048  }
1049  if ($.exists(".anim-title-3")) {
1050    let title_text_3 = document.querySelectorAll(".anim-title-3");
1051    title_text_3.forEach((element) => {
1052      let title_text_3_Chars = new SplitText(element, {
1053        type: "chars words",
1054      });
1055      gsap.from(title_text_3_Chars.chars, {
1056        duration: 0.8,
1057        scale: 1,
1058        delay: 1,
1059        y: 80,
1060        opacity: 0,
1061        rotationX: 100,
1062        transformOrigin: "0% 30% -30",
1063        ease: Expo.easeInOut,
1064        stagger: 0.05,
1065      });
1066    });
1067  }
1068
1069  /*--------------------------------------------------------------
1070    23. Hover Show Images
1071 --------------------------------------------------------------*/
1072  if ($.exists(".ak-menu-list-section-1")) {
1073    document
1074      .querySelectorAll(".ak-menu-list-section-1")
1075      .forEach(function (elem) {
1076        elem.addEventListener("mouseleave", function (dets) {
1077          gsap.to(elem.querySelector("img"), {
1078            opacity: 0,
1079            ease: Power3,
1080            duration: 0.8,
1081          });
1082        });
1083
1084        elem.addEventListener("mousemove", function (dets) {
1085          var diff = dets.clientY - elem.getBoundingClientRect().top;
1086          var dilf = dets.clientX - elem.getBoundingClientRect().left;
1087
1088          gsap.to(elem.querySelector("img"), {
1089            opacity: 1,
1090            ease: Power3,
1091            top: diff,
1092            left: dilf + 50,
1093          });
1094        });
1095      });
1096  }
1097
1098  if ($.exists(".top-main-menu")) {
1099    document.querySelectorAll(".top-main-menu-li").forEach(function (elem) {
1100      elem.firstElementChild.addEventListener("mouseleave", function (dets) {
1101        console.log(elem.thirdElementChild);
1102        gsap.to(elem.querySelector("img"), {
1103          opacity: 0,
1104          ease: Power3,
1105          duration: 0.4,
1106          display: "none",
1107          width: "0%",
1108        });
1109      });
1110
1111      elem.firstElementChild.addEventListener("mousemove", function (dets) {
1112        var diff = dets.clientY - elem.getBoundingClientRect().top;
1113        var dilf = dets.clientX - elem.getBoundingClientRect().left;
1114        gsap.to(elem.querySelector("img"), {
1115          opacity: 1,
1116          ease: Power3,
1117          duration: 0.4,
1118          display: "Block",
1119          width: "25%",
1120          top: diff,
1121          left: dilf - 500,
1122        });
1123      });
1124    });
1125  }
1126
1127  /*--------------------------------------------------------------
1128    24. Scroll Down To Top Animation
1129 --------------------------------------------------------------*/
1130  if ($.exists(".loading-overlap")) {
1131    const elem = document.querySelector(".loading-overlap");
1132    // const elem2 = document.querySelector(".footer-log-elem");
1133    var loadingElem = gsap.timeline();
1134    // elem2.addEventListener("click", function () {
1135    //   loadingElem.to(elem, {
1136    //     duration: 0.3,
1137    //     height: "100vh",
1138    //     ease: Expo.easeInOut,
1139    //   });
1140    //   loadingElem.to("html,body", {
1141    //     scrollTop: 0,
1142    //   });
1143    //   loadingElem.to(elem, {
1144    //     delay: 0.1,
1145    //     top: 0,
1146    //     height: "0vh",
1147    //     duration: 0.4,
1148    //     ease: Expo.easeInOut,
1149    //   });
1150    //   loadingElem.to(elem, {
1151    //     buttom: 0,
1152    //   });
1153    // });
1154  }
1155  /*--------------------------------------------------------------
1156    25. Scroll Effect Blog Details Page
1157 --------------------------------------------------------------*/
1158  if ($.exists("#infoProduto")) {
1159    if (widthall > 992) {
1160      let pinpontsection = document.getElementById("infoProduto");
1161      let galeria = document.getElementById("scrollGaleria");
1162      let section = document.getElementById("containerAround");
1163
1164      ScrollTrigger.create({
1165        trigger: section,
1166        pin: pinpontsection,
1167        start: "top top",
1168        endTrigger: galeria,
1169        end: "bottom bottom",
1170      });
1171    }
1172  }
1173
1174  /*--------------------------------------------------------------
1175    25. Scroll Effect Blog Details Page
1176 --------------------------------------------------------------*/
1177
1178  if ($.exists("#foodItems")) {
1179    const scrollButton = document.getElementById("scroll-btn");
1180    const foodItems = document.querySelector("#foodItems");
1181    scrollButton.addEventListener("click", () => {
1182      gsap.to(window, {
1183        scrollTo: foodItems,
1184        duration: 0.3,
1185      });
1186    });
1187  }
1188
1189  /*--------------------------------------------------------------
1190    26. accordeon
1191 --------------------------------------------------------------*/
1192  $(".ak-accordeon .ak-accordion-body")
1193    .hide()
1194    .prev()
1195    .on("click", function () {
1196      $(this)
1197        .parents(".ak-accordeon")
1198        .find(".ak-accordion-body")
1199        .not(this)
1200        .slideUp()
1201        .prev()
1202        .removeClass("active ak-icon");
1203      $(this)
1204        .next()
1205        .not(":visible")
1206        .slideDown()
1207        .prev()
1208        .addClass("active ak-icon");
1209    });
1210
1211  function textAnimation() {
1212    if (widthall > 767) {
1213      var hasAnim = $(".text_hover_animaiton");
1214      if (hasAnim.length !== 0) {
1215        hasAnim.each(function () {
1216          var $this = $(this);
1217          var splitType = "words,chars";
1218          new SplitText($this, {
1219            type: splitType,
1220            wordsClass: "menu-text",
1221          });
1222        });
1223      }
1224    }
1225  }
1226  textAnimation();
1227
1228  /*--------------------------------------------------------------
1229         27. Funfact Counting Animation
1230 --------------------------------------------------------------*/
1231  const count_number = gsap.utils.toArray(".ak-funfact.ak-style1");
1232  const count_id = gsap.utils.toArray(".amin-auto-count");
1233  if (count_number) {
1234    count_id.forEach((num) => {
1235      gsap.from(num, {
1236        scrollTrigger: {
1237          trigger: num,
1238          start: "top center+=200",
1239          markers: false,
1240        },
1241        delay: 2,
1242        innerText: 0,
1243        duration: 3,
1244        snap: {
1245          innerText: 1,
1246        },
1247      });
1248    });
1249    gsap.from(count_number, {
1250      scrollTrigger: {
1251        trigger: count_number,
1252        start: "top center+=200",
1253        markers: false,
1254      },
1255      duration: 2,
1256      scale: 0.5,
1257      opacity: 0,
1258      delay: 0.5,
1259      stagger: 0.2,
1260      ease: "elastic",
1261      force3D: false,
1262    });
1263  }
1264
1265  /*  increase decrease*/
1266  if ($.exists(".increase-decrease")) {
1267    document.getElementById("increase").addEventListener("click", function () {
1268      var value = parseInt(
1269        document.getElementById("number-single-room").value,
1270        10
1271      );
1272      value = isNaN(value) ? 0 : value;
1273      value++;
1274      document.getElementById("number-single-room").value = value;
1275    });
1276
1277    document.getElementById("decrease").addEventListener("click", function () {
1278      var value = parseInt(
1279        document.getElementById("number-single-room").value,
1280        10
1281      );
1282      value = isNaN(value) ? 0 : value;
1283      value < 1 ? (value = 1) : "";
1284      value--;
1285      document.getElementById("number-single-room").value = value;
1286    });
1287  }
1288
1289  //end the scripts ok
1290})(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.