 

 




jQuery(function () {
  'use strict';


  // Fakes the loading setting a timeout
  setTimeout(function() {
    jQuery('body').addClass('loaded');
  }, 1000);


  new WOW().init();

  jQuery('.sec-tit , .main-button').addClass('wow fadeInUp');



// استنى لحد ما كل حاجة تحمل
 
    // تأكد إن الكود ده جوا

      jQuery(document).ready(function() {
            if (typeof Fancybox !== 'undefined') {
    Fancybox.bind('[data-fancybox]', {
        // الإعدادات
    });
}
        var partnersSlider = new Swiper(".partners-slider", {
          direction: "horizontal",
          loop: true,
          speed: 1200,
          slidesPerView: 2,
          centeredSlides: false,
          spaceBetween: 20,
          autoplay: {
            delay: 2500,
            disableOnInteraction: false,
          },
          breakpoints: {
            460: { slidesPerView: 2, spaceBetween: 20 },
            768: { slidesPerView: 3, spaceBetween: 30 },
            1024: { slidesPerView: 5, spaceBetween: 40 },
            1400: { slidesPerView: 6, spaceBetween: 50 }
          }
        });
      });


    // تأكد إن الـ element موجود
    var swiperElement = document.querySelector('.imgss-slider');

    if (swiperElement) {
     // console.log('Swiper element found');
   //   console.log('Slides count:', swiperElement.querySelectorAll('.swiper-slide').length);

      var imgssSlider = new Swiper(".imgss-slider", {
        direction: "horizontal",
        loop: true,
        speed: 1200,
        slidesPerView: 2, // القيمة الافتراضية
        centeredSlides: true,
        spaceBetween: 20,
        autoplay: {
          delay: 2500,
          disableOnInteraction: false,
        },
        breakpoints: {
          460: { slidesPerView: 2, spaceBetween: 15, centeredSlides: false },
          768: { slidesPerView: 3, spaceBetween: 15, centeredSlides: false },
          1024: { slidesPerView: 4, spaceBetween: 15, centeredSlides: true },
          1400: { slidesPerView: 4, spaceBetween: 15, centeredSlides: true }
        }
      });









  //    console.log('Swiper initialized:', imgssSlider);
    } else {
  //    console.error('Swiper element not found!');
    }
 

  // main Slider
  var mainSlider = new Swiper(".main-slider", {
    // Optional parameters
    direction: "horizontal",
    loop: true,
    speed: 1200,
    grabCursor: true,
    allowTouchMove: false,
    touchRatio: 0,
    // autoplay: {
    //     delay: 2500,
    //     disableOnInteraction: true,
    // },
    pagination: {
      el: ".main-pagin",
      type: "bullets",
      clickable: true,
      // renderBullet: function (index, className) {
      //   return '<span class="' + className + '"><span>0</span>' + (index + 1) + '</span>';
      // }
    },

    // Navigation arrows
    navigation: {
      nextEl: ".mainArrow_right",
      prevEl: ".mainArrow_left"
    },


  });

  Fancybox.bind('[data-fancybox="gallery"]', {
    // Your custom options
    buttons: [
      "slideShow",
      "thumbs",
      "zoom",
      "fullScreen",
      "share",
      "close"
    ],
    loop: false,
    protect: true
  });





  //accordion
  jQuery(".set > a").on("click", function() {
    if (jQuery(this).hasClass("active")) {
      jQuery(this).removeClass("active");
      jQuery(this)
          .siblings(".accordion-content")
          .slideUp(200);
      jQuery(".set > a i")
          .removeClass("fa-caret-up")
          .addClass("fa-caret-down");
    } else {
      jQuery(".set > a i")
          .removeClass("fa-caret-up")
          .addClass("fa-caret-down");
      jQuery(this)
          .find("i")
          .removeClass("fa-caret-down")
          .addClass("fa-caret-up");
      jQuery(".set > a").removeClass("active");
      jQuery(this).addClass("active");
      jQuery(".accordion-content").slideUp(200);
      jQuery(this)
          .siblings(".accordion-content")
          .slideDown(200);
    }
  });


  //even slider
  var eventSlider = new Swiper(".event_slider", {
    // Optional parameters
    direction: "horizontal",
    loop: true,
    speed: 1200,
    spaceBetween: 30,
    grabCursor: true,
    allowTouchMove: true,
    touchRatio: 0,
    // autoplay: {
    //     delay: 2500,
    //     disableOnInteraction: true,
    // },
    pagination: {
      el: ".event-pagin",
      type: "bullets",
      clickable: true,
      // renderBullet: function (index, className) {
      //   return '<span class="' + className + '"><span>0</span>' + (index + 1) + '</span>';
      // }
    },
  });

  // INPUT FOCUS ANIMATION
  jQuery('.form-focused .form-control').focus(function () {
    jQuery(this).closest('.form-group').addClass('focused');
  });
  jQuery('.form-focused .form-control').each(function () {
    if (jQuery(this).val() != "") {
      jQuery(this).closest('.form-group').addClass('focused');
    }
  });
  jQuery('.form-focused .form-control').focusout(function () {
    if (jQuery(this).val() === "")
      jQuery(this).closest('.form-group').removeClass('focused');
  })

  //search
  if (jQuery('.search-box-outer').length) {
    jQuery('.search-box-outer').on('click', function () {
      jQuery('body').addClass('search-active');
    });
    jQuery('.close-search').on('click', function () {
      jQuery('body').removeClass('search-active');
    });
  }



  //   Side menu
  jQuery('#nav-icon').click(function () {
    // Toggle the 'active' class on the '#side_menu' element
    jQuery('#side_menu').toggleClass('active');
    jQuery('#X-icon').toggleClass('okay');
    jQuery('.menu-overlay').toggleClass('do');
    jQuery('header, section').toggleClass('blur-me');
    jQuery(this).toggleClass('byee');
  });

  jQuery("#X-icon, .menu-overlay").on("click", function(e) {
    jQuery("#side_menu").removeClass("active");
    jQuery(".menu-overlay").removeClass("do");
    jQuery('header, section').removeClass('blur-me');
    jQuery('#X-icon').removeClass('okay');
    jQuery('#nav-icon').removeClass('byee');
  })

  jQuery('#side_menu .sub-menu').slideUp();
  jQuery('#side_menu .menu-item > i').on('click', function () {
    if (jQuery(this).hasClass('open')) {
      jQuery(this).siblings('.sub-menu').slideUp();
      jQuery(this).removeClass('open fa-solid fa-minus').addClass('fa-solid fa-plus');
    } else {
      jQuery(this).parent().siblings(".menu-item").find(".sub-menu").slideUp();
      jQuery(this).parent().siblings(".menu-item").find("i").removeClass("open fa-solid fa-minus").addClass('fa-solid fa-plus');
      jQuery(this).siblings('.sub-menu').slideDown();
      jQuery(this).removeClass('fa-solid fa-plus').addClass('open fa-solid fa-minus');
    }
  });


  // jQuery('.team-slider').on('mouseover', function() {
  //   teamSlider.autoplay.stop();
  // });
  //
  // jQuery('.team-slider').on('mouseleave', function() {
  //   teamSlider.autoplay.start();
  // });


  //GSAP ANIMATION
  gsap.from(".products .row [class*='col-'], .projects .row [class*='col-'] .projects-item ", {duration: .5, opacity: 0, delay: 1.2, stagger: 0.2});
  // usage:
  batch(".products .row [class*='col-'], .projects .row [class*='col-'] .projects-item", {
    interval: 0.5, // time window (in seconds) for batching to occur. The first callback that occurs (of its type) will start the timer, and when it elapses, any other similar callbacks for other targets will be batched into an array and fed to the callback. Default is 0.1
    batchMax: 3, // maximum batch size (targets)
    onEnter: (batch) =>
        gsap.to(batch, { autoAlpha: 1, stagger: 0.20, overwrite: true }),
    onLeave: (batch) => gsap.set(batch, { autoAlpha: 0, overwrite: true }),
    onEnterBack: (batch) =>
        gsap.to(batch, { autoAlpha: 1, stagger: 0.20, overwrite: true }),
    onLeaveBack: (batch) => gsap.set(batch, { autoAlpha: 0, overwrite: true })
    // you can also define things like start, end, etc.
  });


  // the magical helper function (no longer necessary in GSAP 3.3.1 because it was added as ScrollTrigger.batch())...
  function batch(targets, vars) {
    let varsCopy = {},
        interval = vars.interval || 0.1,
        proxyCallback = (type, callback) => {
          let batch = [],
              delay = gsap
                  .delayedCall(interval, () => {
                    callback(batch);
                    batch.length = 0;
                  })
                  .pause();
          return (self) => {
            batch.length || delay.restart(true);
            batch.push(self.trigger);
            vars.batchMax && vars.batchMax <= batch.length && delay.progress(1);
          };
        },
        p;
    for (p in vars) {
      varsCopy[p] =
          ~p.indexOf("Enter") || ~p.indexOf("Leave")
              ? proxyCallback(p, vars[p])
              : vars[p];
    }
    gsap.utils.toArray(targets).forEach((target) => {
      let config = {};
      for (p in varsCopy) {
        config[p] = varsCopy[p];
      }
      config.trigger = target;
      ScrollTrigger.create(config);
    });
  }


  // for form (focus)
  // jQuery(".form-control").on("focus", function() {
  //   const inputId = jQuery(this).attr("id");
  //   jQuery("label[for='" + inputId + "']").addClass("active_form");
  // }).on("blur", function() {
  //   const inputId = jQuery(this).attr("id");
  //   jQuery("label[for='" + inputId + "']").removeClass("active_form");
  // });


  //tabs
  // Set the first tab as current and show its content initially
  // Add 'current' class to the first tab and show its content
  jQuery('.media_tabs li:first-child').addClass('current');
  jQuery('.media_item').hide();
  jQuery('.media_item:first').show();

  // Click function
  jQuery('.media_tabs li').click(function() {
    // Check if the clicked tab is already 'current'
    if (!jQuery(this).hasClass('current')) {
      var tab_id = jQuery(this).find('a').attr('data-media');

      // Remove the 'current' class from all tabs and add it to the clicked tab
      jQuery('.media_tabs li').removeClass('current');
      jQuery(this).addClass('current');

      // Hide all tab content
      jQuery('.media_item').slideUp(); // You can adjust the speed of the slide animation

      // Show the corresponding tab content with a slide down animation
      jQuery('.media_item[data-media="' + tab_id + '"]').slideDown(); // You can adjust the speed of the slide animation
    }

    return false;
  });



  // const sr = ScrollReveal({
  //   distance: '50px',
  //   duration: 1000,
  //   easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
  //   interval: 150,
  //   reset: true,
  // });
  //
  // // Apply animation to elements revealing from the top
  // sr.reveal('.sec-tit, .hold-counter [class*="col-"]:nth-child(odd), .products [class*="col-"]:nth-child(odd)', {
  //   origin: 'top',
  //   scale: 1,
  //   opacity: 0,
  //   delay: 200,
  //   distance: '50px',
  // });
  //
  // // Apply the animation to elements revealing from the bottom
  // sr.reveal('.about-desc, .projects-url, .partners-img, .certificates-slider, .hold-counter [class*="col-"]:nth-child(even), .products [class*="col-"]:nth-child(even), .forma .row, .cards-container, .footer_links, .copywrite', {
  //   origin: 'bottom',
  //   scale: 1,
  //   opacity: 0,
  //   delay: 200,
  // });
  //
  // // Apply a different animation to elements revealing from the right
  // sr.reveal('.vision-img, .vision-item, .form-url, .tabs-controls', {
  //   origin: 'right',
  //   distance: '100px',
  //   scale: 1.2,
  //   opacity: 0,
  //   delay: 300,
  // });
  //
  //
  // // Callback for when an element is revealed
  // sr.reveal('.sec-tit', {
  //   afterReveal: (el) => {
  //     el.classList.add('revealed');
  //   },
  // });


// news carousel
  var rtl_dir = false;
  jQuery('html').attr("dir") == "ltr" ? rtl_dir = false : rtl_dir = true;


  jQuery(".news_slider").owlCarousel({
    items: 3,
    margin: 20,
    nav: false,
    smartSpeed:600,
    stopOnHover : true,
    autoplay: false,
    rtl: true,
    mouseDrag: true,
    loop: true,
    dots: false,
    responsive: {
      0: {
        items: 1,
      },
      575: {
        items: 3,
      },
      768: {
        items:3,
      }
    },
    // navText: [
    //     "<i class='fa-solid fa-right-long'></i>",
    //     "<i class='fa-solid fa-left-long'></i>"
    // ],
  });




});

