PageSourceSearch

https://morozova.center/assets/js/script.js

js morozova.center collected 2026-10-07 19:28:05 UTC 45,898 bytes, 1,748 lines download raw bytes

1(function ($) {
2  "use strict";
3
4  $(function () {
5    $(".btn-1")
6      .on("mouseenter", function (e) {
7        var parentOffset = $(this).offset(),
8          relX = e.pageX - parentOffset.left,
9          relY = e.pageY - parentOffset.top;
10        $(this).find("span").css({ top: relY, left: relX });
11      })
12      .on("mouseout", function (e) {
13        var parentOffset = $(this).offset(),
14          relX = e.pageX - parentOffset.left,
15          relY = e.pageY - parentOffset.top;
16        $(this).find("span").css({ top: relY, left: relX });
17      });
18  });
19
20  function leftOuterContainer() {
21    if ($(".left-outer-container").length) {
22      var windowSize = $(window).width();
23      if (windowSize >= 1170) {
24        var width = $(window).width() - 1170,
25          LOC = width / 2;
26        $(".left-outer-container").css("margin-left", LOC);
27      }
28    }
29  }
30  leftOuterContainer();
31
32  //Hide Loading Box (Preloader)
33  function handlePreloader() {
34    if ($(".loader-wrap").length) {
35      $(".loader-wrap").delay(1000).fadeOut(500);
36    }
37    TweenMax.to($(".loader-wrap .overlay"), 1.2, {
38      force3D: true,
39      left: "100%",
40      ease: Expo.easeInOut,
41    });
42  }
43
44  if ($(".preloader-close").length) {
45    $(".preloader-close").on("click", function () {
46      $(".loader-wrap").delay(200).fadeOut(500);
47    });
48  }
49
50  function dynamicCurrentMenuClass(selector) {
51    let FileName = window.location.href.split("/").reverse()[0];
52
53    selector.find("li").each(function () {
54      let anchor = $(this).find("a");
55      if ($(anchor).attr("href") == FileName) {
56        $(this).addClass("current");
57      }
58    });
59    // if any li has .current elmnt add class
60    selector.children("li").each(function () {
61      if ($(this).find(".current").length) {
62        $(this).addClass("current");
63      }
64    });
65    // if no file name return
66    if ("" == FileName) {
67      selector.find("li").eq(0).addClass("current");
68    }
69  }
70
71  //Price Range Slider
72  if ($(".price-range-slider").length) {
73    $(".price-range-slider").slider({
74      range: true,
75      min: 10,
76      max: 200,
77      values: [10, 99],
78      slide: function (event, ui) {
79        $("input.property-amount").val(ui.values[0] + " - " + ui.values[1]);
80      },
81    });
82
83    $("input.property-amount").val(
84      $(".price-range-slider").slider("values", 0) +
85        " - $" +
86        $(".price-range-slider").slider("values", 1)
87    );
88  }
89
90  // dynamic current class
91  let mainNavUL = $(".main-menu").find(".navigation");
92  dynamicCurrentMenuClass(mainNavUL);
93
94  //Update Header Style and Scroll to Top
95  function headerStyle() {
96    if ($(".main-header").length) {
97      var windowpos = $(window).scrollTop();
98      var siteHeader = $(".main-header");
99      var scrollLink = $(".scroll-to-top");
100      var sticky_header = $(".main-header .sticky-header");
101      if (windowpos > 100) {
102        siteHeader.addClass("fixed-header");
103        sticky_header.addClass("animated slideInDown");
104        scrollLink.fadeIn(300);
105      } else {
106        siteHeader.removeClass("fixed-header");
107        sticky_header.removeClass("animated slideInDown");
108        scrollLink.fadeOut(300);
109      }
110    }
111  }
112
113  headerStyle();
114
115  //Submenu Dropdown Toggle
116  if ($(".main-header li.dropdown ul").length) {
117    $(".main-header .navigation li.dropdown").append(
118      '<div class="dropdown-btn"><span class="fa fa-angle-right"></span></div>'
119    );
120  }
121
122  //Hidden Sidebar
123  if ($(".hidden-sidebar").length) {
124    var animButton = $(".sidemenu-nav-toggler"),
125      hiddenBar = $(".hidden-sidebar"),
126      navOverlay = $(".nav-overlay"),
127      hiddenBarClose = $(".hidden-sidebar-close");
128
129    function showMenu() {
130      TweenMax.to(hiddenBar, 0.6, {
131        force3D: false,
132        right: "0",
133        ease: Expo.easeInOut,
134      });
135      hiddenBar.removeClass("close-sidebar");
136      navOverlay.fadeIn(500);
137    }
138
139    function hideMenu() {
140      TweenMax.to(hiddenBar, 0.6, {
141        force3D: false,
142        right: "-480px",
143        ease: Expo.easeInOut,
144      });
145      hiddenBar.addClass("close-sidebar");
146      navOverlay.fadeOut(500);
147    }
148    animButton.on("click", function () {
149      if (hiddenBar.hasClass("close-sidebar")) showMenu();
150      else hideMenu();
151    });
152    navOverlay.on("click", function () {
153      hideMenu();
154    });
155    hiddenBarClose.on("click", function () {
156      hideMenu();
157    });
158  }
159
160  if ($(".nav-overlay").length) {
161    // / cursor /
162    var cursor = $(".nav-overlay .cursor"),
163      follower = $(".nav-overlay .cursor-follower");
164
165    var posX = 0,
166      posY = 0;
167
168    var mouseX = 0,
169      mouseY = 0;
170
171    TweenMax.to({}, 0.016, {
172      repeat: -1,
173      onRepeat: function () {
174        posX += (mouseX - posX) / 9;
175        posY += (mouseY - posY) / 9;
176
177        TweenMax.set(follower, {
178          css: {
179            left: posX - 22,
180            top: posY - 22,
181          },
182        });
183
184        TweenMax.set(cursor, {
185          css: {
186            left: mouseX,
187            top: mouseY,
188          },
189        });
190      },
191    });
192
193    $(document).on("mousemove", function (e) {
194      var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
195      mouseX = e.pageX;
196      mouseY = e.pageY - scrollTop;
197    });
198    $("button, a").on("mouseenter", function () {
199      cursor.addClass("active");
200      follower.addClass("active");
201    });
202    $("button, a").on("mouseleave", function () {
203      cursor.removeClass("active");
204      follower.removeClass("active");
205    });
206    $(".nav-overlay").on("mouseenter", function () {
207      cursor.addClass("close-cursor");
208      follower.addClass("close-cursor");
209    });
210    $(".nav-overlay").on("mouseleave", function () {
211      cursor.removeClass("close-cursor");
212      follower.removeClass("close-cursor");
213    });
214  }
215
216  //Mobile Nav Hide Show
217  if ($(".mobile-menu").length) {
218    var mobileMenuContent = $(".main-header .nav-outer .main-menu").html();
219    $(".mobile-menu .menu-box .menu-outer").append(mobileMenuContent);
220    $(".sticky-header .main-menu").append(mobileMenuContent);
221    //Dropdown Button
222    $(".mobile-menu li.dropdown .dropdown-btn").on("click", function () {
223      $(this).toggleClass("open");
224      $(this).prev("ul").slideToggle(500);
225      $(this).prev(".mega_menu").slideToggle(500);
226    });
227    //Menu Toggle Btn
228    $(".mobile-nav-toggler").on("click", function () {
229      $("body").addClass("mobile-menu-visible");
230    });
231    //Menu Toggle Btn
232    $(
233      ".mobile-menu .menu-backdrop,.mobile-menu .close-btn,.scroll-nav li a"
234    ).on("click", function () {
235      $("body").removeClass("mobile-menu-visible");
236    });
237  }
238
239  //Sidemenu Nav Hide Show
240  if ($(".side-menu").length) {
241    //Dropdown Button
242    $(".side-menu li.dropdown .dropdown-btn").on("click", function () {
243      $(this).toggleClass("open");
244      $(this).prev("ul").slideToggle(500);
245    });
246    $("body").addClass("side-menu-visible");
247    //Menu Toggle Btn
248    $(".side-nav-toggler").on("click", function () {
249      $("body").addClass("side-menu-visible");
250    });
251    //Menu Toggle Btn
252    $(".side-menu .side-menu-resize").on("click", function () {
253      $("body").toggleClass("side-menu-visible");
254    });
255    //Menu Toggle Btn
256    $(".main-header .mobile-nav-toggler-two").on("click", function () {
257      $("body").addClass("side-menu-visible-s2");
258    });
259    //Menu Overlay
260    $(".main-header .side-menu-overlay").on("click", function () {
261      $("body").removeClass("side-menu-visible-s2");
262    });
263  }
264
265  //Search Popup
266  if ($("#search-popup").length) {
267    //Show Popup
268    $(".search-toggler").on("click", function () {
269      $("#search-popup").addClass("popup-visible");
270    });
271    $(document).keydown(function (e) {
272      if (e.keyCode === 27) {
273        $("#search-popup").removeClass("popup-visible");
274      }
275    });
276    //Hide Popup
277    $(".close-search,.search-popup .overlay-layer").on("click", function () {
278      $("#search-popup").removeClass("popup-visible");
279    });
280  }
281
282  function bannerSlider() {
283    if ($(".banner-slider").length > 0) {
284      // Banner Slider
285      var bannerSlider = new Swiper(".banner-slider", {
286        preloadImages: false,
287        loop: true,
288        grabCursor: true,
289        centeredSlides: false,
290        resistance: true,
291        resistanceRatio: 0.6,
292        speed: 2400,
293        spaceBetween: 0,
294        parallax: false,
295        effect: "slide",
296        autoplay: {
297          delay: 8000,
298          disableOnInteraction: false,
299        },
300        navigation: {
301          nextEl: ".banner-slider-button-next",
302          prevEl: ".banner-slider-button-prev",
303        },
304      });
305    }
306    if ($(".banner-slider-2").length > 0) {
307      // Banner Slider
308      var bannerSlider2 = new Swiper(".banner-slider-2", {
309        preloadImages: false,
310        loop: true,
311        grabCursor: true,
312        centeredSlides: false,
313        resistance: true,
314        resistanceRatio: 0.6,
315        speed: 2400,
316        spaceBetween: 0,
317        parallax: false,
318        effect: "fade",
319        autoplay: {
320          delay: 8000,
321          disableOnInteraction: false,
322        },
323        pagination: {
324          el: ".slider__pagination",
325          clickable: true,
326        },
327        navigation: {
328          nextEl: ".banner-slider-button-next",
329          prevEl: ".banner-slider-button-prev",
330        },
331      });
332    }
333  }
334
335  if ($(".theme_carousel").length) {
336    $(".theme_carousel").each(function (index) {
337      var $owlAttr = {},
338        $extraAttr = $(this).data("options");
339      $.extend($owlAttr, $extraAttr);
340      $(this).owlCarousel($owlAttr);
341    });
342  }
343
344  // Single item Carousel
345  if ($(".single-item-carousel").length) {
346    var singleItemCarousel = new Swiper(".single-item-carousel", {
347      preloadImages: false,
348      loop: true,
349      grabCursor: true,
350      centeredSlides: false,
351      resistance: true,
352      resistanceRatio: 0.6,
353      speed: 1400,
354      spaceBetween: 0,
355      parallax: false,
356      effect: "slide",
357      pagination: {
358        el: ".slider__pagination",
359        clickable: true,
360      },
361      pagination: {
362        el: ".slider__pagination2",
363        clickable: true,
364      },
365      autoplay: {
366        delay: 8000,
367        disableOnInteraction: false,
368      },
369      navigation: {
370        nextEl: ".slider-button-next",
371        prevEl: ".slider-button-prev",
372      },
373    });
374  }
375
376  // Single item Carousel
377  if ($(".single-item-carousel-2").length) {
378    var singleItemCarousel = new Swiper(".single-item-carousel-2", {
379      preloadImages: false,
380      loop: true,
381      grabCursor: true,
382      centeredSlides: false,
383      resistance: true,
384      resistanceRatio: 0.6,
385      speed: 1400,
386      spaceBetween: 60,
387      parallax: false,
388      effect: "slide",
389      pagination: {
390        el: ".slider__pagination",
391        clickable: true,
392      },
393      pagination: {
394        el: ".slider__pagination2",
395        clickable: true,
396      },
397      autoplay: {
398        delay: 8000,
399        disableOnInteraction: false,
400      },
401      navigation: {
402        nextEl: ".slider-button-next",
403        prevEl: ".slider-button-prev",
404      },
405    });
406  }
407
408  if ($(".two-item-carousel").length) {
409    var twoItemCarousel = new Swiper(".two-item-carousel", {
410      preloadImages: false,
411      loop: true,
412      grabCursor: true,
413      centeredSlides: false,
414      resistance: true,
415      resistanceRatio: 0.6,
416      slidesPerView: 2,
417      speed: 1400,
418      spaceBetween: 30,
419      parallax: false,
420      effect: "slide",
421      active: "active",
422      autoplay: {
423        delay: 8000,
424        disableOnInteraction: false,
425      },
426      pagination: {
427        el: ".slider__pagination2",
428        clickable: true,
429      },
430      navigation: {
431        nextEl: ".slider-button-next2",
432        prevEl: ".slider-button-prev2",
433      },
434      breakpoints: {
435        991: {
436          slidesPerView: 1,
437        },
438        640: {
439          slidesPerView: 1,
440        },
441      },
442    });
443  }
444
445  if ($(".three-item-carousel").length) {
446    var twoItemCarousel = new Swiper(".three-item-carousel", {
447      preloadImages: false,
448      loop: true,
449      grabCursor: true,
450      centeredSlides: false,
451      resistance: true,
452      resistanceRatio: 0.6,
453      slidesPerView: 3,
454      speed: 1400,
455      spaceBetween: 30,
456      parallax: false,
457      effect: "slide",
458      active: "active",
459      autoplay: {
460        delay: 800000,
461        disableOnInteraction: false,
462      },
463      pagination: {
464        el: ".slider__pagination3",
465        clickable: true,
466      },
467      navigation: {
468        nextEl: ".slider-button-next3",
469        prevEl: ".slider-button-prev3",
470      },
471      noSwiping: true,
472      noSwipingClass: "no-swipe",
473      breakpoints: {
474        991: {
475          slidesPerView: 1,
476        },
477        640: {
478          slidesPerView: 1,
479        },
480      },
481    });
482  }
483
484  if ($(".three-item-carousel.no-margin").length) {
485    var twoItemCarousel = new Swiper(".three-item-carousel", {
486      preloadImages: false,
487      loop: true,
488      grabCursor: true,
489      centeredSlides: false,
490      resistance: true,
491      resistanceRatio: 0.6,
492      slidesPerView: 3,
493      speed: 1400,
494      spaceBetween: 0,
495      parallax: false,
496      effect: "slide",
497      active: "active",
498      autoplay: {
499        delay: 800000,
500        disableOnInteraction: false,
501      },
502      navigation: {
503        prevEl: ".slider-button-next4",
504        nextEl: ".slider-button-prev4",
505      },
506      noSwiping: true,
507      noSwipingClass: "no-swipe",
508      breakpoints: {
509        991: {
510          slidesPerView: 2,
511        },
512        640: {
513          slidesPerView: 1,
514        },
515      },
516    });
517  }
518
519  if ($(".three-item-blog-carousel").length) {
520    var twoItemCarousel = new Swiper(".three-item-blog-carousel", {
521      preloadImages: false,
522      loop: true,
523      grabCursor: true,
524      centeredSlides: false,
525      resistance: true,
526      resistanceRatio: 0.6,
527      slidesPerView: 3,
528      speed: 1400,
529      spaceBetween: 30,
530      parallax: false,
531      effect: "slide",
532      active: "active",
533      autoplay: {
534        delay: 800000,
535        disableOnInteraction: false,
536      },
537      navigation: {
538        prevEl: ".slider_button_prev",
539        nextEl: ".slider_button_next",
540      },
541      noSwiping: true,
542      noSwipingClass: "no-swipe",
543      breakpoints: {
544        1150: {
545          slidesPerView: 2,
546        },
547        767: {
548          slidesPerView: 1,
549        },
550      },
551    });
552  }
553
554  if ($(".three-item-carousels").length) {
555    $(".three-item-carousels").owlCarousel({
556      loop: true,
557      margin: 24,
558      nav: true,
559      smartSpeed: 1000,
560      autoplay: 6000,
561      navText: [
562        '<span class="fal fa-arrow-left"></span>',
563        '<span class="fal fa-arrow-right"></span>',
564      ],
565      responsive: {
566        0: {
567          items: 1,
568        },
569        480: {
570          items: 1,
571        },
572        600: {
573          items: 2,
574        },
575        800: {
576          items: 2,
577        },
578        1200: {
579          items: 3,
580        },
581      },
582    });
583  }
584
585  if ($(".four-item-carousel").length) {
586    var twoItemCarousel = new Swiper(".four-item-carousel", {
587      preloadImages: false,
588      loop: true,
589      grabCursor: true,
590      centeredSlides: false,
591      resistance: true,
592      resistanceRatio: 0.6,
593      slidesPerView: 4,
594      speed: 1400,
595      spaceBetween: 30,
596      parallax: false,
597      effect: "slide",
598      active: "active",
599      autoplay: {
600        delay: 80000,
601        disableOnInteraction: false,
602      },
603      navigation: {
604        nextEl: ".slider-button-next4",
605        prevEl: ".slider-button-prev4",
606      },
607      breakpoints: {
608        1400: {
609          slidesPerView: 3,
610        },
611        991: {
612          slidesPerView: 2,
613        },
614        640: {
615          slidesPerView: 1,
616        },
617      },
618    });
619  }
620
621  if ($(".five-item-carousel_swip").length) {
622    var twoItemCarousel = new Swiper(".five-item-carousel_swip", {
623      preloadImages: false,
624      loop: true,
625      grabCursor: true,
626      centeredSlides: false,
627      resistance: true,
628      resistanceRatio: 0.6,
629      slidesPerView: 5,
630      speed: 1400,
631      spaceBetween: 30,
632      parallax: false,
633      effect: "slide",
634      active: "active",
635      autoplay: {
636        delay: 80000,
637        disableOnInteraction: false,
638      },
639      navigation: {
640        nextEl: ".slider-button-next4",
641        prevEl: ".slider-button-prev4",
642      },
643      breakpoints: {
644        1400: {
645          slidesPerView: 3,
646        },
647        991: {
648          slidesPerView: 2,
649        },
650        640: {
651          slidesPerView: 1,
652        },
653      },
654    });
655  }
656
657  var galleryThumbs = new Swiper(".gallery-thumbs", {
658    centeredSlides: true,
659    centeredSlidesBounds: true,
660    slidesPerView: 3,
661    watchOverflow: true,
662    watchSlidesVisibility: true,
663    watchSlidesProgress: true,
664    direction: "vertical",
665  });
666
667  var galleryMain = new Swiper(".gallery-main", {
668    watchOverflow: true,
669    watchSlidesVisibility: true,
670    watchSlidesProgress: true,
671    preventInteractionOnTransition: true,
672    navigation: {
673      nextEl: ".swiper-button-next",
674      prevEl: ".swiper-button-prev",
675    },
676    effect: "fade",
677    fadeEffect: {
678      crossFade: true,
679    },
680    thumbs: {
681      swiper: galleryThumbs,
682    },
683  });
684
685  galleryMain.on("slideChangeTransitionStart", function () {
686    galleryThumbs.slideTo(galleryMain.activeIndex);
687  });
688
689  galleryThumbs.on("transitionStart", function () {
690    galleryMain.slideTo(galleryThumbs.activeIndex);
691  });
692
693  // six item carousel
694  if ($(".six-item-carousel").length) {
695    var twoItemCarousel = new Swiper(".six-item-carousel", {
696      preloadImages: false,
697      loop: false,
698      grabCursor: true,
699      centeredSlides: false,
700      resistance: true,
701      resistanceRatio: 0.6,
702      slidesPerView: 5,
703      speed: 1400,
704      spaceBetween: 100,
705      parallax: false,
706      effect: "slide",
707      active: "active",
708      autoplay: {
709        delay: 1000,
710        disableOnInteraction: false,
711      },
712      pagination: {
713        el: ".slider__pagination",
714        clickable: true,
715      },
716      navigation: {
717        prevEl: ".slider_button_prev6",
718        nextEl: ".slider_button_next6",
719      },
720      breakpoints: {
721        1400: {
722          slidesPerView: 4,
723        },
724        991: {
725          slidesPerView: 2,
726        },
727        640: {
728          slidesPerView: 1,
729        },
730      },
731    });
732  }
733
734  // industries-sixteen-carousel
735  if ($(".industries-sixteen-carousel").length) {
736    $(".industries-sixteen-carousel").owlCarousel({
737      loop: true,
738      margin: 0,
739      nav: true,
740      smartSpeed: 1000,
741      autoplay: 6000,
742      navText: [
743        '<span class="icon-left-arrow-1"></span>',
744        '<span class="icon-right-arrow-1"></span>',
745      ],
746      responsive: {
747        0: {
748          items: 1,
749        },
750        480: {
751          items: 1,
752        },
753        600: {
754          items: 2,
755        },
756        800: {
757          items: 3,
758        },
759        1200: {
760          items: 4,
761        },
762      },
763    });
764  }
765
766  // five-item-carousel
767  if ($(".five-item-carousel").length) {
768    $(".five-item-carousel").owlCarousel({
769      loop: true,
770      margin: 24,
771      nav: true,
772      smartSpeed: 1000,
773      autoplay: 6000,
774      navText: [
775        '<span class="fal fa-arrow-left"></span>',
776        '<span class="fal fa-arrow-right"></span>',
777      ],
778      responsive: {
779        0: {
780          items: 1,
781        },
782        480: {
783          items: 1,
784        },
785        600: {
786          items: 2,
787        },
788        800: {
789          items: 3,
790        },
791        1200: {
792          items: 5,
793        },
794      },
795    });
796  }
797
798  $(".three-item-slick-carousel").slick({
799    dots: false,
800    infinite: true,
801    speed: 1000,
802    slidesToShow: 3,
803    slidesToScroll: 1,
804    autoplay: true,
805    autoplaySpeed: 4000,
806    arrows: false,
807    responsive: [
808      {
809        breakpoint: 600,
810        settings: {
811          slidesToShow: 2,
812          slidesToScroll: 1,
813        },
814      },
815      {
816        breakpoint: 400,
817        settings: {
818          arrows: false,
819          slidesToShow: 1,
820          slidesToScroll: 1,
821        },
822      },
823    ],
824  });
825
826  $(window).scroll(function () {
827    var theta = $(window).scrollTop() / 15;
828    $(".about_image-box .round-box-content .curved-circle").css({
829      transform: "rotate(" + theta + "deg)",
830    });
831  });
832
833  $("select.niceselect").niceSelect();
834
835  // Donation Progress Bar
836  if ($(".count-bar").length) {
837    $(".count-bar").appear(
838      function () {
839        var el = $(this);
840        var percent = el.data("percent");
841        $(el).css("width", percent).addClass("counted");
842      },
843      { accY: -50 }
844    );
845  }
846
847  if ($(".count-box").length) {
848    $(".count-box").appear(
849      function () {
850        var $t = $(this),
851          n = $t.find(".count-text").attr("data-stop"),
852          r = parseInt($t.find(".count-text").attr("data-speed"), 10);
853
854        if (!$t.hasClass("counted")) {
855          $t.addClass("counted");
856          $({
857            countNum: $t.find(".count-text").text(),
858          }).animate(
859            {
860              countNum: n,
861            },
862            {
863              duration: r,
864              easing: "linear",
865              step: function () {
866                $t.find(".count-text").text(Math.floor(this.countNum));
867              },
868              complete: function () {
869                $t.find(".count-text").text(this.countNum);
870              },
871            }
872          );
873        }
874      },
875      { accY: 0 }
876    );
877  }
878
879  //Fact Counter + Text Count
880  if ($(".count_box").length) {
881    $(".count_box").appear(
882      function () {
883        var $t = $(this),
884          n = $t.find(".count_text").attr("data-stop"),
885          r = parseInt($t.find(".count_text").attr("data-speed"), 10);
886
887        if (!$t.hasClass("counted")) {
888          $t.addClass("counted");
889          $({
890            countNum: $t.find(".count_text").text(),
891          }).animate(
892            {
893              countNum: n,
894            },
895            {
896              duration: r,
897              easing: "linear",
898              step: function () {
899                $t.find(".count_text").text(Math.floor(this.countNum));
900              },
901              complete: function () {
902                $t.find(".count_text").text(this.countNum);
903              },
904            }
905          );
906        }
907      },
908      { accY: 0 }
909    );
910  }
911
912  //Tabs Box
913  if ($(".tabs-box").length) {
914    $(".tabs-box .tab-buttons .tab-btn").on("click", function (e) {
915      e.preventDefault();
916      var target = $($(this).attr("data-tab"));
917      if ($(target).is(":visible")) {
918        return false;
919      } else {
920        target
921          .parents(".tabs-box")
922          .find(".tab-buttons")
923          .find(".tab-btn")
924          .removeClass("active-btn");
925        $(this).addClass("active-btn");
926        target
927          .parents(".tabs-box")
928          .find(".tabs-content")
929          .find(".tab")
930          .fadeOut(0);
931        target
932          .parents(".tabs-box")
933          .find(".tabs-content")
934          .find(".tab")
935          .removeClass("active-tab");
936        $(target).fadeIn(300);
937        $(target).addClass("active-tab");
938      }
939    });
940  }
941
942  function tabpane() {
943    if ($(".tabs-box .tab").length) {
944      $(".tabs-box .tab").delay(10).css("display", "none");
945    }
946  }
947
948  //Accordion Box
949  if ($(".accordion-box").length) {
950    $(".accordion-box").on("click", ".acc-btn", function () {
951      var outerBox = $(this).parents(".accordion-box");
952      var target = $(this).parents(".accordion");
953
954      if ($(this).hasClass("active") !== true) {
955        $(outerBox).find(".accordion .acc-btn").removeClass("active");
956      }
957
958      if ($(this).next(".acc-content").is(":visible")) {
959        return false;
960      } else {
961        $(this).addClass("active");
962        $(outerBox).children(".accordion").removeClass("active-block");
963        $(outerBox).find(".accordion").children(".acc-content").slideUp(300);
964        target.addClass("active-block");
965        $(this).next(".acc-content").slideDown(300);
966      }
967    });
968  }
969
970  //Sortable Masonary with Filters
971  function sortableMasonry() {
972    if ($(".sortable-masonry").length) {
973      var winDow = $(window);
974      // Needed variables
975      var $container = $(".sortable-masonry .items-container");
976      var $filter = $(".filter-btns");
977      $container.isotope({
978        filter: ".all",
979        animationOptions: {
980          duration: 500,
981          easing: "linear",
982        },
983      });
984      // Isotope Filter
985      $filter.find("li").on("click", function () {
986        var selector = $(this).attr("data-filter");
987        try {
988          $container.isotope({
989            filter: selector,
990            animationOptions: {
991              duration: 500,
992              easing: "linear",
993              queue: false,
994            },
995          });
996        } catch (err) {}
997        return false;
998      });
999      winDow.on("resize", function () {
1000        var selector = $filter.find("li.active").attr("data-filter");
1001        $container.isotope({
1002          filter: selector,
1003          animationOptions: {
1004            duration: 500,
1005            easing: "linear",
1006            queue: false,
1007          },
1008        });
1009        $container.isotope();
1010      });
1011      var filterItemA = $(".filter-btns li");
1012      filterItemA.on("click", function () {
1013        var $this = $(this);
1014        if (!$this.hasClass("active")) {
1015          filterItemA.removeClass("active");
1016          $this.addClass("active");
1017        }
1018      });
1019      $container.isotope("on", "layoutComplete", function (a, b) {
1020        var a = b.length,
1021          pcn = $(".filters .count");
1022        pcn.html(a);
1023      });
1024    }
1025  }
1026  sortableMasonry();
1027
1028  //Projects Tabs
1029  if ($(".project-tab").length) {
1030    $(".project-tab .project-tab-btns .p-tab-btn").on("click", function (e) {
1031      e.preventDefault();
1032      var target = $($(this).attr("data-tab"));
1033
1034      if ($(target).hasClass("actve-tab")) {
1035        return false;
1036      } else {
1037        $(".project-tab .project-tab-btns .p-tab-btn").removeClass(
1038          "active-btn"
1039        );
1040        $(this).addClass("active-btn");
1041        $(".project-tab .p-tabs-content .p-tab").removeClass("active-tab");
1042        $(target).addClass("active-tab");
1043      }
1044    });
1045  }
1046  // three-item-carousel
1047  if ($(".testimonial").length) {
1048    $(".testimonial").owlCarousel({
1049      loop: true,
1050      margin: 24,
1051      nav: true,
1052      smartSpeed: 1000,
1053      autoplay: 6000,
1054      navText: [
1055        '<span class="fal fa-arrow-left"></span>',
1056        '<span class="fal fa-arrow-right"></span>',
1057      ],
1058      responsive: {
1059        0: {
1060          items: 1,
1061        },
1062        480: {
1063          items: 1,
1064        },
1065        600: {
1066          items: 1,
1067        },
1068        800: {
1069          items: 3,
1070        },
1071        1200: {
1072          items: 3,
1073        },
1074      },
1075    });
1076  }
1077  // Isotop Layout
1078  function isotopeBlock() {
1079    if ($(".isotope-block").length) {
1080      var $grid = $(".isotope-block").isotope();
1081    }
1082  }
1083  isotopeBlock();
1084
1085  //Progress Bar / Levels
1086  if ($(".progress-box .bar-fill").length) {
1087    $(".progress-box .bar-fill").each(function () {
1088      var progressWidth = $(this).attr("data-percent");
1089      $(this).css("width", progressWidth + "%");
1090      $(this)
1091        .children(".percent")
1092        .html(progressWidth + "%");
1093    });
1094  }
1095
1096  //Progress Bar
1097  if ($(".progress-line").length) {
1098    $(".progress-line").appear(
1099      function () {
1100        var el = $(this);
1101        var percent = el.data("width");
1102        $(el).css("width", percent + "%");
1103      },
1104      { accY: 0 }
1105    );
1106  }
1107
1108  // Scroll to a Specific Div
1109  if ($(".scroll-to-target").length) {
1110    $(".scroll-to-target").on("click", function () {
1111      var target = $(this).attr("data-target");
1112      // animate
1113      $("html, body").animate(
1114        {
1115          scrollTop: $(target).offset().top,
1116        },
1117        1500
1118      );
1119    });
1120  }
1121
1122  // Date picker
1123  function datepicker() {
1124    if ($("#datepicker").length) {
1125      $("#datepicker").datepicker();
1126    }
1127  }
1128
1129  if ($(".gap_160.two-item-carousel").length) {
1130    var twoItemCarousel = new Swiper(".gap_160.two-item-carousel", {
1131      preloadImages: false,
1132      loop: true,
1133      grabCursor: true,
1134      centeredSlides: false,
1135      resistance: true,
1136      resistanceRatio: 0.6,
1137      slidesPerView: 2,
1138      speed: 1400,
1139      spaceBetween: 160,
1140      parallax: false,
1141      effect: "slide",
1142      active: "active",
1143      autoplay: {
1144        delay: 8000,
1145        disableOnInteraction: false,
1146      },
1147      navigation: {
1148        prevEl: ".slider_button_prev",
1149        nextEl: ".slider_button_next",
1150      },
1151      breakpoints: {
1152        991: {
1153          slidesPerView: 1,
1154        },
1155        640: {
1156          slidesPerView: 1,
1157        },
1158      },
1159    });
1160  }
1161
1162  //Scrollbar
1163  $(".scroll-top-inner").on("click", function () {
1164    $("html, body").animate({ scrollTop: 0 }, 500);
1165    return false;
1166  });
1167  function handleScrollbar() {
1168    var progressLineBar = $(".scroll-top-inner .bar-inner");
1169    var pageHeight = $(document).height();
1170    var windwoHeight = $(window).height();
1171    var windowPos = $(window).scrollTop();
1172    var progressLineBarWidth = (windowPos / (pageHeight - windwoHeight)) * 100;
1173    $(progressLineBar).css("width", progressLineBarWidth + "%");
1174  }
1175  $(window).on("scroll", function () {
1176    handleScrollbar();
1177    if ($(window).scrollTop() > 200) {
1178      $(".scroll-top-inner").addClass("visible");
1179    } else {
1180      $(".scroll-top-inner").removeClass("visible");
1181    }
1182  });
1183
1184
1185  // three-item-carousel ends
1186
1187  // one-item-carousel
1188  if ($(".one_item_carousel").length) {
1189    $(".one_item_carousel").owlCarousel({
1190      loop: true,
1191      margin: 24,
1192      nav: true,
1193      smartSpeed: 1000,
1194      autoplay: 6000,
1195      navText: [
1196        '<span class="fal fa-angle-up"></span>',
1197        '<span class="fal fal fa-angle-down"></span>',
1198      ],
1199      responsive: {
1200        0: {
1201          items: 1,
1202        },
1203        480: {
1204          items: 1,
1205        },
1206        600: {
1207          items: 1,
1208        },
1209        800: {
1210          items: 1,
1211        },
1212        1200: {
1213          items: 1,
1214        },
1215      },
1216    });
1217  }
1218  // one-item-carousel ends
1219
1220  // form eleven carousel
1221  if ($(".eleven_form_carosul").length) {
1222    $(".eleven_form_carosul").owlCarousel({
1223      loop: true,
1224      margin: 24,
1225      nav: true,
1226      smartSpeed: 1000,
1227      autoplay: 6000,
1228      navText: [
1229        '<span class="fal fa-arrow-left"></span>',
1230        '<span class="fal fa-arrow-right"></span>',
1231      ],
1232      responsive: {
1233        0: {
1234          items: 1,
1235        },
1236        480: {
1237          items: 1,
1238        },
1239        600: {
1240          items: 1,
1241        },
1242        800: {
1243          items: 1,
1244        },
1245        1200: {
1246          items: 1,
1247        },
1248      },
1249    });
1250  }
1251  // form eleven carousel
1252
1253  // home_eleven_blog_carousel
1254  if ($(".home_eleven_blog_carousel").length) {
1255    $(".home_eleven_blog_carousel").owlCarousel({
1256      loop: true,
1257      margin: 24,
1258      nav: true,
1259      smartSpeed: 1000,
1260      autoplay: 6000,
1261      navText: [
1262        '<span class="icon-left-arrow-1"></span>',
1263        '<span class="icon-right-arrow-1"></span>',
1264      ],
1265      responsive: {
1266        0: {
1267          items: 1,
1268        },
1269        480: {
1270          items: 1,
1271        },
1272        600: {
1273          items: 1,
1274        },
1275        800: {
1276          items: 1,
1277        },
1278        1200: {
1279          items: 2,
1280        },
1281      },
1282    });
1283  }
1284  // home_eleven_blog_carousel
1285
1286  // four-item-carousel
1287  if ($(".training-carousel").length) {
1288    $(".training-carousel").owlCarousel({
1289      loop: true,
1290      margin: 24,
1291      nav: true,
1292      smartSpeed: 1000,
1293      autoplay: 6000,
1294      navText: [
1295        '<span class="fal fa-arrow-left"></span>',
1296        '<span class="fal fa-arrow-right"></span>',
1297      ],
1298      responsive: {
1299        0: {
1300          items: 1,
1301        },
1302        480: {
1303          items: 1,
1304        },
1305        600: {
1306          items: 2,
1307        },
1308        800: {
1309          items: 3,
1310        },
1311        1200: {
1312          items: 4,
1313        },
1314      },
1315    });
1316  }
1317  // four-item-carousel
1318
1319  if ($(".testimonial-seventeen").length) {
1320    $(".testimonial-seventeen").owlCarousel({
1321      loop: true,
1322      margin: 24,
1323      nav: true,
1324      smartSpeed: 1000,
1325      autoplay: 6000,
1326      navText: [
1327        '<span class="fal fa-arrow-left"></span>',
1328        '<span class="fal fa-arrow-right"></span>',
1329      ],
1330      responsive: {
1331        0: {
1332          items: 1,
1333        },
1334        480: {
1335          items: 1,
1336        },
1337        600: {
1338          items: 1,
1339        },
1340        800: {
1341          items: 2,
1342        },
1343        1200: {
1344          items: 2,
1345        },
1346      },
1347    });
1348  }
1349
1350  if ($(".four-items-carousel").length) {
1351    $(".four-items-carousel").owlCarousel({
1352      loop: true,
1353      margin: 24,
1354      nav: true,
1355      smartSpeed: 1000,
1356      autoplay: 6000,
1357      navText: [
1358        '<span class="fal fa-arrow-left"></span>',
1359        '<span class="fal fa-arrow-right"></span>',
1360      ],
1361      responsive: {
1362        0: {
1363          items: 1,
1364        },
1365        480: {
1366          items: 1,
1367        },
1368        600: {
1369          items: 2,
1370        },
1371        800: {
1372          items: 3,
1373        },
1374        1200: {
1375          items: 4,
1376        },
1377      },
1378    });
1379  }
1380
1381  // two-item-carousel ends
1382  // three-item-carousel
1383  if ($(".services-seventeen").length) {
1384    $(".services-seventeen").owlCarousel({
1385      loop: true,
1386      margin: 24,
1387      nav: true,
1388      smartSpeed: 1000,
1389      autoplay: 6000,
1390      navText: [
1391        '<span class="fal fa-arrow-left"></span>',
1392        '<span class="fal fa-arrow-right"></span>',
1393      ],
1394      responsive: {
1395        0: {
1396          items: 1,
1397        },
1398        480: {
1399          items: 1,
1400        },
1401        600: {
1402          items: 1,
1403        },
1404        800: {
1405          items: 3,
1406        },
1407        1200: {
1408          items: 3,
1409        },
1410      },
1411    });
1412  }
1413
1414  //Tabs Box
1415  if ($(".industries-tabs-box").length) {
1416    $(".industries-tabs-box .industries-tab-buttons .industries-tab-btn").on(
1417      "click",
1418      function (e) {
1419        e.preventDefault();
1420        var target = $($(this).attr("data-tab"));
1421        if ($(target).is(":visible")) {
1422          return false;
1423        } else {
1424          target
1425            .parents(".industries-tabs-box")
1426            .find(".industries-tab-buttons")
1427            .find(".industries-tab-btn")
1428            .removeClass("active-btn");
1429          $(this).addClass("active-btn");
1430          target
1431            .parents(".industries-tabs-box")
1432            .find(".industries-tabs-content")
1433            .find(".industries-tab")
1434            .fadeOut(0);
1435          target
1436            .parents(".industries-tabs-box")
1437            .find(".industries-tabs-content")
1438            .find(".industries-tab")
1439            .removeClass("active-tab");
1440          $(target).fadeIn(300);
1441          $(target).addClass("active-tab");
1442        }
1443      }
1444    );
1445  }
1446
1447  if ($(".ajax-sub-form").length > 0) {
1448    $(".ajax-sub-form").ajaxChimp({
1449      language: "es",
1450      url: "https://gmail.us17.list-manage.com/subscribe/post?u=8a43765a655b07d21fa500e4e&amp;id=2eda0a58a7", //Replace this with your mailchimp post URL.
1451    });
1452    $.ajaxChimp.translations.es = {
1453      submit: "Submitting...",
1454      0: "Thanks for your subscription",
1455      1: "Please enter a valid email",
1456      2: "An email address must contain a single @",
1457      3: "The domain portion of the email address is invalid (the portion after the @: )",
1458      4: "The username portion of the email address is invalid (the portion before the @: )",
1459      5: "This email address looks fake or invalid. Please enter a real email address",
1460    };
1461  }
1462
1463  // Elements Animation
1464  if($('.wow').length){
1465  	var wow = new WOW(
1466  	  {
1467  		boxClass:     'wow',      // animated element css class (default is wow)
1468  		animateClass: 'animated', // animation css class (default is animated)
1469  		offset:       50,          // distance to the element when triggering the animation (default is 0)
1470  		mobile:       true,       // trigger animations on mobile devices (default is true)
1471  		live:         true       // act on asynchronously loaded content (default is true)
1472  	  }
1473  	);
1474  	wow.init();
1475  }
1476
1477  $(window).on("load", function () {
1478    if ($(".odometer").length) {
1479      var odo = $(".odometer");
1480      odo.each(function () {
1481        $(this).appear(function () {
1482          var countNumber = $(this).attr("data-count");
1483          $(this).html(countNumber);
1484        });
1485      });
1486    }
1487  });
1488
1489  $(document).on("ready", function () {
1490    (function ($) {
1491      // add your functions
1492      datepicker();
1493    })(jQuery);
1494  });
1495
1496  if ($(".prgoress_indicator path").length) {
1497    var progressPath = document.querySelector(".prgoress_indicator path");
1498    var pathLength = progressPath.getTotalLength();
1499
1500    progressPath.style.transition = progressPath.style.WebkitTransition =
1501      "none";
1502    progressPath.style.strokeDasharray = pathLength + " " + pathLength;
1503    progressPath.style.strokeDashoffset = pathLength;
1504    progressPath.getBoundingClientRect();
1505    progressPath.style.transition = progressPath.style.WebkitTransition =
1506      "stroke-dashoffset 10ms linear";
1507    var updateProgress = function () {
1508      var scroll = $(window).scrollTop();
1509      var height = $(document).height() - $(window).height();
1510      var progress = pathLength - (scroll * pathLength) / height;
1511      progressPath.style.strokeDashoffset = progress;
1512    };
1513    updateProgress();
1514    $(window).on("scroll", updateProgress);
1515    var offset = 250;
1516    var duration = 550;
1517    jQuery(window).on("scroll", function () {
1518      if (jQuery(this).scrollTop() > offset) {
1519        jQuery(".prgoress_indicator").addClass("active-progress");
1520      } else {
1521        jQuery(".prgoress_indicator").removeClass("active-progress");
1522      }
1523    });
1524    jQuery(".prgoress_indicator").on("click", function (event) {
1525      event.preventDefault();
1526      jQuery("html, body").animate({ scrollTop: 0 }, duration);
1527      return false;
1528    });
1529  }
1530
1531  /* ==========================================================================
1532   When document is resize
1533   ========================================================================== */
1534
1535  $(window).on("resize", function () {
1536    leftOuterContainer();
1537  });
1538
1539  /* ==========================================================================
1540   When document is Scrollig, do
1541   ========================================================================== */
1542
1543  $(window).on("scroll", function () {
1544    headerStyle();
1545  });
1546
1547  /* ==========================================================================
1548   When document is loading, do
1549   ========================================================================== */
1550
1551  $(window).on("load", function () {
1552    //Jquery Curved Circle
1553    if ($(".curved-circle").length) {
1554      $(".curved-circle").circleType({
1555        position: "absolute",
1556        dir: 1,
1557        radius: 85,
1558        forceHeight: true,
1559        forceWidth: true,
1560      });
1561    }
1562    if ($(".curved-circle-2").length) {
1563      $(".curved-circle-2").circleType({
1564        position: "absolute",
1565        dir: 1,
1566        radius: 170,
1567        forceHeight: true,
1568        forceWidth: true,
1569      });
1570    }
1571    handlePreloader();
1572    sortableMasonry();
1573    isotopeBlock();
1574    bannerSlider();
1575    tabpane();
1576  });
1577})(window.jQuery);
1578// $(document).ready(function() {
1579//   const form = $("#feedbackForm_services");
1580  
1581//   if (form.length) {
1582//       // Маска для телефона
1583//       form.find('input[name="phone"]').on("input", function () {
1584//           let x = $(this)
1585//               .val()
1586//               .replace(/\D/g, "")
1587//               .match(/(\d{0,3})(\d{0,3})(\d{0,4})/);
1588//           $(this).val(
1589//               !x[2] ? x[1] : "(" + x[1] + ") " + x[2] + (x[3] ? "-" + x[3] : "")
1590//           );
1591//       });
1592
1593//       // Обработка отправки формы
1594//       form.on("submit", function (e) {
1595//           e.preventDefault();
1596          
1597//           // Блокируем кнопку отправки
1598//           const submitButton = form.find('button[type="submit"]');
1599//           submitButton.prop('disabled', true);
1600          
1601//           $.ajax({
1602//               url: "send.php",
1603//               method: "POST",
1604//               data: form.serialize(),
1605//               dataType: "json",
1606//               success: function (response) {
1607//                   if (response.success) {
1608//                       alert("Дякуємо! Ваше повідомлення успішно відправлено.");
1609//                       form[0].reset();
1610//                   } else {
1611//                       alert("Помилка: " + (response.error || "Невідома помилка"));
1612//                   }
1613//               },
1614//               error: function(xhr, status, error) {
1615//                   alert("Виникла помилка при відправці. Будь ласка, спробуйте ще раз.");
1616//                   console.error("Ajax error:", status, error);
1617//               },
1618//               complete: function() {
1619//                   // Разблокируем кнопку отправки в любом случае
1620//                   submitButton.prop('disabled', false);
1621//               }
1622//           });
1623//       });
1624//   }
1625// });
1626
1627document.addEventListener("DOMContentLoaded", function () {
1628  const toggleButton = document.querySelector(".btn-widget");
1629  const widgetList = document.querySelector(".social-widget-list");
1630
1631  if (toggleButton && widgetList) {
1632    // Проверяем, что элементы существуют
1633    toggleButton.addEventListener("click", function () {
1634      widgetList.classList.toggle("active");
1635    });
1636
1637    toggleButton.addEventListener("touchstart", function (event) {
1638      event.preventDefault(); // Предотвращает "залипание" клика на iOS
1639      widgetList.classList.toggle("active");
1640    });
1641  } else {
1642    console.error("Элементы не найдены: .btn-widget или .social-widget-list");
1643  }
1644});
1645
1646document.addEventListener("DOMContentLoaded", function () {
1647  function decodeHTMLEntities(text) {
1648    let tempElement = document.createElement("textarea");
1649    tempElement.innerHTML = text;
1650    return tempElement.value;
1651  }
1652
1653  function loadServices(targetMenus) {
1654    fetch("/get_services.php")
1655      .then((response) => response.json())
1656      .then((data) => {
1657        targetMenus.forEach((targetMenu) => {
1658          if (!targetMenu) return;
1659          targetMenu.innerHTML = ""; // Очищаем меню перед вставкой
1660
1661          data.forEach((service) => {
1662            let li = document.createElement("li");
1663            let a = document.createElement("a");
1664            a.href = service.url;
1665            a.textContent = decodeHTMLEntities(service.title);
1666            li.appendChild(a);
1667            targetMenu.appendChild(li);
1668          });
1669        });
1670      })
1671      .catch((error) => console.error("Ошибка загрузки меню:", error));
1672  }
1673
1674  // Загружаем услуги в основное и sticky-меню
1675  let mainDropdownMenu = document.querySelector(".main-header .dropdown-menu");
1676  let stickyHeader = document.querySelector(".sticky-header");
1677
1678  let stickyDropdownMenu = stickyHeader
1679    ? stickyHeader.querySelector(".dropdown-menu")
1680    : null;
1681
1682  loadServices([mainDropdownMenu, stickyDropdownMenu]);
1683
1684  // Если sticky-header не был создан при загрузке, ждем появления
1685  let observer = new MutationObserver(function () {
1686    let newStickyDropdownMenu = document.querySelector(
1687      ".sticky-header .dropdown-menu"
1688    );
1689    if (
1690      newStickyDropdownMenu &&
1691      !newStickyDropdownMenu.hasAttribute("data-loaded")
1692    ) {
1693      loadServices([newStickyDropdownMenu]);
1694      newStickyDropdownMenu.setAttribute("data-loaded", "true");
1695    }
1696  });
1697
1698  observer.observe(document.body, { childList: true, subtree: true });
1699});
1700
1701document.addEventListener("DOMContentLoaded", function () {
1702  var header = document.querySelector(".main-header"); // Основной хедер
1703  var stickyHeader = document.querySelector(".sticky-header .nav-outer"); // Куда перемещать
1704  var languageSwitcher = document.querySelector(".language_switcher"); // Языковой переключатель
1705
1706  if (header && stickyHeader && languageSwitcher) {
1707    var clonedSwitcher = languageSwitcher.cloneNode(true); // Клонируем переключатель
1708
1709    window.addEventListener("scroll", function () {
1710      if (window.scrollY > 100) {
1711        // Если проскроллили вниз больше 100px
1712        if (!stickyHeader.querySelector(".language_switcher")) {
1713          stickyHeader.appendChild(clonedSwitcher); // Добавляем в прилипший хедер
1714        }
1715      } else {
1716        if (stickyHeader.contains(clonedSwitcher)) {
1717          clonedSwitcher.remove(); // Удаляем из прилипшего меню при возврате вверх
1718        }
1719      }
1720    });
1721  }
1722});
1723
1724$(function () {
1725  const form = $("#feedbackForm_services");
1726  form.on("submit", function (e) {
1727    e.preventDefault();
1728
1729    $.ajax({
1730      url: "/send.php", // Ваш обработчик на сервере
1731      method: "POST",
1732      data: form.serialize(),
1733      dataType: "json",
1734      success: function (response) {
1735        if (response.success) {
1736          alert("Дякуємо! Ваше повідомлення успішно відправлено.");
1737          form[0].reset();
1738        } else {
1739          alert("Ошибка: " + response.error);
1740        }
1741      },
1742      error: function () {
1743        alert("Сталася помилка при відправці форми. Спробуйте ще раз.");
1744      },
1745    });
1746  });
1747});
1748

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.