1import { Slideshow } from "../js/slideshow.js"; 2let slideshow; 3 4//===========================================TopSlider============================================================ 5 6const slideShowInit = () => { 7 var slides = document.querySelector(".slides"); 8 9 if (document.body.contains(document.querySelector(".slides"))) { 10 slideshow = new Slideshow(slides); 11 12 window.addEventListener("resize", () => { 13 slideshow.DOM.changesColor() 14 }); 15 16 if (slideshow.slidesTotal <= 1) { 17 slideshow.DOM.countColor.style.display = "none"; 18 const slidesOne = document.querySelectorAll(".top-slider-over-wrapper"); 19 slidesOne.forEach((elem, i) => { 20 const slidesOneItem = elem.querySelectorAll(".slider-countable"); 21 slidesOneItem[i].classList.add("slides-one"); 22 }); 23 slideshow.DOM.slideLightActive ? slideshow.DOM.changesColor() : null; 24 } else { 25 document 26 .querySelector(".slides-nav__item--prev") 27 .addEventListener("click", () => slideshow.prev()); 28 document 29 .querySelector(".slides-nav__item--next") 30 .addEventListener("click", () => slideshow.next()); 31 32//===========================================TopSliderTouch======================================================= 33 34 let startX; 35 36 function handleTouchEnd(event) { 37 const endX = event.changedTouches[0].clientX; 38 const swipeLimit = 50; 39 40 if (endX - startX > swipeLimit) { 41 slideshow.prev(); 42 } else if (startX - endX > swipeLimit) { 43 slideshow.next(); 44 } 45 46 document 47 .querySelector(".slides") 48 .removeEventListener("touchend", handleTouchEnd, { 49 passive: false, 50 }); 51 } 52 53 document.querySelector(".slides").addEventListener( 54 "touchstart", 55 function (event) { 56 if (event.touches.length === 1) { 57 startX = event.touches[0].clientX; 58 59 document 60 .querySelector(".slides") 61 .addEventListener("touchend", handleTouchEnd, { 62 passive: false, 63 }); 64 } 65 }, 66 { 67 passive: false, 68 } 69 ); 70 71//===========================================EndTopSliderTouch==================================================== 72 } 73 } 74 75}; 76 77//===========================================EndTopSlider========================================================= 78//================================================================================================================ 79//===========================================AnimationArrow======================================================= 80 81const arrowNext = () => { 82 const rightSvg = document.querySelectorAll(".arrow-right-svg"); 83 gsap 84 .timeline({ 85 defaults: { 86 duration: 0.55, 87 ease: "power1.inOut", 88 }, 89 onStart: () => { 90 rightSvg.forEach((a) => { 91 a.classList.add("active-arrow"); 92 }); 93 }, 94 onComplete: () => { 95 rightSvg.forEach((a) => { 96 a.classList.remove("active-arrow"); 97 }); 98 }, 99 }) 100 .addLabel("start", 0) 101 .to(document.querySelector(".arrow-right-svg"), { 102 ease: "power1.inOut", 103 }); 104}; 105 106const arrowPrev = () => { 107 const leftSvg = document.querySelectorAll(".arrow-left-svg"); 108 gsap 109 .timeline({ 110 defaults: { 111 duration: 0.55, 112 ease: "power1.inOut", 113 }, 114 onStart: () => { 115 leftSvg.forEach((a) => { 116 a.classList.add("active-left-arrow"); 117 }); 118 }, 119 onComplete: () => { 120 leftSvg.forEach((a) => { 121 a.classList.remove("active-left-arrow"); 122 }); 123 }, 124 }) 125 .addLabel("start", 0) 126 .to(document.querySelector(".arrow-left-svg"), { 127 ease: "power1.inOut", 128 }); 129}; 130 131//===========================================EndAnimationArrow==================================================== 132//================================================================================================================ 133//===========================================AnimationLinkLine==================================================== 134 135const btnLinkAnimation = () => { 136 137 document.querySelectorAll(".afisha-modal-desc, .afisha-filters-item, .page-header-ttl-over-wrapper .tab-ttl, .tab-index li, .section-nav-item").forEach((el, i) => { 138 const lineLink = el.querySelector(".line-btn-link"); 139 140 if (lineLink !== null) { 141 el.addEventListener("mouseenter", () => { 142 lineLink.classList.add("line"); 143 }); 144 el.addEventListener("mouseout", () => { 145 lineLink.classList.remove("line"); 146 }); 147 } 148 149 }); 150}; 151 152//===========================================EndAnimationLinkLine
152================================================= 153//================================================================================================================ 154//===========================================AnimationTopSlides=================================================== 155 156const scroll = () => { 157 const contentElements = [...document.querySelectorAll(".content-scroll")]; 158 const totalContentElements = contentElements.length; 159 contentElements.forEach((el, position) => { 160 const isLast = position === totalContentElements - 1; 161 162 gsap.timeline({ 163 scrollTrigger: { 164 trigger: ".content-scroll-news", 165 start: "-80px top", 166 end: "+=100%", 167 scrub: true, 168 toggleClass: "scroll-news", 169 }, 170 }); 171 172 gsap 173 .timeline({ 174 scrollTrigger: { 175 trigger: el, 176 start: "top top", 177 end: "+=100%", 178 scrub: true, 179 toggleClass: "content-sticky", 180 }, 181 }) 182 .to( 183 el, 184 { 185 ease: "none", 186 startAt: { filter: "brightness(100%) contrast(100%)" }, 187 filter: isLast ? "none" : "brightness(45%) contrast(95%)", 188 yPercent: isLast ? 0 : -35, 189 }, 190 0 191 ) 192 .to( 193 ".top-slide-bg-inner", 194 { 195 ease: "none", 196 startAt: { filter: "blur(0px)" }, 197 filter: isLast ? "none" : "blur(15px)", 198 yPercent: isLast ? 0 : -15, 199 scale: 1, 200 }, 201 0 202 ); 203 }); 204}; 205 206//===========================================EndAnimationTopSlides================================================ 207//================================================================================================================ 208//===========================================AnimationBlurEffect================================================== 209 210const img = () => { 211 const contentImg = [...document.querySelectorAll(".article-pic-inner-main")]; 212 contentImg.forEach((el) => { 213 gsap 214 .timeline({ 215 scrollTrigger: { 216 trigger: el, 217 start: "top bottom", 218 end: "bottom bottom", 219 scrub: true, 220 }, 221 }) 222 .to( 223 el, 224 { 225 ease: "none", 226 startAt: { filter: "blur(15px)" }, 227 filter: "blur(0px)", 228 scale: 1, 229 }, 230 0 231 ); 232 }); 233}; 234 235//===========================================EndAnimationBlurEffect=============================================== 236//================================================================================================================ 237//===========================================AnimationStickyFestival============================================== 238 239const scrollSlide = () => { 240 const contentSlide = [...document.querySelectorAll(".festival-slide")]; 241 242 contentSlide.forEach((el) => { 243 const tl = gsap 244 .timeline({ 245 scrollTrigger: { 246 trigger: el, 247 start: "center center", 248 end: "max", 249 scrub: true, 250 }, 251 }) 252 .to( 253 el, 254 { 255 ease: "none", 256 scale: 0.7, 257 yPercent: -45, 258 }, 259 0 260 ); 261 ScrollTrigger.refresh(); 262 }); 263}; 264 265const scrollSlides = () => { 266 const contentSlide = [...document.querySelectorAll(".festival-slide")]; 267 if (window.screen.width > 767) { 268 scrollSlide(); 269 } else { 270 contentSlide.forEach((el) => { 271 el.style.position = "relative"; 272 }); 273 } 274}; 275 276//===========================================EndAnimationStickyFestival=========================================== 277//================================================================================================================ 278//===========================================NewsSwiperSlider===================================================== 279 280const newsSliderInit = () => { 281 let newsItem = document.querySelectorAll(".news-list-home"); 282 283 newsItem.forEach((slider) => { 284 new Swiper(slider, { 285 grabCursor: true, 286 slidesPerView: 1, 287 // autoHeight: true, 288 speed: 1000, 289 ease: "power3.inOut", 290 watchSlidesProgress: true, 291 effect: "creative", 292 creativeEffect: { 293 prev: { 294 translate: ["-0%", 0, -1], 295 }, 296 next: { 297 translate: ["100%", 0, 0], 298 }, 299 }, 300 navigation: { 301 nextEl: slider.querySelector(".swiper-button-next"), 302 prevEl: slider.querySelector(".swiper-button-prev"), 303 }, 304 on: { 305 slideNextTransitionStart: function () { 306 arrowNext(); 307 }, 308 slidePrevTransitionStart: function () { 309 arrowPrev(); 310 }, 311 }, 312 pagination: { 313 el: slider.querySelector(".slider-count"), 314 type: "fraction", 315 formatFractionCurrent: addZero, 316 formatFractionTotal: addZero 317 }, 318 }); 319 }); 320}; 321 322//===========================================EndNewsSwiperSlider================================================== 323//================================================================================================================ 324//===========================================PartnersSwiperSlider================================================= 325 326const initSwiper = () => { 327 let partnersSlides = [...document.querySelectorAll(".partners-list")]; 328 329 let sliderNews; 330 331 const newsSwiper = () => {
332 partnersSlides.forEach((slider, i) => { 333 // Use the actual viewport, not the physical screen. This also makes the 334 // slider respond correctly to mobile browser viewports and orientation. 335 let slidesPerViews = 336 window.innerWidth <= 767 ? 2 : window.innerWidth <= 1023 ? 3 : 5; 337 let slidesPerGroups = 338 window.innerWidth <= 767 ? 2 : window.innerWidth <= 1023 ? 3 : 5; 339 340 sliderNews = new Swiper(slider, { 341 slidesPerView: slidesPerViews, 342 slidesPerGroup: slidesPerGroups, 343 grabCursor: true, 344 spaceBetween: 8, 345 speed: 1000, 346 pagination: { 347 el: ".slider-count", 348 type: "fraction", 349 formatFractionCurrent: addZero, 350 formatFractionTotal: addZero, 351 }, 352 navigation: { 353 nextEl: ".swiper-button-next", 354 prevEl: ".swiper-button-prev", 355 }, 356 breakpoints: { 357 767: { 358 slidesPerView: slidesPerViews, 359 slidesPerGroup: slidesPerGroups, 360 }, 361 1023: { 362 slidesPerView: slidesPerViews, 363 slidesPerGroup: slidesPerGroups, 364 }, 365 }, 366 on: { 367 slideNextTransitionStart: function () { 368 arrowNext(); 369 }, 370 slidePrevTransitionStart: function () { 371 arrowPrev(); 372 }, 373 }, 374 }); 375 376 function addZero(num) { 377 return num > 9 ? num : "0" + num; 378 } 379 }); 380 }; 381 const resizeHandlerSlider = () => { 382 window.addEventListener("resize", () => { 383 if (sliderNews) { 384 sliderNews.destroy(); 385 } 386 newsSwiper(); 387 }); 388 }; 389 390 resizeHandlerSlider(); 391 392 newsSwiper(); 393}; 394 395//===========================================EndPartnersSwiperSlider============================================== 396//================================================================================================================ 397//===========================================AnimationButton====================================================== 398 399// const btnAnimationInit = () => { 400// let btnElem = document.querySelectorAll(".btn-animation"); 401 402// btnElem.forEach((btn) => { 403// let elem = btn.querySelector(".span-fill"); 404// btn.addEventListener("mouseenter", function (e) { 405// const s = function offset(el) { 406// let box = btn.getBoundingClientRect(); 407// let docElem = document.documentElement; 408// return { 409// top: box.top + window.pageYOffset - docElem.clientTop, 410// left: box.left + window.pageXOffset - docElem.clientLeft, 411// }; 412// }; 413 414// let relX = e.pageX - s().left; 415// let relY = e.pageY - s().top; 416 417// elem.style.left = relX + "px"; 418// elem.style.top = relY + "px"; 419// }); 420// }); 421// }; 422 423//===========================================EndAnimationButton=================================================== 424//================================================================================================================ 425//===========================================FixedMenu============================================================ 426 427const headerInit = () => { 428 const fixedHeader = () => { 429 let scrollPos = window.pageYOffset, 430 offsetPos = 0; 431 432 if ($(".bvi-panel").length && !$(".bvi-panel").hasClass("bvi-panel-hide")) { 433 offsetPos += $(".bvi-panel").outerHeight(); 434 } 435 436 const topSlider = document.querySelector(".top-slider-over-wrapper"); 437 438 if (document.body.contains(document.querySelector(".top-slider"))) { 439 if (scrollPos > topSlider.clientHeight) { 440 if (document.querySelector(".header").classList.contains("fixed")) { 441 } 442 document.querySelector(".header").classList.add("fixed"); 443 } else { 444 if (document.querySelector(".header").classList.contains("fixed")) { 445 document.querySelector(".header").classList.remove("fixed"); 446 } 447 } 448 } else if (scrollPos > offsetPos) { 449 if (document.querySelector(".header").classList.contains("fixed")) { 450 } 451 document.querySelector(".header").classList.add("fixed"); 452 } else { 453 if (document.querySelector(".header").classList.contains("fixed")) { 454 document.querySelector(".header").classList.remove("fixed"); 455 } 456 } 457 }; 458 459 window.addEventListener("scroll", () => { 460 fixedHeader(); 461 }); 462}; 463 464//===========================================EndFixedMenu========================================================= 465//================================================================================================================ 466//===========================================AnimationOpenMenu==================================================== 467 468const headerMenuInit = () => { 469 470 let toggle = false;
471 472 const headerTop = document.querySelector(".header-top"); 473 const headerMenu = document.querySelector(".header-menu"); 474 const headerLogoColor = document.querySelector(".header-logo"); 475 const itemNone = document.querySelectorAll(".item-none"); 476 477 const c = () => { 478 gsap 479 .timeline({ 480 defaults: { 481 duration: 0.55, 482 ease: "power1.inOut", 483 }, 484 onStart: () => { 485 headerLogoColor.classList.add("fill-svg-logo"); 486 487 headerTop.style.borderBottom = "1px solid transparent" 488 ? (headerTop.style.borderBottom = "0 solid transparent") 489 : (headerTop.style.borderBottom = "1px solid transparent"); 490 491 itemNone.forEach((e, i) => { 492 e.classList.add("item-none-down"); 493 }); 494 document 495 .querySelector(".header-humb-menu") 496 .classList.add("menu-enter"); 497 document.querySelector(".menu-svg").classList.add("active-menu-svg"); 498 document.querySelector(".middle").classList.remove("middle-hover"); 499 }, 500 onComplete: () => {}, 501 }) 502 .addLabel("start", 0) 503 .to(headerMenu, { 504 height: "100%", 505 }); 506 }; 507 508 const b = () => { 509 gsap 510 .timeline({ 511 defaults: { 512 duration: 0.55, 513 ease: "power1.inOut", 514 }, 515 onStart: () => {}, 516 onComplete: () => { 517 headerLogoColor.classList.remove("fill-svg-logo"); 518 headerTop.style.borderBottom = "0 solid transparent" 519 ? (headerTop.style.borderBottom = "") 520 : (headerTop.style.borderBottom = "0 solid transparent"); 521 itemNone.forEach((e) => { 522 e.classList.remove("item-none-down"); 523 }); 524 document 525 .querySelector(".header-humb-menu") 526 .classList.remove("menu-enter"); 527 document 528 .querySelector(".menu-svg") 529 .classList.remove("active-menu-svg"); 530 document.querySelector(".middle").classList.add("middle-hover"); 531 }, 532 }) 533 .addLabel("start", 0) 534 .to(headerMenu, { 535 height: 0, 536 }); 537 }; 538 539 document.querySelector(".header-humb-menu").addEventListener("click", () => { 540 541 if ($(".bvi-panel").length && !$(".bvi-panel").hasClass("bvi-panel-hide") && !$("header").hasClass("fixed")) { 542 543 $(".header-menu").css({ 544 top: $(".bvi-panel").outerHeight() - $(window).scrollTop() 545 }) 546 547 } else { 548 549 $(".header-menu").css({ 550 top: 0 551 }) 552 553 } 554 555 document.querySelector(".header-menu").classList.toggle("active"); 556 document.querySelector("html").classList.toggle("menu-open"); 557 558 toggle = !toggle; 559 //toggle = toggle ? true : false; 560 561 c(); 562 563 if (toggle == false) { 564 b(); 565 } 566 }); 567}; 568 569//===========================================EndAnimationMenu===================================================== 570//================================================================================================================ 571//===========================================SmoothScroll========================================================= 572 573const smoothScrollInit = () => { 574 SmoothScroll({ 575 animationTime: 1000, // [ms] 576 stepSize: 100, // [px] 577 578 // Acceleration 579 // accelerationDelta : 50, // 50 580 accelerationMax: 1, // 3 581 }); 582}; 583 584//===========================================EndSmoothScroll====================================================== 585//================================================================================================================ 586//===========================================LoaderAnimation====================================================== 587 588// function startLoader() { 589// gsap.to(".wrap-number", { 590// duration: 1, 591// opacity: 0, 592// ease: "power4.inOut", 593// delay: 0.5, 594// }); 595// gsap.to(".loader", { 596// duration: 1, 597// zIndex: -1, 598// ease: "power4.inOut", 599// delay: 0.5, 600// }); 601// gsap.fromTo( 602// ".over-wrapper", 603// { 604// duration: 2, 605// height: "90vh", 606// width: "100vw", 607// overflow: "hidden", 608// position: "fixed", 609// top: "200%", 610// scale: 0.5, 611// ease: "power4.inOut", 612// delay: 0.5, 613// }, 614// { 615// duration: 2, 616// height: "90vh", 617// width: "100vw", 618// overflow: "hidden", 619// position: "fixed", 620// scale: 0.5, 621// top: 0, 622// ease: "power4.inOut", 623// delay: 0.5, 624// } 625// ); 626// gsap.to(".over-wrapper", { 627// height: "100vh", 628// duration: 2, 629// scale: 1, 630// ease: "power4.inOut", 631// delay: 2, 632// }); 633// gsap.to(".over-wrapper", { 634// position: "relative", 635// clearProps: "transform,height,width,overflow", 636// delay: 4, 637// }); 638// } 639
640var preLoader = document.querySelector(".loader"); 641 642function fadePreLoader(el) { 643 el.style.opacity = 1; 644 var interPreLoader = setInterval(function () { 645 el.style.opacity = el.style.opacity - 0.05; 646 if (el.style.opacity <= 0.05) { 647 clearInterval(interPreLoader); 648 preLoader.style.display = "none"; 649 preLoader.style.opacity = 0; 650 document.querySelector("html").classList.remove("loading-hidden"); 651 } 652 }, 15); 653} 654 655setTimeout(function () { 656 fadePreLoader(preLoader); 657}, 1500); 658 659if (document.readyState == "loading") { 660 document.addEventListener("DOMContentLoaded", work); 661} else { 662 663 setTimeout(function () { 664 loaderLogo() 665 loaderHeader() 666 // startLoader() 667 }, 100); 668} 669 670function loaderLogo() { 671 return gsap 672 .timeline({ 673 defaults: { 674 duration: 2, 675 ease: "power1.inOut", 676 }, 677 }) 678 .addLabel("start", 0) 679 .to(".header-logo", { 680 duration: 0.5, 681 y: 50, 682 ease: "power2.inOut", 683 }) 684 .to(".header-logo", { 685 duration: 0.5, 686 y: 0, 687 zIndex: 1, 688 ease: "power2.inOut", 689 delay: 0.2, 690 }); 691} 692 693function loaderHeader() { 694 return gsap 695 .timeline({ 696 defaults: { 697 duration: 2, 698 ease: "power1.inOut", 699 }, 700 }) 701 .addLabel("start", 0) 702 .to(".header-top", { 703 duration: 0.1, 704 borderBottom: "0px solid transparent", 705 // ease: "power2.inOut", 706 }) 707 .to(".header-top-inner", { 708 duration: 0.5, 709 y: -20, 710 opacity: 0, 711 ease: "power2.inOut", 712 }) 713 .to(".header-top-inner", { 714 duration: 0.5, 715 y: 0, 716 opacity: 1, 717 ease: "power2.inOut", 718 delay: 0.2, 719 }) 720 .to(".header-top", { 721 duration: 0.5, 722 clearProps: "borderBottom", 723 ease: "power2.inOut", 724 }); 725} 726 727//===========================================EndLoaderAnimation=================================================== 728//================================================================================================================ 729//===========================================AnimationTransitionPagesEffect======================================= 730 731function transitionLeaveAnimation() { 732 return gsap 733 .timeline({ 734 defaults: { 735 duration: 2, 736 ease: "power1.inOut", 737 }, 738 }) 739 .addLabel("start", 0) 740 .to(".transition-loading", { 741 duration: 0.5, 742 scaleY: 1, 743 transformOrigin: "top", 744 ease: "power4.inOut", 745 }) 746 .to(".transition-loading", { 747 duration: 0.5, 748 scaleY: 0, 749 transformOrigin: "bottom", 750 ease: "power4.inOut", 751 delay: 0.2, 752 }); 753} 754 755function transitionEnterAnimation() { 756 return gsap 757 .timeline({ 758 defaults: { 759 duration: 2, 760 ease: "power1.inOut", 761 }, 762 }) 763 .addLabel("start", 0) 764 .to(".header-top", { 765 duration: 0.1, 766 borderBottom: "0px solid transparent", 767 ease: "power2.inOut", 768 }) 769 .to(".transition-loading", { 770 duration: 0.5, 771 scaleY: 1, 772 transformOrigin: "top", 773 ease: "power2.inOut", 774 }) 775 .to(".transition-loading", { 776 duration: 0.5, 777 scaleY: 0, 778 transformOrigin: "bottom", 779 ease: "power2.inOut", 780 delay: 0.2, 781 }) 782 .to(".header-top", { 783 duration: 0.5, 784 clearProps: "borderBottom", 785 ease: "power2.inOut", 786 }); 787} 788 789function transitionLeaveAnimationLogo() { 790 return gsap 791 .timeline({ 792 defaults: { 793 duration: 2, 794 ease: "power1.inOut", 795 }, 796 }) 797 .addLabel("start", 0) 798 .to(".header-logo", { 799 duration: 0.5, 800 y: 50, 801 ease: "power2.inOut", 802 }) 803 .to(".header-logo", { 804 duration: 0.5, 805 y: 0, 806 zIndex: 1, 807 ease: "power2.inOut", 808 delay: 0.2, 809 }); 810} 811 812function transitionLeaveAnimationHeader() { 813 return gsap 814 .timeline({ 815 defaults: { 816 duration: 2, 817 ease: "power1.inOut", 818 }, 819 }) 820 .addLabel("start", 0) 821 .to(".header-top", { 822 duration: 0.1, 823 borderBottom: "0px solid transparent", 824 ease: "power2.inOut", 825 }) 826 .to(".header-top-inner", { 827 duration: 0.5, 828 y: -20, 829 opacity: 0, 830 ease: "power2.inOut", 831 }) 832 .to(".header-top-inner", { 833 duration: 0.5, 834 y: 0, 835 opacity: 1, 836 ease: "power2.inOut", 837 delay: 0.2, 838 }) 839 .to(".header-top", { 840 duration: 0.5, 841 clearProps: "borderBottom", 842 ease: "power2.inOut", 843 }); 844} 845 846function transitionEnterAnimationLogo() { 847 return gsap 848 .timeline({ 849 defaults: { 850 duration: 2, 851 ease: "power1.inOut", 852 }, 853 }) 854 .addLabel("start", 0) 855 .to(".header-logo", { 856 duration: 0.5, 857 y: 50, 858 ease: "power2.inOut", 859 }) 860 .to(".header-logo", { 861 duration: 0.5, 862 y: 0, 863 zIndex: 1, 864 ease: "power2.inOut", 865 delay: 0.2, 866 }); 867} 868 869function transitionEnterAnimationHeader() { 870 return gsap 871 .timeline({ 872 defaults: { 873 duration: 2, 874 ease: "power1.inOut", 875 }, 876 }) 877 .addLabel("start", 0) 878 .to(".header-top", { 879 duration: 0.1, 880 borderBottom: "0px solid transparent", 881 ease: "power2.inOut", 882 }) 883 .to(".header-top-inner", { 884 duration: 0.5, 885 y: -20, 886 opacity: 0, 887 ease: "power2.inOut", 888 }) 889 .to(".header-top-inner", { 890 duration: 0.5, 891 y: 0, 892 opacity: 1, 893 ease: "power2.inOut", 894 delay: 0.2, 895 }) 896 .to(".header-top", { 897 duration: 0.5, 898 clearProps: "borderBottom", 899 ease: "power2.inOut", 900 }); 901} 902 903//===========================================EndAnimationTransitionPagesEffect==================================== 904//================================================================================================================ 905//===========================================BarbaHooks=========================================================== 906 907barba.hooks.after(() => { 908 909 $(window).scrollTop(0); 910 911 $("html").removeClass("menu-open"); 912 913 $("body").removeClass("modal-open").css({ 914 paddingRight: 0 915 }); 916 $(".modal-backdrop").remove(); 917 918 smoothScrollInit(); 919 initForms(); 920 fixDaysMob(); 921 Splitting(); 922 scroll(); 923 img(); 924 scrollSlides(); 925 slideShowInit(); 926 btnLinkAnimation(); 927 headerMenuInit(); 928 newsSliderInit(); 929 // btnAnimationInit(); 930 headerInit(); 931 initSwiper(); 932 if ($(".lazy-list").length) {
933 activateLazyImages($(".lazy-list")); 934 } 935 yall(); 936 937 // console.log("stop") 938}); 939 940//===========================================EndBarbaHooks======================================================== 941//================================================================================================================ 942//===========================================InitDocument========================================================= 943 944function ready() { 945 const initializePage = () => { 946 smoothScrollInit(); 947 Splitting(); 948 scroll(); 949 img(); 950 scrollSlides(); 951 slideShowInit(); 952 btnLinkAnimation(); 953 headerMenuInit(); 954 newsSliderInit(); 955 // btnAnimationInit(); 956 headerInit(); 957 initSwiper(); 958 }; 959 960 if (document.readyState == "loading") { 961 document.addEventListener("DOMContentLoaded", initializePage, { once: true }); 962 } else { 963 initializePage(); 964 } 965} 966 967ready(); 968 969//===========================================EndInitDocument====================================================== 970//================================================================================================================ 971//===========================================BarbaInit============================================================ 972 973function delay(n) { 974 n = n || 0; 975 return new Promise((done) => { 976 setTimeout(() => done(), n); 977 }); 978} 979 980if (!$("#panel").length) { 981 982 barba.init({ 983 prevent: ({ el }) => ( 984 el.hasAttribute('data-fancybox') 985 || $(el).closest("#panel").length 986 || $(el).closest(".bvi-panel").length 987 || $(el).closest(".bvi-body").length 988 || $(el).attr('href').includes("upload/") 989 || $(el).attr('href').includes("playbill/") 990 || $(el).attr('href').includes("contacts/") 991 || $(el).attr('href').includes("#tab=") 992 ), 993 debug: true, 994 transitions: [ 995 { 996 name: "transition", 997 sync: true, 998 999 async leave(data) { 1000 const done = this.async(); 1001 transitionLeaveAnimation(); 1002 transitionLeaveAnimationLogo() 1003 transitionLeaveAnimationHeader() 1004 await delay(500); 1005 done(); 1006 }, 1007 1008 async enter(data) { 1009 const done = this.async(); 1010 transitionEnterAnimation(); 1011 transitionEnterAnimationLogo() 1012 transitionEnterAnimationHeader() 1013 await delay(500); 1014 done(); 1015 } 1016 }, 1017 ], 1018 }); 1019 1020} 1021 1022 1023//===========================================EndBarbaInit=========================================================
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.