//wow
// wow = new WOW(
//     {
//         boxClass:     'wow',      // default
//         animateClass: 'animated', // default
//         offset:       0,          // default
//         mobile:       true,       // default
//         live:         true        // default
//     }
// )
// new WOW().init();





 jQuery(document).ready(function() {
   
 jQuery(".dis-but").prop('disabled', true);
              jQuery(".dis-but").addClass("dis-effect")
jQuery('input#rules').click(function(){
            if(jQuery(this).prop("checked") == true){
              jQuery(".dis-but").removeAttr("disabled");
              jQuery(".dis-but").removeClass("dis-effect")
            }
            else if(jQuery(this).prop("checked") == false){
              jQuery(".dis-but").prop('disabled', true);
              jQuery(".dis-but").addClass("dis-effect")
              
            }
        });
    });



jQuery(document).ready(function() {
  function createCircles() {
    const $container = jQuery("  .circle-container2");
    $container.empty(); // نفضيها لو اتعمل resize
    let parentWidth = jQuery("#circleSection2").width();
    const numCircles = 5; // عدد الدوائر
    const maxSize = 200; // الحد الأقصى

    // لو العرض أكبر من 400 نخليه 400
    if (parentWidth > maxSize) {
      parentWidth = maxSize;
      $container.css({
        // width: maxSize + "px",
        // height: maxSize + "px",
        margin: "0 auto"
      });
    } else {
      $container.css({
        // width: parentWidth + "px",
        // height: parentWidth + "px"
      });
    }

    const step = parentWidth / (numCircles * 2);

    for (let i = 0; i < numCircles; i++) {
      const size = (i + 1) * step * 2;
      const offset = (parentWidth - size) / 2;
      const $circle = jQuery("<div class='circle'></div>").css({
        width: size + "px",
        height: size + "px",
        top: offset + "px",
        left: offset + "px",
        animationDelay: (i * 0.2) + "s"
      });
      $container.append($circle);
    }
  }

  createCircles();

  // لما يتغير حجم الشاشة
  jQuery(window).on("resize", function() {
    createCircles();
  });
});



