// Vars
const windowWidth = window.innerWidth;

function RMsetCookie(name, value, daysToExpire, path = "/") {
    // التحقق من صحة المدخلات
    if (!name || typeof name !== 'string') {
        throw new Error('Cookie name is required and must be a string');
    }
    
    if (value === undefined || value === null) {
        throw new Error('Cookie value is required');
    }
    
    if (typeof daysToExpire !== 'number' || daysToExpire < 0) {
        throw new Error('Days to expire must be a positive number');
    }
    
    // إنشاء تاريخ انتهاء الصلاحية
    const expirationDate = new Date();
    const millisecondsPerDay = 24 * 60 * 60 * 1000;
    expirationDate.setTime(expirationDate.getTime() + (daysToExpire * millisecondsPerDay));
    
    // تشفير القيم لتجنب مشاكل الأحرف الخاصة
    const encodedName = encodeURIComponent(name);
    const encodedValue = encodeURIComponent(value);
    const encodedPath = encodeURIComponent(path);
    
    // بناء الكوكي
    const cookieString = `${encodedName}=${encodedValue}; expires=${expirationDate.toUTCString()}; path=${encodedPath}`;
    
    // إعداد الكوكي
    document.cookie = cookieString;
    
    return true; // إرجاع قيمة للتأكد من نجاح العملية
}

function RMgetCookie(cookieName) {
    // التحقق من صحة المدخل
    if (!cookieName || typeof cookieName !== 'string') {
        console.warn('Cookie name must be a valid string');
        return null;
    }
    
    // التحقق من وجود الكوكيز
    if (!document.cookie) {
        return null;
    }
    
    const name = encodeURIComponent(cookieName) + "=";
    const cookiesArray = document.cookie.split(';');
    
    for (let cookie of cookiesArray) {
        // إزالة المسافات من البداية والنهاية
        cookie = cookie.trim();
        
        // البحث عن الكوكي المطلوب
        if (cookie.indexOf(name) === 0) {
            const cookieValue = cookie.substring(name.length);
            // فك تشفير القيمة
            return decodeURIComponent(cookieValue);
        }
    }
    
    return null; // إرجاع null بدلاً من string فارغ
}

function RMget_param(paramName) {
    var urlParams = new URLSearchParams(window.location.search);
    return urlParams.get(paramName);
}


// Phone input and check

let countryTranslations = {};
let jsFilesToUpload = [
  "https://cdn.jsdelivr.net/npm/intl-tel-input@22.0.2/build/js/intlTelInput.min.js",
  "https://cdn.jsdelivr.net/npm/libphonenumber-js@latest/bundle/libphonenumber-max.js"
]

let cLang = ['fr_FR', 'fr-FR'].includes(lang) ? 'fr' : lang;

if (["ar", "fr"].includes(cLang)) {
  jsFilesToUpload.push(`${DS1InitInfo.rm_core}frontend/iti_${cLang}.js`);
}

