Uname: Linux webm012.cluster130.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 8.0.30 [ PHP INFO ] PHP os: Linux
Server Ip: 145.239.37.162
Your Ip: 216.73.216.190
User: dreampi (1009562) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : service.js
(function ($) {
    "use strict";
    $(window).on('elementor/frontend/init', () => {
        elementorFrontend.hooks.addAction('frontend/element_ready/motiox-service.default', ($element) => {
            let addHandler = $('.motiox-swiper-wrapper', $element);
            if (addHandler.length > 0) {
                elementorFrontend.elementsHandler.addHandler(motioxSwiperBase, {
                    $element,
                });
            }

            // Style 1
            if ($(window).width() >= 1024) {
                const serviceImage = $element.find('.service-image');
                const serviceWrap = $element.find('.service-style-1');

                if (serviceImage.length > 0 && serviceWrap.length > 0) {
                    let isAnimating = false;

                    serviceWrap.on('mousemove', function (e) {
                        const rect = this.getBoundingClientRect();
                        const offsetX = e.clientX - rect.left;
                        const offsetY = e.clientY - rect.top;

                        const centerX = rect.width - 500;
                        const centerY = rect.height / 2;

                        let translateX = ((offsetX - centerX) / centerX) * 100;
                        let translateY = ((offsetY - centerY) / centerY) * 25;

                        if(translateY > 20) {
                            translateY = 20;
                        }
                        if(translateY < 0) {
                            translateY = 0;
                        }

                        const rotateZ = ((offsetX - centerX) / centerX) * 10;

                        if (!isAnimating) {
                            isAnimating = true;
                            requestAnimationFrame(() => {
                                serviceImage.css({
                                    transform: `translate3d(${translateX}%, ${translateY}%, 0) rotateX(0deg) rotateY(0deg) rotateZ(${rotateZ}deg)`,
                                    'transform-style': 'preserve-3d',
                                    'will-change': 'transform'
                                });
                                isAnimating = false;
                            });
                        }
                    });
                }
            }

            // Style 4
            const $parent = $('.elementor-service-item');
            const $elements = $parent.find('.service-style-4');

            $elements.hover(
                function () {
                    $elements.removeClass('active');
                    $(this).addClass('active');
                },
            );

            $elements.first().addClass('active');

        });
    });
})(jQuery);
© 2026 GrazzMean-Shell