jQuery(document).ready(function() {
  function createCircles() {
    const $container = jQuery(".circle-container");
    $container.empty(); // نفضيها لو اتعمل resize
    let parentWidth = jQuery("#circleSection").width();
    const numCircles = 5; // عدد الدوائر

    // نحدد الحد الأقصى حسب عرض الشاشة
    const maxSize = (jQuery(window).width() <= 991) ? 100 : 400;

    // لو العرض أكبر من maxSize نخليه maxSize
    if (parentWidth > maxSize) {
      parentWidth = maxSize;
      $container.css({
        // width: maxSize + "px",
        // height: maxSize + "px",
        margin: "0 auto"
      });
    } else {
      $container.css({
        // width: parentWidth + "px",
        // height: parentWidth + "px"
      });
    }

    const step = parentWidth / (numCircles * 2);

    for (let i = 0; i < numCircles; i++) {
      const size = (i + 1) * step * 2;
      const offset = (parentWidth - size) / 2;
      const $circle = jQuery("<div class='circle'></div>").css({
        width: size + "px",
        height: size + "px",
        top: offset + "px",
        left: offset + "px",
        animationDelay: (i * 0.2) + "s"
      });
      $container.append($circle);
    }
  }

  createCircles();

  // لما يتغير حجم الشاشة
  jQuery(window).on("resize", function() {
    createCircles();
  });
});