DynamicAssetsLoader.onElementVisible(".phone-input", {
  js: jsFilesToUpload,
	css: [
		"https://cdn.jsdelivr.net/npm/intl-tel-input@22.0.2/build/css/intlTelInput.min.css"
	],
  callback: () => {
    document.querySelectorAll(".phone-input").forEach(input => {
      if (input.dataset.initialized === "1") return;

      const form = input.closest(".phone-co");
      if (!form) return;

      const cleanInput = form.querySelector(".clean-phone");
      const countryInput = form.querySelector(".country-code");

      
      if ( typeof itiTranslations !== "undefined" && (cLang === "ar" || cLang === "fr") ){
        countryTranslations = itiTranslations;
      }


      
      const iti = window.intlTelInput(input, {
        initialCountry: window.siteDefaultCountry || "eg", // أو حددها يدويًا
        countryOrder: window.countryOrder || ["eg", "sa", "ae", "qa", "om", "bh", "kw", "iq", "jo", "dz", "ma", "tn", "lb", "sy", "ye", "sd", "ps"],
        nationalMode: false,
        separateDialCode: true,
        excludeCountries:['il'],
        i18n:countryTranslations, 

        utilsScript: "https://cdn.jsdelivr.net/npm/intl-tel-input@22.0.2/build/js/utils.js",
      });

      input.dataset.initialized = "1";

      input.addEventListener("blur", () => {

        const fullNumber = iti.getNumber(); // الرقم مع كود الدولة
        const countryData = iti.getSelectedCountryData();
        
        if (cleanInput) cleanInput.value = iti.getNumber('NATIONAL');
        if (countryInput) countryInput.value = countryData.iso2 + ' :: +' + countryData.dialCode;

        try {
          const phoneNumber = libphonenumber.parsePhoneNumber(fullNumber);
          const isValid = phoneNumber.isValid();
          const numberType = phoneNumber.getType(); // الحصول على نوع الرقم
          const isMobile = numberType === 'MOBILE'; // التحقق من أنه موبايل

          // console.log(`[Form] رقم الهاتف الكامل: ${fullNumber}`);
          // console.log(`[Form] الدولة: ${countryData.iso2}`);
          // console.log(`[Form] الرقم صالح؟ ${isValid}`);
          // console.log(`[Form] نوع الرقم: ${numberType}`);
          // console.log(`[Form] هل هو موبايل؟ ${isMobile}`);

          // التحقق من أن الرقم صالح وموبايل
          if (!isValid || !isMobile) {
            input.classList.add("input-error");
            if (!isMobile) {
              console.warn("❌ الرقم ليس رقم موبايل");
            }
          } else {
            input.classList.remove("input-error");
          }
        } catch (err) {
          console.warn("❌ خطأ في تحليل الرقم:", err);
          input.classList.add("input-error");
        }
        
      });
    });
  }
});
document.querySelectorAll('.phone-input').forEach(function(input) {
  input.addEventListener('input', function() {
    this.value = this.value.replace(/[^\d]/g, '');
  });
});
// Example
// <form class="phone-form">
//   <label>رقم الهاتف</label>
//   <input type="tel" class="phone-input" placeholder="رقم الهاتف" />

//   <input type="hidden" class="clean-phone">
//   <input type="hidden" class="country-code">
// </form>



DynamicAssetsLoader.watchClass(".slider", {
  js: [
    `${DS1InitInfo.rm_core}frontend/date-selector.js`
  ],
  css: [
  ],
  callback: () => {
    
  }
});


// ********************* Load MAPS::Leaflet CSS & JS *********************
DynamicAssetsLoader.onElementVisible(".map-cont-co-to-render", {
  js: [
    "https://unpkg.com/leaflet@1.9.3/dist/leaflet.js",
  ],
  css:[
    "https://unpkg.com/leaflet@1.9.3/dist/leaflet.css"
  ],
  callback: () => {
      // بعد التحميل، تنفيذ كود إنشاء الخرائط
      document.querySelectorAll(".map-cont-co-to-render").forEach((el) => {
          const lat = parseFloat(el.dataset.lat);
          const lng = parseFloat(el.dataset.lng);
          const zoom = parseInt(el.dataset.zoom) || 13;
          const ID = el.getAttribute("id");

          // جمع البيانات من العناصر داخل الـ div
          const points = Array.from(el.querySelectorAll("span")).map((span) => {
            return {
              name: span.getAttribute("name") || span.textContent,
              lat: parseFloat(span.getAttribute("lat")),
              lng: parseFloat(span.getAttribute("lng")),
            };
          });

          const map = L.map(ID).setView([lat, lng], zoom);

          L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
              maxZoom: 17,
              attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
          }).addTo(map);

          // إضافة كل نقطة كـ Marker
          points.forEach(point => {
            L.marker([point.lat, point.lng])
              .addTo(map)
              .bindPopup(`<strong>${point.name}</strong>`);
          });
      });
  }
});
// Example
//  <div
//     id="map2"
//     class="map-cont-co-to-render"
//     data-lat="40.7128"
//     data-lng="-74.0060"
//     data-zoom="3">

//     <span name="نيويورك" lat="40.7128" lng="-74.0060">نيويورك</span>
//     <span name="القاهرة" lat="30.0444" lng="31.2357">القاهرة</span>
//     <span name="لوس أنجلوس" lat="34.0522" lng="-118.2437">لوس أنجلوس</span>
//     <span name="شيكاغو" lat="41.8781" lng="-87.6298">شيكاغو</span>
//   </div>

// .map-cont-co-to-render {
//     min-height: 500px;
//     min-width: 500px;
// }




// ********************* countDown - SimpleCountDown *********************
DynamicAssetsLoader.onElementVisible(".count-down", {
  js: [
    "https://cdn.jsdelivr.net/gh/Dazix/SimpleCountDown@master/dist/countDown.min.js",
  ],
  css: [
    "https://cdn.jsdelivr.net/gh/Dazix/SimpleCountDown@master/dist/countDown.min.css"
  ],
  callback: () => {
    const windowWidth = window.innerWidth;
    const isRTL = typeof pageDirRtl !== "undefined" && pageDirRtl;

    document.querySelectorAll(".count-down").forEach((el) => {
      const rawDate = el.dataset.date;
      if (!rawDate) return;

      let [d, m, y] = rawDate.split(/-|\//); // يدعم "26-02-2012" أو "26/02/2012"
      const dateObj = new Date(y, m - 1, d);
      if (isNaN(dateObj)) return;

      const cd = new Countdown({
        cont: el,
        date: rawDate,
        outputTranslation: {
          year: isRTL ? 'سنة' : 'Years',
          week: isRTL ? 'أسابيع' : 'Weeks',
          day: isRTL ? 'أيام' : 'Days',
          hour: isRTL ? 'ساعات' : 'Hours',
          minute: isRTL ? 'دقائق' : 'Minutes',
          second: isRTL ? 'ثواني' : 'Seconds',
        },
        endCallback: null,
        outputFormat: windowWidth < 600
          ? 'year|day|hour|second'
          : 'year|week|day|hour|minute|second',
      });

      cd.start();
    });
  }
});

// Example
// يجب الانتباه الى تنسيق التاريخ YYYY/MM/DD
// <div class="count-down" data-date="2025/07/15">Counter</div>

// ********************* slick slider *********************

DynamicAssetsLoader.watchClass(".slider", {
  js: [
    "https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"
  ],
  css: [
    "https://s3.eu-west-3.amazonaws.com/single.files/mainsite/uploads/ds1-elements/assets/slick.css"
  ],
  callback: () => {
    const isRTL = typeof pageDirRtl !== "undefined" && pageDirRtl;

    if (typeof jQuery === "undefined" || typeof jQuery.fn.slick === "undefined") return;

    // slide-one
    jQuery('.slide-one').slick({
      rtl: isRTL,
      autoplay: true,
      autoplaySpeed: 2000,
      slidesToShow: 1
    });

    // slide-dy (ديناميكي)
    jQuery('.slide-dy').each(function () {
      const $el = jQuery(this);
      $el.slick({
        centerMode: $el.data('center') || false,
        rtl: isRTL,
        autoplay: true,
        autoplaySpeed: $el.data('speed') || 2000,
        slidesToShow: $el.data('slides') || 4,
        responsive: [
          {
            breakpoint: 992,
            settings: { slidesToShow: $el.data('slides-lg') || 3 }
          },
          {
            breakpoint: 768,
            settings: { slidesToShow: $el.data('slides-md') || 2 }
          },
          {
            breakpoint: 500,
            settings: { slidesToShow: $el.data('slides-sd') || 2 }
          }
        ]
      });
    });
  }
});

// Example
// <div class="slider slide-dy"
//      data-center="true"
//      data-speed="3000"
//      data-slides="4"
//      data-slides-lg="3"
//      data-slides-md="2"
//      data-slides-sd="1">
//   <div><img src="https://via.placeholder.com/300x200?text=Slide+1" alt=""></div>
//   <div><img src="https://via.placeholder.com/300x200?text=Slide+2" alt=""></div>
//   <div><img src="https://via.placeholder.com/300x200?text=Slide+3" alt=""></div>
//   <div><img src="https://via.placeholder.com/300x200?text=Slide+4" alt=""></div>
//   <div><img src="https://via.placeholder.com/300x200?text=Slide+5" alt=""></div>
// </div>

// ********************* swiper slider *********************

DynamicAssetsLoader.watchClass(".swiper-container", {
  js: [
    "https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.js"
  ],
  css: [
    "https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.css"
  ],
  callback: () => {
    if (typeof Swiper === "undefined") return;

    // تهيئة كل سلايدر بعنصر class="slider"
    document.querySelectorAll(".swiper-container").forEach(sliderEl => {
      // قراءة الإعدادات من data attributes
      const slidesPerView = parseInt(sliderEl.dataset.slides) || 1;
      const slidesPerViewLg = parseInt(sliderEl.dataset.slidesLg) || slidesPerView;
      const slidesPerViewMd = parseInt(sliderEl.dataset.slidesMd) || slidesPerViewLg;
      const slidesPerViewSd = parseInt(sliderEl.dataset.slidesSd) || slidesPerViewMd;

      const loop = sliderEl.dataset.loop === "true";
      const autoplayDelay = parseInt(sliderEl.dataset.autoplaySpeed) || 0;
      const spaceBetween = parseInt(sliderEl.dataset.spaceBetween) || 10;
      const centered = sliderEl.dataset.center === "true";

      const swiperOptions = {
        slidesPerView,
        loop,
        centeredSlides: centered,
        spaceBetween,
        autoplay: autoplayDelay > 0 ? { delay: autoplayDelay } : false,
        // دعم RTL اذا متوفر
        rtl: typeof pageDirRtl !== "undefined" && pageDirRtl,
        // الإعدادات المستجيبة (responsive)
        breakpoints: {
          992: { slidesPerView: slidesPerViewLg },
          768: { slidesPerView: slidesPerViewMd },
          500: { slidesPerView: slidesPerViewSd },
        }
      };

      // تهيئة السلايدر
      new Swiper(sliderEl, swiperOptions);
    });
  }
});


// <div class="swiper-container"
//      data-slides="4"
//      data-slides-lg="3"
//      data-slides-md="2"
//      data-slides-sd="1"
//      data-loop="true"
//      data-autoplay-speed="2000"
//      data-space-between="20"
//      data-center="true">
//   <div class="swiper-wrapper">
//     <div class="swiper-slide">شريحة 1</div>
//     <div class="swiper-slide">شريحة 2</div>
//     <div class="swiper-slide">شريحة 3</div>
//     <div class="swiper-slide">شريحة 4</div>
//   </div>
// </div>



// ********************* bookmark *********************

DynamicAssetsLoader.watchClass(".add-to-bookmark", {
  js: [
    `${DS1InitInfo.rm_core}frontend/functions-rmbookmark.js`
  ],
  callback: () => {

  }
});

// Example
// <div class="add-to-bookmark" data-pid="222">bookmark</div>
// <div class="thumbnail-co" data-pid="3333"><div class="add-to-bookmark">bookmark</div></div>

// ********************* counter up *********************
DynamicAssetsLoader.watchClass(".counter-up", {
  js: [
    "https://cdn.jsdelivr.net/npm/countup.js@2.9.0/dist/countUp.umd.js"
  ],
  callback: () => {

    const observer = new IntersectionObserver(entries => {
      entries.forEach(entry => {
        if (entry.isIntersecting) {
          // استخدم اسم متغير مختلف مثل countUpInstance
          const countUpInstance = new countUp.CountUp(entry.target, entry.target.dataset.target);
          if (!countUpInstance.error) {
            countUpInstance.start();
            observer.unobserve(entry.target);
          } else {
            console.error(countUpInstance.error);
          }
        }
      });
    });

    document.querySelectorAll('.counter-up').forEach(el => {
      observer.observe(el);
    });

  }
});

// Example
// <span class="counter-up" data-target="5000">0</span>

// ********************* Main menu *********************

DynamicAssetsLoader.onUserInteraction({
  js: [
    `${DS1InitInfo.rm_core}frontend/menu.js`,
  ],
  css:[
    `${DS1InitInfo.rm_core}frontend/menu.css`,
  ],
  callback: () => {
  }
});





// ********************* youtube *********************

function youtube_parser(url) {
  var regExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))([^?&"'>]+)/;
  var match = url.match(regExp);
  return (match && match[1].length === 11) ? match[1] : false;
}

// اختيار كل العناصر المستهدفة
const videoLinks = document.querySelectorAll(".video-popup-code-co .open-video-youtube, .open-youtube .link");

videoLinks.forEach(el => {
  el.addEventListener("click", event => {
    event.preventDefault(); // منع الرابط الافتراضي

    // الحصول على الرابط من data-link-id أو href
    const linkId = el.dataset.linkId || el.getAttribute('href');
    const youtubeId = youtube_parser(linkId);

    if (youtubeId) {
      const popFrame = document.getElementById("main-empty-menu-co");
      if (popFrame) {
        popFrame.innerHTML = `<div id="pop-frame" class="video-co youtube-co"><iframe src="https://www.youtube.com/embed/${youtubeId}?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe></div>`;
      }
    }
  });
});

// Example
// <div class="video-popup-code-co">
//   <a href="#" class="open-video-youtube" data-link-id="https://www.youtube.com/watch?v=xxxxxx">فتح فيديو 1</a>
// </div>
// <div class="open-youtube">
//   <a href="https://youtu.be/xxxxxxxxxxxxxx" class="link">فتح فيديو 2</a>
// </div>
// <div id="pop-frame"></div>


// ********************* تطبيق فيديو الخلفية مع التحقق من الروابط مباشرة *********************
const applyBackgroundVideo = (selector, desktopVideoUrl, mobileVideoUrl) => {
  // التحقق من صحة الروابط (فحص واحد شامل)
  mobileVideoUrl = mobileVideoUrl || desktopVideoUrl;
  if (!desktopVideoUrl || typeof desktopVideoUrl !== 'string') {
    console.warn('⛔ BG Video links Error', {
      desktop: desktopVideoUrl,
      mobile: mobileVideoUrl
    });
    return;
  }
  
  // البحث عن كل العناصر المطابقة للـ selector
  document.querySelectorAll(selector).forEach(container => {
    // تجنب إضافة فيديو مكرر
    if (container.querySelector('video.bg-video')) return;
    
    // اختيار الرابط المناسب حسب حجم الشاشة
    const selectedVideoUrl = window.innerWidth <= 768 ? mobileVideoUrl : desktopVideoUrl;
    
    // إنشاء عنصر الفيديو مع كل الخصائص
    const backgroundVideo = Object.assign(document.createElement('video'), {
      className: 'bg-video',
      src: selectedVideoUrl,
      autoplay: true,
      muted: true,
      loop: true,
      playsInline: true
    });
    
    // إضافة الفيديو في بداية الحاوي
    container.prepend(backgroundVideo);
    
    // محاولة تشغيل الفيديو مع معالجة الأخطاء
    backgroundVideo.play().catch(playError => {
      console.warn("فشل في تشغيل فيديو الخلفية:", {
        url: selectedVideoUrl,
        error: playError
      });
    });
  });
};
// تطبيق فيديو الخلفية مع الروابط المباشرة
applyBackgroundVideo(
  '.video-bg, .video-bg-dark', 
  DS1InitInfo?.default_video_background || '', 
  DS1InitInfo?.default_video_background_mob || ''
);

applyBackgroundVideo(
  '.video-bg-light', 
  DS1InitInfo?.default_video_background_2 || '', 
  DS1InitInfo?.default_video_background_mob_2 || ''
);

// ********************* Slick & Swiper Controls *********************
const handleSlider = (btn, direction) => {
  const section = btn.closest('.ct-section, .section, .container');
  
  // Slick Slider
  const slickSlider = section?.querySelector('.slick-slider');
  if (slickSlider && window.jQuery) return jQuery(slickSlider).slick(direction === 'next' ? 'slickNext' : 'slickPrev');
  
  // Swiper
  const swiper = section?.querySelector('.swiper, .swiper-container')?.swiper;
  if (swiper) swiper[direction === 'next' ? 'slideNext' : 'slidePrev']();
};
// تطبيق على الأزرار
document.querySelectorAll('.slider_arrow_next').forEach(btn => 
  btn.addEventListener('click', () => handleSlider(btn, 'next'))
);

document.querySelectorAll('.slider_arrow_prev').forEach(btn => 
  btn.addEventListener('click', () => handleSlider(btn, 'prev'))
);


// ********************* responsive video *********************

  const videos = document.querySelectorAll(".responsive-video video");

  videos.forEach((video) => {
    const sources = video.querySelectorAll("source");

    const getSourceBySize = (size) => {
      return Array.from(sources).find(s => s.dataset.size === size);
    };

    let chosenSource;

    // اختر المصدر المناسب حسب حجم الشاشة
    if (windowWidth >= 992) {
      // شاشة كبيرة
      chosenSource = getSourceBySize("large") || getSourceBySize("medium");
    } else if (windowWidth >= 600) {
      // شاشة وسط (تابلت)
      chosenSource = getSourceBySize("medium") || getSourceBySize("large");
    } else {
      // شاشة صغيرة (موبايل)
      chosenSource = getSourceBySize("small") || getSourceBySize("medium");
    }

    if (chosenSource) {
      // تعيين src فقط للمصدر المختار
      sources.forEach(source => source.removeAttribute('src'));
      chosenSource.setAttribute('src', chosenSource.dataset.src);

      video.load();
      video.play().catch(e => {
        console.warn("فشل تشغيل الفيديو تلقائياً:", e.message);
      });
    }
  });

// ********************* campaign *********************


DynamicAssetsLoader.loadScript(
  `${DS1InitInfo.rm_core}frontend/functions-campaign.js`,
  () => {

  }
);



// ********************* load youtube videos from chanel *********************

DynamicAssetsLoader.watchClass(".effects", {
  js: [
    `${DS1InitInfo.rm_core}frontend/effects-1.js`
  ],
  callback: () => {

  }
});


// ********************* Read More Button *********************

const readMoreButtons = document.querySelectorAll(".read-more-btn");

readMoreButtons.forEach(function (btn) {
    btn.addEventListener("click", function () {
        const parent = btn.closest(".custom-post-content");
        const afterContent = parent.querySelector(".content-after");

        if (afterContent) {
            afterContent.style.display = "block";
            btn.style.display = "none";
        }
    });
});

// ********************* CUSTOM file input *********************

// <div class="unit cv">
// 	<p>
//     <span class="custom-upload-button font_1_reg">Choose File</span><span class="custom-upload-text font_1_reg">Upload your resume (File type: Word, Powerpoint, PDF | File Size Limit 5 MB) *</span>
//     <div class="hide">INPUT</div>
// 	</p>
// </div>

// // عناصر الإدخال والزر والنص
// var fileInput = document.querySelector('input[type="file"][name="cv"]');
// var customButton = document.querySelector('.custom-upload-button');
// var customTextElement = document.querySelector('.custom-file-text');

// // التأكد من وجود العناصر المطلوبة
// if (fileInput && (customButton || customTextElement)) {
//     // إضافة الكلاس font_1_reg للعناصر داخل .unit
//     document.querySelectorAll('.unit input, .unit textarea, .unit select, .unit .custom-upload-button, .unit .custom-upload-text')
//         .forEach(function(el) {
//             el.classList.add('font_1_reg');
//         });

//     // عند الضغط على الزر، يتم فتح نافذة اختيار الملف
//     if (customButton) {
//         customButton.addEventListener('click', function () {
//             fileInput.click();
//         });
//     }

//     // عند اختيار ملف، يتم عرض اسمه
//     fileInput.addEventListener('change', function () {
//         if (fileInput.files.length > 0) {
//             var fileName = fileInput.files[0].name;
//             if (customTextElement) {
//                 customTextElement.textContent = fileName;
//             }
//         } else {
//             if (customTextElement) {
//                 customTextElement.textContent = 'No file selected';
//             }
//         }
//     });
// }


// ********************* cursor *********************

// const cursor = document.getElementById('main-cursor');

// if (cursor && window.innerWidth > 992) {
//   let latestX = 0, latestY = 0;
//   let ticking = false;

//   // تحديث موقع المؤشر حسب آخر إحداثيات تم استقبالها
//   function updatePosition() {
//     cursor.style.top = (latestY - 10) + 'px';
//     cursor.style.left = (latestX - 10) + 'px';
//     ticking = false;
//   }

//   document.addEventListener('mousemove', e => {
//     latestX = e.pageX;
//     latestY = e.pageY;

//     if (!ticking) {
//       window.requestAnimationFrame(updatePosition);
//       ticking = true;
//     }
//   });

//   document.addEventListener('click', () => {
//     cursor.classList.add("expand");
//     setTimeout(() => {
//       cursor.classList.remove("expand");
//     }, 500);
//   });

//   document.querySelectorAll('a, .cursor-hover').forEach(el => {
//     const effect = el.dataset.cuEff || "hover-btn";

//     el.addEventListener('mouseenter', () => {
//       cursor.classList.add(effect);
//     });

//     el.addEventListener('mouseleave', () => {
//       cursor.classList.remove(effect);
//     });
//   });
// }


// <div id="main-cursor" class="cursor" style="">
//   <svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" width="30" height="33">
// 	  <path fill="#ffffff" class="s0" d="m3.2 0.3v11.2l-3 3v-14.2zm13.5-0.2h-1.8l-11.3 10.9 10.7 11h5.3l-12.8-12.4z"/>
//   </svg>
// </div>

// .cursor {
//     width: 34px;
//     height: 18px;
//     border-radius: 5px;
//     position: absolute;
//     animation: cursorAnim 0.5s infinite alternate;
//     pointer-events: none;
//     top: 0;
//     z-index: 9999
// }

// @keyframes cursorAnim {
//     from {
//         transform: scale(1)
//     }

//     to {
//         transform: scale(0.7)
//     }
// }

// @keyframes cursorAnim2 {
//     from {
//         transform: scale(1)
//     }

//     to {
//         transform: scale(0.4)
//     }
// }

// @keyframes cursorAnim3 {
//     0% {
//         transform: scale(1)
//     }

//     50% {
//         transform: scale(3)
//     }

//     100% {
//         transform: scale(1);
//         opacity: 0
//     }
// }

// .expand {
//     animation: cursorAnim3 0.5s forwards;
//     border: 1px solid red
// }

// .hover-btn {
//     mix-blend-mode: multiply;
//     animation: none;
//     border: 0
// }

// .hover-btn::after {
//     background: #074c19;
//     width: 45px;
//     height: 45px;
//     top: -13px;
//     left: -13px;
//     animation: none;
//     border: 0
// }

// @media only screen and (max-width: 992px) {
//     #main-cursor {
//         display:none
//     }
// }