function initSliderAnimation() {
  const sliders = document.querySelectorAll('.slider');

  sliders.forEach(slider => {
    const shapesGroup = slider.querySelector('.shapes-group');
    if (!shapesGroup) return;

    let mouseX = 0, mouseY = 0;
    let currentX = 0, currentY = 0;

    slider.addEventListener('mousemove', (e) => {
      const rect = slider.getBoundingClientRect();
      mouseX = ((e.clientX - rect.left) / rect.width - 0.5) * 20;
      mouseY = ((e.clientY - rect.top) / rect.height - 0.5) * 20;
    });

    function animate() {
      currentX += (mouseX - currentX) * 0.1;
      currentY += (mouseY - currentY) * 0.1;

      shapesGroup.style.transform = `translate(${currentX}px, ${currentY}px)`;
      requestAnimationFrame(animate);
    }

    animate();
  });
}

// Run on page load
if (document.readyState === 'loading') {
  document.addEventListener('DOMContentLoaded', initSliderAnimation);
} else {
  initSliderAnimation();
}













function animateCounter($el) {
  var target = parseFloat($el.attr('data-target'));
  var suffix = $el.attr('data-suffix') || ''; // لاحقة لو موجودة
  var duration = 1500; // مدة العد بالملي ثانية
  var stepTime = 10;
  var current = 0;
  var step = target / (duration / stepTime);

  var counter = setInterval(function() {
    current += step;
    if (current >= target) {
      current = target;
      clearInterval(counter);
    }

    // لو الرقم عشري أو صحيح
    if (target % 1 === 0) {
      $el.text(Math.floor(current) + suffix);
    } else {
      $el.text(current.toFixed(1) + suffix);
    }

  }, stepTime);
}

function checkScroll() {
  jQuery('.counter').each(function() {
    var $this = jQuery(this);
    var top_of_element = $this.offset().top;
    var bottom_of_screen = jQuery(window).scrollTop() + jQuery(window).height();

    if (bottom_of_screen > top_of_element) {
      if (!$this.hasClass('counted')) {
        $this.addClass('counted');
        animateCounter($this);
      }
    }
  });
}

jQuery(window).on('scroll', checkScroll);
checkScroll(); // لو العنصر ظاهر من البداية




function animateGauge($el) {
  var target = parseFloat($el.attr('data-target'));
  var $gaugeFill = $el.closest('.semi-gauge').find('.gauge-fill');
  var maxDash = 126; // طول القوس
  var current = 0;
  var duration = 1500;
  var stepTime = 10;
  var step = target / (duration / stepTime);

  var counter = setInterval(function() {
    current += step;
    if (current >= target) {
      current = target;
      clearInterval(counter);
    }

    // تحديث الرقم
    var suffix = $el.attr('data-suffix') || '';
    if (target % 1 === 0) {
      $el.text(Math.floor(current) + suffix);
    } else {
      $el.text(current.toFixed(1) + suffix);
    }

    // تحديث تعبئة الـ gauge
    var dash = (current / 100) * maxDash; // تحويل النسبة إلى طول
    $gaugeFill.attr('stroke-dasharray', dash + ' ' + maxDash);

  }, stepTime);
}

function checkScroll() {
  jQuery('.counter').each(function() {
    var $this = jQuery(this);
    var top_of_element = $this.offset().top;
    var bottom_of_screen = jQuery(window).scrollTop() + jQuery(window).height();

    if (bottom_of_screen > top_of_element) {
      if (!$this.hasClass('counted')) {
        $this.addClass('counted');
        animateGauge($this);
      }
    }
  });
}

jQuery(window).on('scroll', checkScroll);
checkScroll(); // في حالة العنصر ظاهر من البداية


function animateOnAbout() {

  // تحقق أن العنصر موجود
  if (jQuery('.onabout-img').length === 0) {
    return; // لو مش موجود… اخرج من الفنكشن
  }

  var $section = jQuery('.onabout-img');
  var top_of_element = $section.offset().top;
  var bottom_of_screen = jQuery(window).scrollTop() + jQuery(window).height();

  if (bottom_of_screen > top_of_element && !$section.hasClass('animated')) {

    $section.addClass('animated');

    $section.find('.onabout-imgitms').each(function(index) {
      var $el = jQuery(this);
      setTimeout(function() {
        $el.addClass('show');
      }, index * 1000);
    });
  }
}

jQuery(window).on('scroll', animateOnAbout);
animateOnAbout(); // لو العنصر ظاهر من البداية



document.addEventListener('DOMContentLoaded', function() {
  const tabButtons = document.querySelectorAll('.tab-btn');
  const tabContents = document.querySelectorAll('.tab-content');

  tabButtons.forEach(button => {
    button.addEventListener('click', function() {
      const targetTab = this.getAttribute('data-tab');

      // إزالة active من جميع الأزرار
      tabButtons.forEach(btn => {
        btn.classList.remove('active');
      });

      // إضافة active للزر المضغوط
      this.classList.add('active');

      // إخفاء جميع المحتويات
      tabContents.forEach(content => {
        content.classList.remove('active');
      });

      // إظهار المحتوى المطلوب
      const activeContent = document.getElementById(targetTab);
      if (activeContent) {
        // تأخير بسيط لعمل الأنيميشن
        setTimeout(() => {
          activeContent.classList.add('active');
        }, 50);
      }
    });
  });
});

jQuery(document).ready(function() {
  // إخفاء كل المحتوى في البداية
  jQuery('.accrdsecbody').hide();

  // فتح أول أكورديون تلقائياً
  jQuery('.accrdsec').first().addClass('active');
  jQuery('.accrdsec').first().find('.accrdsecbody').slideDown(500);

  // عند الضغط على رأس الأكورديون
  jQuery('.accrdsechead').on('click', function() {
    const currentAccordion = jQuery(this).parent('.accrdsec');
    const currentBody = jQuery(this).siblings('.accrdsecbody');

    // لو الأكورديون ده مفتوح
    if (currentAccordion.hasClass('active')) {
      currentAccordion.removeClass('active');
      currentBody.slideUp(400);
    } else {
      // قفل كل الأكورديونات التانية
      jQuery('.accrdsec').removeClass('active');
      jQuery('.accrdsecbody').slideUp(400);

      // افتح الأكورديون الحالي
      currentAccordion.addClass('active');
      currentBody.slideDown(500);
    }
  });
});



jQuery(document).ready(function() {
  // لكل رابط فيديو
  jQuery('.fancybox[data-fancybox="gallery"]').each(function() {
    const videoUrl = jQuery(this).attr('href');
    const linkElement = jQuery(this);

    // إنشاء عنصر فيديو مخفي لقراءة المدة
    const video = document.createElement('video');
    video.preload = 'metadata';
    video.src = videoUrl;

    // عند تحميل بيانات الفيديو
    video.addEventListener('loadedmetadata', function() {
      const duration = video.duration;

      // تحويل الثواني لدقائق وثواني
      const minutes = Math.floor(duration / 60);
      const seconds = Math.floor(duration % 60);
      const timeString = `${minutes}:${seconds < 10 ? '0' + seconds : seconds}`;

      // إضافة الوقت للرابط
      linkElement.find('.course-detail-single-tit').after(
          `<span class="video-duration">${timeString}</span>`
      );

      // تنظيف عنصر الفيديو من الذاكرة
      video.remove();
    });

    // في حالة حدوث خطأ
    video.addEventListener('error', function() {
      console.log('Error loading video duration for: ' + videoUrl);
      video.remove();
    });
  });
});
jQuery(".attachments-headddd").click(function (){
  jQuery(this).parent().toggleClass('active')
})

setTimeout(function () {
  jQuery(".accrdsec .accrdsechead").click(function (){

    jQuery(this).parent().find('.allatahmej.active').removeClass('active')
  })
},1000)


// --- Start of Manus Pro Loader Script (Bilingual) ---

// Wait for the entire page to fully load
window.addEventListener('load', function() {
  const proLoader = document.getElementById('manus-pro-loader-wrapper');

  if (proLoader) {
    // Minimum display time for the loader (e.g., 3000ms = 3 seconds)
    setTimeout(function() {
      proLoader.classList.add('manus-pro-loader-hidden');
      document.body.style.overflow = 'auto';

      // Remove the loader from the DOM after the transition ends
      setTimeout(function() {
        proLoader.style.display = 'none';
      }, 500); // Matches CSS transition duration

    }, 3000); // Minimum display time
  }
});

// --- Bilingual Dynamic Text Update ---

// 1. Define texts for both languages
const proLoaderBilingualTexts = {
  en: [
    'Loading Courses',
    'Preparing Content',
    'Just a moment',
    'Almost ready'
  ],
  ar: [
    'جاري تحميل الدورات',
    'جاري تحضير المحتوى',
    'لحظات وينطلق كل شيء',
    'اكتمل التحميل تقريبًا'
  ]
};

// 2. Detect the current language (based on HTML direction attribute)
const currentLang = document.documentElement.dir === 'rtl' ? 'ar' : 'en';
const proLoaderTexts = proLoaderBilingualTexts[currentLang];

// 3. Get the text element
const proLoaderTextElement = document.querySelector('#manus-pro-loader-wrapper .manus-pro-loader-text');

if (proLoaderTextElement) {
  let proTextIndex = 0;

  // 4. Start the interval to update the text
  const textInterval = setInterval(function() {
    if (proTextIndex < proLoaderTexts.length - 1) {
      proTextIndex++;
      // Update the text content, keeping the dots span
      proLoaderTextElement.innerHTML = proLoaderTexts[proTextIndex] + '<span class="manus-pro-loader-dots"><span>.</span><span>.</span><span>.</span></span>';
    } else {
      // Stop the interval once all texts have been shown
      clearInterval(textInterval);
    }
  }, 1000); // Change text every 1 second
}

// --- End of Manus Pro Loader Script ---



 

 

 