{"id":25,"date":"2026-04-29T10:47:43","date_gmt":"2026-04-29T10:47:43","guid":{"rendered":"https:\/\/www.adegsotools.ca\/?page_id=25"},"modified":"2026-05-05T10:02:24","modified_gmt":"2026-05-05T10:02:24","slug":"home","status":"publish","type":"page","link":"https:\/\/www.adegsotools.ca\/fr\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"25\" class=\"elementor elementor-25\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6f4d5f2 e-con-full e-flex e-con e-parent\" data-id=\"6f4d5f2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a49e636 elementor-widget elementor-widget-spacer\" data-id=\"a49e636\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8e6c5b1 e-con-full e-flex e-con e-parent\" data-id=\"8e6c5b1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-10e8ad8 elementor--h-position-center elementor--v-position-middle elementor-arrows-position-inside elementor-pagination-position-inside elementor-widget elementor-widget-slides\" data-id=\"10e8ad8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;navigation&quot;:&quot;both&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:&quot;yes&quot;,&quot;transition&quot;:&quot;slide&quot;,&quot;transition_speed&quot;:500}\" data-widget_type=\"slides.default\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-slides-wrapper elementor-main-swiper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Slides\" dir=\"ltr\" data-animation=\"\">\n\t\t\t\t<div class=\"swiper-wrapper elementor-slides\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-5726d38 swiper-slide\" role=\"group\" aria-roledescription=\"slide\"><div class=\"swiper-slide-bg\" role=\"img\" aria-label=\"home-f1-1\"><\/div><a class=\"swiper-slide-inner\" href=\"https:\/\/www.adegsotools.ca\/\/shop\/\"><div class=\"swiper-slide-contents\"><div class=\"elementor-slide-heading\">A Full Range of Industrial Tools for Maximum Efficiency<\/div><div class=\"elementor-slide-description\">From hand and power tools to gardening machinery, our 10000+ specifications meet the demands of any job site. Exceptional quality you can trust.<\/div><div  class=\"elementor-button elementor-slide-button elementor-size-xs\">Browse Catalog Now<\/div><\/div><\/a><\/div><div class=\"elementor-repeater-item-146657a swiper-slide\" role=\"group\" aria-roledescription=\"slide\"><div class=\"swiper-slide-bg\" role=\"img\" aria-label=\"home-f1-3\"><\/div><a class=\"swiper-slide-inner\" href=\"https:\/\/www.adegsotools.ca\/\/shop\/\"><div class=\"swiper-slide-contents\"><div class=\"elementor-slide-heading\">Built for the Toughest Jobs, Engineered for Productivity<\/div><div class=\"elementor-slide-description\">From heavy construction to professional repairs, our tools deliver exceptional performance to conquer any challenge. Durability that makes every task effortless.<\/div><div  class=\"elementor-button elementor-slide-button elementor-size-xs\">Explore Case Studies<\/div><\/div><\/a><\/div><div class=\"elementor-repeater-item-6ee9d2c swiper-slide\" role=\"group\" aria-roledescription=\"slide\"><div class=\"swiper-slide-bg\" role=\"img\" aria-label=\"home-f1-2\"><\/div><a class=\"swiper-slide-inner\" href=\"https:\/\/www.adegsotools.ca\/contact-us\/\"><div class=\"swiper-slide-contents\"><div class=\"elementor-slide-heading\">Our New Innovative Showroom: Discover the Art of Industry<\/div><div class=\"elementor-slide-description\">An immersive experience where craftsmanship meets modern design. With years of manufacturing expertise, we define every product by the highest rigorous standards.<\/div><div  class=\"elementor-button elementor-slide-button elementor-size-xs\">Contact Us<\/div><\/div><\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-prev\" role=\"button\" tabindex=\"0\" aria-label=\"Previous slide\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-left\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z\"><\/path><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-next\" role=\"button\" tabindex=\"0\" aria-label=\"Next slide\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-right\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z\"><\/path><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-35f17df e-con-full e-flex e-con e-parent\" data-id=\"35f17df\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-949c55b elementor-widget elementor-widget-spacer\" data-id=\"949c55b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-588dcbb e-flex e-con-boxed e-con e-parent\" data-id=\"588dcbb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30c60d4 elementor-widget elementor-widget-shortcode\" data-id=\"30c60d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\n<html lang=\"zh-CN\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover\">\n    <style>\n        #zyx-6-isolated-carousel {\n            all: initial;\n            display: block;\n            box-sizing: border-box;\n            width: 100%;\n        }\n    <\/style>\n<\/head>\n\n<body>\n<div>\n    <div id=\"zyx-6-isolated-carousel\"><\/div>\n<\/div>\n\n<script>\n    (() => {\n        const container = document.getElementById('zyx-6-isolated-carousel');\n        const shadow = container.attachShadow({ mode: 'open' });\n\n        const zyx6Products = [\n            {\n                name: \"Li-ion Tools\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-1.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/li-ion-tools\/\",\n            },\n            {\n                name: \"Hand Tools\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-2.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/hand-tools\/\",\n            },\n            {\n                name: \"Power Tools\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-3.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/power-tools\/\",\n            },\n            {\n                name: \"Air Tools\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-4.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/air-tools\/\",\n            },\n            {\n                name: \"Acc. & Consumables\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-5.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/spares-supplies\/\",\n            },\n            {\n                name: \"Gas Tools\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-6.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/gas-tools\/\",\n            },\n            {\n                name: \"Equipment\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-7.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/equipment\/\",\n            },\n            {\n                name: \"Safety & PPE\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-8.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/safety-ppe\/\",\n            },\n            {\n                name: \"Tool Sets\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-9.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/tool-sets\/\",\n            },\n            {\n                name: \"Hardware\",\n                image: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f2-10.webp\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/hardware\/\",\n            }\n        ];\n\n        const style = document.createElement('style');\n        style.textContent = `\n            .zyx-6-container * { box-sizing: border-box; margin: 0; padding: 0; }\n            .zyx-6-container { margin: 0; padding: 0; }\n\n            .zyx-6-carousel-container { position: relative; overflow: hidden; }\n            .zyx-6-carousel {\n                display: flex;\n                gap: 20px;\n                padding: 20px 5px;\n                will-change: transform;\n                transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.4, 1.1);\n                cursor: grab;\n                user-select: none;\n            }\n            .zyx-6-carousel.zyx-6-dragging {\n                cursor: grabbing;\n            }\n\n            .zyx-6-card {\n                flex: 0 0 auto; background: white; border-radius: 1px;\n                overflow: hidden; box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\n                transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative;\n            }\n\n            .zyx-6-card-image {\n                background-color: #f0f0f0; display: flex; align-items: center;\n                justify-content: center; overflow: hidden; cursor: pointer;\n            }\n            .zyx-6-card-image img {\n                width: 100%; height: 100%; object-fit: cover;\n                transition: transform 0.3s ease;\n                pointer-events: none;\n            }\n            .zyx-6-card:hover .zyx-6-card-image img { transform: scale(1.05); }\n\n            .zyx-6-card-content { background-color: #eeeeee; padding: 15px 20px 10px 20px; transition: background-color 0.3s ease; }\n\n            .zyx-6-card-title {\n                font-family: 'Bebas Neue', sans-serif;\n                font-weight: 400;\n                font-size: 18px;\n                margin-bottom: 12px;\n                line-height: 1.3;\n                color: #000;\n                cursor: pointer;\n                transition: color 0.3s ease;\n            }\n\n            .zyx-6-card:hover .zyx-6-card-content { background-color: #005282; }\n            .zyx-6-card:hover, .zyx-6-card:hover .zyx-6-card-title { color: #ffffff; }\n\n            .zyx-6-nav-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); cursor: pointer; z-index: 10; border: none; transition: all 0.2s ease; opacity: 0.9; }\n            .zyx-6-nav-btn:hover { background: #f5f5f5; opacity: 1; }\n            .zyx-6-nav-btn.zyx-6-prev { left: 10px; }\n            .zyx-6-nav-btn.zyx-6-next { right: 10px; }\n            .zyx-6-nav-btn.zyx-6-hidden { opacity: 0; pointer-events: none; }\n            .zyx-6-nav-btn svg { width: 20px; height: 20px; }\n            .zyx-6-indicator { width: 8px; height: 8px; border-radius: 50%; background: #ddd; cursor: pointer; transition: all 0.3s ease; }\n            .zyx-6-indicator.zyx-6-active { background: #333; }\n\n            @media (min-width: 1025px) { .zyx-6-card { width: 230px; } .zyx-6-card-image { height: 160px; }}\n            @media (max-width: 1024px) { .zyx-6-card { width: 232px; } .zyx-6-card-image { height: 160px; }}\n            @media (max-width: 768px) { .zyx-6-card { width: 225px; } .zyx-6-card-image { height: 160px; }}\n            @media (max-width: 480px) { .zyx-6-card { width: 250px; } .zyx-6-card-image { height: 160px; } .zyx-6-nav-btn { display: none; } }\n        `;\n\n        const componentHTML = document.createElement('div');\n        componentHTML.className = 'zyx-6-container';\n        componentHTML.innerHTML = `\n            <div class=\"zyx-6-carousel-container\">\n                <button class=\"zyx-6-nav-btn zyx-6-prev zyx-6-hidden\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n                <\/button>\n                <div class=\"zyx-6-carousel\" id=\"zyx-6-carousel\"><\/div>\n                <button class=\"zyx-6-nav-btn zyx-6-next\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M9 18L15 12L9 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n                <\/button>\n            <\/div>\n        `;\n\n        shadow.appendChild(style);\n        shadow.appendChild(componentHTML);\n\n        const zyx6Carousel = shadow.getElementById('zyx-6-carousel');\n        const zyx6PrevBtn = shadow.querySelector('.zyx-6-nav-btn.zyx-6-prev');\n        const zyx6NextBtn = shadow.querySelector('.zyx-6-nav-btn.zyx-6-next');\n\n        let currentIndex = 0;\n        let startX = 0;\n        let startY = 0;\n        let isDragging = false;\n        let hasMoved = false;\n        let isHorizontalScroll = false;\n        let baseTranslate = 0;\n        let currentTranslate = 0;\n        let dragActive = false;\n        let currentTouchId = null;\n\n        const MOVE_THRESHOLD = 8;\n        const SWIPE_DISTANCE = 45;\n\n        \/\/ \u52a8\u6001\u751f\u6210\u5361\u7247\n        zyx6Products.forEach((product, idx) => {\n            const zyx6Card = document.createElement('div');\n            zyx6Card.className = 'zyx-6-card';\n            zyx6Card.setAttribute('data-idx', idx);\n            zyx6Card.innerHTML = `\n                <div class=\"zyx-6-card-image\" data-link=\"${product.link}\">\n                    <img decoding=\"async\" src=\"${product.image}\" alt=\"${product.name}\" loading=\"lazy\" draggable=\"false\">\n                <\/div>\n                <div class=\"zyx-6-card-content\">\n                    <h3 class=\"zyx-6-card-title\" data-link=\"${product.link}\">${product.name}<\/h3>\n                <\/div>\n            `;\n            zyx6Carousel.appendChild(zyx6Card);\n        });\n\n        function updateIndicators() {\n            const indicators = shadow.querySelectorAll('.zyx-6-indicator');\n            indicators.forEach((ind, idx) => {\n                if (idx === currentIndex) {\n                    ind.classList.add('zyx-6-active');\n                } else {\n                    ind.classList.remove('zyx-6-active');\n                }\n            });\n        }\n\n        function getCardWidth() {\n            const firstCard = shadow.querySelector('.zyx-6-card');\n            if (!firstCard) return 230;\n            const gap = 20;\n            return firstCard.offsetWidth + gap;\n        }\n\n        function getMaxTranslate() {\n            const cards = shadow.querySelectorAll('.zyx-6-card');\n            if (cards.length === 0) return 0;\n            const gap = 20;\n            const leftPadding = 5;\n            let cardsWidth = 0;\n            cards.forEach(card => {\n                cardsWidth += card.offsetWidth;\n            });\n            const totalGaps = (cards.length - 1) * gap;\n            const trackFullWidth = cardsWidth + totalGaps + leftPadding * 2;\n            const containerWidth = zyx6Carousel.parentElement.parentElement?.getBoundingClientRect().width || window.innerWidth;\n            let maxLeft = -(trackFullWidth - containerWidth);\n            if (trackFullWidth <= containerWidth) maxLeft = 0;\n            return Math.min(0, maxLeft);\n        }\n\n        function updateCarousel(withTransition = true) {\n            const step = getCardWidth();\n            let targetTranslate = -currentIndex * step;\n            const maxTranslate = getMaxTranslate();\n            targetTranslate = Math.max(maxTranslate, Math.min(0, targetTranslate));\n            baseTranslate = targetTranslate;\n            if (withTransition) {\n                zyx6Carousel.style.transition = 'transform 0.45s cubic-bezier(0.2, 0.9, 0.4, 1.1)';\n            } else {\n                zyx6Carousel.style.transition = 'none';\n            }\n            zyx6Carousel.style.transform = `translateX(${targetTranslate}px)`;\n            updateNavButtons();\n        }\n\n        function updateNavButtons() {\n            const maxTranslate = getMaxTranslate();\n            const step = getCardWidth();\n            const maxIndex = zyx6Products.length - 1;\n            zyx6PrevBtn.classList.toggle('zyx-6-hidden', currentIndex === 0);\n            zyx6NextBtn.classList.toggle('zyx-6-hidden', currentIndex === maxIndex);\n        }\n\n        function goPrev() {\n            if (currentIndex > 0) {\n                currentIndex--;\n                updateCarousel(true);\n                updateIndicators();\n            }\n        }\n\n        function goNext() {\n            if (currentIndex < zyx6Products.length - 1) {\n                currentIndex++;\n                updateCarousel(true);\n                updateIndicators();\n            }\n        }\n\n        function onDragStart(e) {\n            let target = e.target;\n            let isNavBtn = false;\n            while (target && target !== zyx6Carousel.parentElement) {\n                if (target.classList && (target.classList.contains('zyx-6-prev') || target.classList.contains('zyx-6-next'))) {\n                    isNavBtn = true;\n                    break;\n                }\n                target = target.parentNode;\n            }\n            if (isNavBtn) return;\n\n            let clientX, clientY;\n            if (e.type === 'mousedown') {\n                e.preventDefault();\n                clientX = e.clientX;\n                clientY = e.clientY;\n                currentTouchId = null;\n            } else {\n                if (e.touches.length > 1) return;\n                const touch = e.touches[0];\n                clientX = touch.clientX;\n                clientY = touch.clientY;\n                currentTouchId = touch.identifier;\n            }\n\n            startX = clientX;\n            startY = clientY;\n            isDragging = false;\n            hasMoved = false;\n            isHorizontalScroll = false;\n            dragActive = true;\n            zyx6Carousel.style.transition = 'none';\n            zyx6Carousel.classList.remove('zyx-6-dragging');\n        }\n\n        function onDragMove(e) {\n            if (!dragActive || startX === undefined) return;\n\n            let clientX, clientY;\n            const isTouchEvent = e.type === 'touchmove';\n            if (isTouchEvent) {\n                let matchedTouch = null;\n                if (currentTouchId !== null) {\n                    for (let i = 0; i < e.touches.length; i++) {\n                        if (e.touches[i].identifier === currentTouchId) {\n                            matchedTouch = e.touches[i];\n                            break;\n                        }\n                    }\n                }\n                if (!matchedTouch && e.touches.length > 0) matchedTouch = e.touches[0];\n                if (!matchedTouch) return;\n                clientX = matchedTouch.clientX;\n                clientY = matchedTouch.clientY;\n            } else {\n                clientX = e.clientX;\n                clientY = e.clientY;\n            }\n\n            const diffX = clientX - startX;\n            const diffY = clientY - startY;\n\n            if (!isHorizontalScroll && !isDragging) {\n                const absX = Math.abs(diffX);\n                const absY = Math.abs(diffY);\n                if (absX > MOVE_THRESHOLD || absY > MOVE_THRESHOLD) {\n                    if (absX > absY * 0.7 && absX > MOVE_THRESHOLD) {\n                        isHorizontalScroll = true;\n                        isDragging = true;\n                        hasMoved = true;\n                        zyx6Carousel.classList.add('zyx-6-dragging');\n                        if (e.cancelable) e.preventDefault();\n                    } else {\n                        dragActive = false;\n                        startX = 0;\n                        isDragging = false;\n                        isHorizontalScroll = false;\n                        zyx6Carousel.classList.remove('zyx-6-dragging');\n                        return;\n                    }\n                }\n            }\n\n            if (isHorizontalScroll && isDragging) {\n                if (e.cancelable) e.preventDefault();\n                let newTranslate = baseTranslate + diffX;\n                const maxTranslate = getMaxTranslate();\n                newTranslate = Math.max(maxTranslate, Math.min(0, newTranslate));\n                zyx6Carousel.style.transform = `translateX(${newTranslate}px)`;\n            }\n        }\n\n        function onDragEnd(e) {\n            if (!dragActive) {\n                dragActive = false;\n                startX = 0;\n                isDragging = false;\n                isHorizontalScroll = false;\n                zyx6Carousel.classList.remove('zyx-6-dragging');\n                return;\n            }\n\n            let endX = startX;\n            if (e.type === 'touchend' || e.type === 'touchcancel') {\n                if (e.changedTouches && e.changedTouches.length > 0) {\n                    endX = e.changedTouches[0].clientX;\n                }\n                currentTouchId = null;\n            } else {\n                endX = e.clientX;\n            }\n\n            const diffX = endX - startX;\n\n            if (isHorizontalScroll && isDragging) {\n                const step = getCardWidth();\n                let newTranslate = baseTranslate + diffX;\n                const maxTranslate = getMaxTranslate();\n                newTranslate = Math.max(maxTranslate, Math.min(0, newTranslate));\n                let newIndex = Math.round(-newTranslate \/ step);\n                newIndex = Math.max(0, Math.min(zyx6Products.length - 1, newIndex));\n                if (Math.abs(diffX) > SWIPE_DISTANCE) {\n                    if (diffX < 0 && currentIndex < zyx6Products.length - 1) newIndex = currentIndex + 1;\n                    else if (diffX > 0 && currentIndex > 0) newIndex = currentIndex - 1;\n                }\n                currentIndex = newIndex;\n                updateCarousel(true);\n                updateIndicators();\n                setTimeout(() => zyx6Carousel.classList.remove('zyx-6-dragging'), 80);\n            } else {\n                zyx6Carousel.classList.remove('zyx-6-dragging');\n                updateCarousel(true);\n            }\n\n            isDragging = false;\n            dragActive = false;\n            isHorizontalScroll = false;\n            startX = 0;\n        }\n\n        zyx6Carousel.addEventListener('click', (e) => {\n            if (hasMoved) {\n                e.preventDefault();\n                e.stopImmediatePropagation();\n                return;\n            }\n            const clickable = e.target.closest('.zyx-6-card-image, .zyx-6-card-title');\n            if (clickable) {\n                const link = clickable.getAttribute('data-link');\n                if (link) window.open(link, '_blank');\n            }\n        }, true);\n\n        zyx6Carousel.addEventListener('touchstart', onDragStart, { passive: false });\n        window.addEventListener('touchmove', onDragMove, { passive: false });\n        window.addEventListener('touchend', onDragEnd);\n        window.addEventListener('touchcancel', onDragEnd);\n\n        zyx6Carousel.addEventListener('mousedown', onDragStart);\n        window.addEventListener('mousemove', (e) => {\n            if (dragActive && startX !== undefined && startX !== 0) {\n                onDragMove(e);\n            }\n        });\n        window.addEventListener('mouseup', onDragEnd);\n\n        zyx6PrevBtn.onclick = (e) => {\n            e.preventDefault();\n            e.stopPropagation();\n            goPrev();\n        };\n        zyx6NextBtn.onclick = (e) => {\n            e.preventDefault();\n            e.stopPropagation();\n            goNext();\n        };\n\n        zyx6Carousel.addEventListener('touchmove', (e) => {\n            if (isHorizontalScroll && isDragging && e.cancelable) {\n                e.preventDefault();\n            }\n        }, { passive: false });\n\n        let resizeTimer;\n        window.addEventListener('resize', () => {\n            if (resizeTimer) clearTimeout(resizeTimer);\n            resizeTimer = setTimeout(() => {\n                updateCarousel(true);\n            }, 100);\n        });\n\n        const images = shadow.querySelectorAll('.zyx-6-card-image img');\n        let loadedCount = 0;\n        const totalImages = images.length;\n        const onImageLoad = () => {\n            loadedCount++;\n            if (loadedCount === totalImages) updateCarousel(true);\n        };\n        images.forEach(img => {\n            if (img.complete) onImageLoad();\n            else {\n                img.addEventListener('load', onImageLoad);\n                img.addEventListener('error', onImageLoad);\n            }\n        });\n\n        updateCarousel(false);\n        setTimeout(() => updateCarousel(true), 30);\n    })();\n<\/script>\n<\/body>\n\n<\/html><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c1fa36 e-con-full elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"6c1fa36\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a55f511 elementor-widget elementor-widget-spacer\" data-id=\"a55f511\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7929123 e-con-full e-flex e-con e-parent\" data-id=\"7929123\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ccab62b elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-shortcode\" data-id=\"ccab62b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Fixed Text Overlay Carousel - zyx8<\/title>\n    <style>\n        #zyx8-carousel-component {\n            all: initial;\n            display: block;\n            box-sizing: border-box;\n        }\n    <\/style>\n<\/head>\n<body>\n<div id=\"zyx8-carousel-component\"><\/div>\n\n<script>\n    (() => {\n        const container = document.getElementById('zyx8-carousel-component');\n        const shadow = container.attachShadow({mode: 'open'});\n\n        const zyx8CarouselData = [\n            {\n                img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-1.webp\",\n                title: \"LANDSCAPING SOLUTIONS\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/li-ion-tools\/\"\n            },\n            {\n                img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-4.webp\",\n                title: \"SAFETY SERIES\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/safety-ppe\/\"\n            },\n            {\n                img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-2.webp\",\n                title: \"MAINTENANCE SOLUTIONS\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/li-ion-tools\/\"\n            },\n            {\n                img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-3.webp\",\n                title: \"DISMANTLING SOLUTIONS\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/power-tools\/\"\n            },\n            {\n                img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-5.webp\",\n                title: \"HAND TOOL SERIES\",\n                link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/hand-tools\/\"\n            }\n        ];\n\n        const zyx8OverlayData = {\n            category: \"No job is too tough.\",\n            title: \"ADEGSO <br> MAKES EVERYTHING EASY\",\n            description: \"A Wide Range Of Products Covering Hand Tools, Pneumatic Tools, Hydraulic Tools, Power Generation, Agricultural Supplies, Safety Protection Equipment, And More \u2014 Providing You With A One-Stop Solution.\",\n            buttonText: \"EXPLORE PRODUCT SERIES\",\n            buttonLink: \"https:\/\/www.adegsotools.com\/shop\/\"\n        };\n\n        const style = document.createElement('style');\n        style.textContent = `\n            .zyx8-carousel-component * {\n                margin: 0;\n                padding: 0;\n                box-sizing: border-box;\n            }\n            .zyx8-carousel-component {\n                font-family: 'Bebas Neue', sans-serif;\n                background: #f5f7fb;\n                min-height: 520px;\n                display: flex;\n                align-items: center;\n                overflow-x: hidden;\n                user-select: none;\n            }\n            .zyx8-carousel-wrapper {\n                position: relative;\n                width: 100%;\n                height: 520px;\n                overflow: hidden;\n            }\n            .zyx8-static-overlay-card {\n                position: absolute;\n                top: 0;\n                left: calc(25vw + 20px);\n                width: 25vw;\n                height: 100%;\n                background-color: #eeeeee;\n                z-index: 10;\n                display: flex;\n                flex-direction: column;\n                justify-content: center;\n                padding-right: 40px;\n                padding-left: 20px;\n                border-radius: 3px;\n            }\n            .zyx8-nav-buttons {\n                display: flex;\n                gap: 15px;\n                margin-bottom: 25px;\n            }\n            .zyx8-nav-btn {\n                width: 48px;\n                height: 48px;\n                border-radius: 40px;\n                border: 1px solid rgba(0,0,0,0.08);\n                background: rgba(255,255,255,0.96);\n                backdrop-filter: blur(2px);\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                cursor: pointer;\n                transition: all 0.2s ease;\n                box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n            }\n            .zyx8-nav-btn:active {\n                transform: scale(0.94);\n                background: #f0f0f0;\n            }\n            .zyx8-nav-btn svg {\n                width: 14px;\n                height: 14px;\n                fill: none;\n                stroke: #1e2a3e;\n                stroke-width: 2.2;\n                stroke-linecap: round;\n                stroke-linejoin: round;\n            }\n            .zyx8-category-small {\n                font-family: 'Bebas Neue', sans-serif;\n                font-size: 18px;\n                font-weight: 400;\n                letter-spacing: 0.05em;\n                text-transform: uppercase;\n                margin-bottom: 15px;\n                color: #000;\n            }\n            .zyx8-main-title {\n                font-family: 'Bebas Neue', sans-serif;\n                font-size: 40px;\n                font-weight: 600;\n                letter-spacing: 0.04em;\n                line-height: 1.1;\n                margin-bottom: 15px;\n                color: #000;\n            }\n            .zyx8-sub-desc {\n                font-family: 'Roboto Flex', sans-serif;\n                font-size: 16px;\n                line-height: 1.5;\n                color: #000;\n                margin-bottom: 25px;\n            }\n            .zyx8-shop-btn {\n                font-family: 'Bebas Neue', sans-serif;\n                background-color: #005282;\n                border: none;\n                padding: 14px 24px;\n                font-size: 18px;\n                letter-spacing: 0.05em;\n                font-weight: 400;\n                cursor: pointer;\n                transition: background 0.2s;\n                text-decoration: none;\n                color: #fff;\n                display: inline-block;\n                width: fit-content;\n                border-radius: 3px;\n            }\n            .zyx8-shop-btn:hover {\n                background-color: #d1c6b6;\n            }\n            .zyx8-slider-track {\n                display: flex;\n                gap: 20px;\n                height: 100%;\n                transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);\n                padding-left: 0;\n                cursor: grab;\n                user-select: none;\n            }\n            .zyx8-slider-track.zyx8-dragging {\n                cursor: grabbing;\n                transition: none;\n            }\n            .zyx8-card {\n                min-width: 25vw;\n                height: 100%;\n                position: relative;\n                background-color: #f4f4f4;\n                overflow: hidden;\n                border-radius: 3px;\n            }\n            .zyx8-card img {\n                width: 100%;\n                height: 100%;\n                object-fit: cover;\n                transition: transform 0.5s;\n            }\n            .zyx8-card:hover img {\n                transform: scale(1.05);\n            }\n            .zyx8-card-label {\n                position: absolute;\n                bottom: 20px;\n                left: 20px;\n                color: white;\n                font-family: 'Bebas Neue', sans-serif;\n                font-size: 26px;\n                font-weight: 700;\n                z-index: 5;\n                text-shadow: 0 2px 12px rgba(0,0,0,0.45);\n                letter-spacing: -0.2px;\n                backdrop-filter: blur(4px);\n                background: rgba(0,0,0,0.3);\n                padding: 6px 16px;\n                border-radius: 40px;\n            }\n            .zyx8-card::after {\n                content: '';\n                position: absolute;\n                bottom: 0;\n                left: 0;\n                width: 100%;\n                height: 40%;\n                background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);\n                pointer-events: none;\n            }\n            @media (min-width: 1025px) {\n                .zyx8-card, .zyx8-static-overlay-card {\n                    min-width: 25vw;\n                    width: 25vw;\n                }\n                .zyx8-static-overlay-card {\n                    left: calc(25vw + 20px);\n                }\n            }\n            @media (min-width: 769px) and (max-width: 1024px) {\n                .zyx8-card, .zyx8-static-overlay-card {\n                    min-width: 35vw;\n                    width: 35vw;\n                }\n                .zyx8-static-overlay-card {\n                    left: calc(35vw + 20px);\n                }\n                .zyx8-main-title { font-size: 28px; }\n                .zyx8-sub-desc { font-size: 15px; }\n            }\n            @media (max-width: 768px) {\n                .zyx8-card, .zyx8-static-overlay-card {\n                    min-width: 70vw;\n                    width: 70vw;\n                }\n                .zyx8-static-overlay-card {\n                    left: calc(70vw + 20px);\n                }\n                .zyx8-main-title { font-size: 24px; }\n                .zyx8-sub-desc { font-size: 14px; }\n                .zyx8-carousel-wrapper { padding-left: 10px; }\n            }\n        `;\n\n        const componentHTML = document.createElement('div');\n        componentHTML.className = 'zyx8-carousel-component';\n        componentHTML.innerHTML = `\n            <div class=\"zyx8-carousel-wrapper\">\n                <div class=\"zyx8-static-overlay-card\">\n                    <div class=\"zyx8-nav-buttons\">\n                        <button class=\"zyx8-nav-btn\" id=\"zyx8-prevBtn\">\n                            <svg viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"\/><\/svg>\n                        <\/button>\n                        <button class=\"zyx8-nav-btn\" id=\"zyx8-nextBtn\">\n                            <svg viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"\/><\/svg>\n                        <\/button>\n                    <\/div>\n                    <div class=\"zyx8-category-small\">${zyx8OverlayData.category}<\/div>\n                    <h2 class=\"zyx8-main-title\">${zyx8OverlayData.title}<\/h2>\n                    <p class=\"zyx8-sub-desc\">${zyx8OverlayData.description}<\/p>\n                    <a href=\"${zyx8OverlayData.buttonLink}\" class=\"zyx8-shop-btn\">${zyx8OverlayData.buttonText}<\/a>\n                <\/div>\n                <div class=\"zyx8-slider-track\" id=\"zyx8-track\"><\/div>\n            <\/div>\n        `;\n\n        shadow.appendChild(style);\n        shadow.appendChild(componentHTML);\n\n        const zyx8Track = shadow.getElementById('zyx8-track');\n        const zyx8PrevBtn = shadow.getElementById('zyx8-prevBtn');\n        const zyx8NextBtn = shadow.getElementById('zyx8-nextBtn');\n\n        let zyx8CurrentIndex = 0;\n        let zyx8IsDragging = false;\n        let zyx8StartPos = 0;\n        let zyx8CurrentTranslate = 0;\n        let zyx8PrevTranslate = 0;\n        let zyx8MaxIndex = 0;\n        let zyx8EffectiveMaxIndex = 0;\n        let zyx8HasMoved = false;\n\n        function zyx8GetDeviceType() {\n            const width = window.innerWidth;\n            if (width >= 1025) return 'desktop';\n            else if (width >= 769) return 'tablet';\n            else return 'mobile';\n        }\n\n        function zyx8CalculateEffectiveMaxIndex(maxIndex) {\n            const deviceType = zyx8GetDeviceType();\n            if (deviceType === 'desktop') return Math.max(0, maxIndex - 2);\n            else if (deviceType === 'tablet') return Math.max(0, maxIndex - 1);\n            else return Math.max(0, maxIndex - 2);\n        }\n\n        function zyx8CreateCardHTML(item) {\n            return `<a href=\"${item.link || '#'}\" target=\"_blank\" class=\"zyx8-card-link\" style=\"text-decoration: none;\"><div class=\"zyx8-card\"><img decoding=\"async\" src=\"${item.img}\" alt=\"${item.title}\" loading=\"lazy\"><div class=\"zyx8-card-label\">${item.title}<\/div><\/div><\/a>`;\n        }\n\n        function zyx8GenerateCards() {\n            let html = '';\n            zyx8CarouselData.forEach(item => {\n                html += zyx8CreateCardHTML(item);\n            });\n            zyx8Track.innerHTML = html;\n        }\n\n        function zyx8CalculateMaxIndex() {\n            const cards = shadow.querySelectorAll('.zyx8-card');\n            if (cards.length === 0) return 0;\n            const cardWidth = cards[0].getBoundingClientRect().width;\n            const gap = 20;\n            const trackParent = zyx8Track.parentElement;\n            const overlayCard = shadow.querySelector('.zyx8-static-overlay-card');\n            if (!trackParent || !overlayCard) return 0;\n            const overlayRight = overlayCard.getBoundingClientRect().right;\n            const containerLeft = trackParent.getBoundingClientRect().left;\n            const trackContentWidth = (cardWidth + gap) * zyx8CarouselData.length;\n            const visibleRight = overlayRight - containerLeft;\n            const maxTranslate = trackContentWidth - visibleRight + gap;\n            let maxIndex = Math.floor(maxTranslate \/ (cardWidth + gap));\n            return Math.max(0, Math.min(maxIndex, zyx8CarouselData.length - 1));\n        }\n\n        function zyx8UpdatePosition() {\n            const card = shadow.querySelector('.zyx8-card');\n            if (!card) return;\n            const slideWidth = card.getBoundingClientRect().width + 20;\n            const moveDistance = slideWidth * zyx8CurrentIndex;\n            zyx8Track.style.transform = `translateX(-${moveDistance}px)`;\n            zyx8PrevTranslate = -moveDistance;\n        }\n\n        function zyx8HandleStart(e) {\n            e.preventDefault();\n            zyx8IsDragging = true;\n            zyx8HasMoved = false;\n            zyx8StartPos = e.type.includes('touch') ? e.touches[0].pageX : e.pageX;\n            zyx8Track.classList.add('zyx8-dragging');\n        }\n\n        function zyx8HandleMove(e) {\n            if (!zyx8IsDragging) return;\n            const currentX = e.type.includes('touch') ? e.touches[0].pageX : e.pageX;\n            const delta = currentX - zyx8StartPos;\n            if (Math.abs(delta) > 5) zyx8HasMoved = true;\n            zyx8CurrentTranslate = delta;\n            const newTransform = zyx8PrevTranslate + zyx8CurrentTranslate;\n            zyx8Track.style.transform = `translateX(${newTransform}px)`;\n        }\n\n        function zyx8HandleEnd(e) {\n            if (!zyx8IsDragging) return;\n            zyx8IsDragging = false;\n            zyx8Track.classList.remove('zyx8-dragging');\n            const threshold = e.type.includes('touch') ? 50 : 100;\n            if (zyx8CurrentTranslate < -threshold && zyx8CurrentIndex < zyx8EffectiveMaxIndex) zyx8CurrentIndex++;\n            else if (zyx8CurrentTranslate > threshold && zyx8CurrentIndex > 0) zyx8CurrentIndex--;\n            if (zyx8HasMoved) {\n                zyx8Track.addEventListener('click', (e) => {\n                    e.stopPropagation();\n                    e.preventDefault();\n                }, {once: true});\n            }\n            zyx8CurrentTranslate = 0;\n            zyx8UpdatePosition();\n        }\n\n        zyx8Track.addEventListener('mousedown', zyx8HandleStart);\n        window.addEventListener('mousemove', zyx8HandleMove);\n        window.addEventListener('mouseup', zyx8HandleEnd);\n        zyx8Track.addEventListener('touchstart', zyx8HandleStart, {passive: false});\n        zyx8Track.addEventListener('touchmove', (e) => {\n            if (zyx8IsDragging) e.preventDefault();\n            zyx8HandleMove(e);\n        }, {passive: false});\n        zyx8Track.addEventListener('touchend', zyx8HandleEnd);\n        zyx8NextBtn.onclick = () => {\n            if (zyx8CurrentIndex < zyx8EffectiveMaxIndex) zyx8CurrentIndex++;\n            zyx8UpdatePosition();\n        };\n        zyx8PrevBtn.onclick = () => {\n            if (zyx8CurrentIndex > 0) zyx8CurrentIndex--;\n            zyx8UpdatePosition();\n        };\n        window.onresize = () => {\n            zyx8MaxIndex = zyx8CalculateMaxIndex();\n            zyx8EffectiveMaxIndex = zyx8CalculateEffectiveMaxIndex(zyx8MaxIndex);\n            if (zyx8CurrentIndex > zyx8EffectiveMaxIndex) zyx8CurrentIndex = zyx8EffectiveMaxIndex;\n            zyx8UpdatePosition();\n        };\n\n        function zyx8InitCarousel() {\n            zyx8GenerateCards();\n            setTimeout(() => {\n                zyx8MaxIndex = zyx8CalculateMaxIndex();\n                zyx8EffectiveMaxIndex = zyx8CalculateEffectiveMaxIndex(zyx8MaxIndex);\n            }, 100);\n        }\n\n        if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', zyx8InitCarousel);\n        else zyx8InitCarousel();\n    })();\n<\/script>\n<\/body>\n<\/html><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b388f3 elementor-hidden-desktop elementor-widget elementor-widget-shortcode\" data-id=\"7b388f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\"\n          content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover\">\n    <style>\n        #zyx10-ultra-carousel {\n            all: initial;\n            display: block;\n            background: #fff;\n            width: 100%;\n            overflow: hidden;\n        }\n    <\/style>\n<\/head>\n<body>\n<div id=\"zyx10-ultra-carousel\"><\/div>\n\n<script>\n    (() => {\n        const container = document.getElementById('zyx10-ultra-carousel');\n        const shadow = container.attachShadow({mode: 'open'});\n\n        const zyx10Config = {\n            title: \"ADEGSO MAKES EVERYTHING EASY\",\n            description: \"A Wide Range Of Products Covering Hand Tools, Pneumatic Tools, Hydraulic Tools, Power Generation, Agricultural Supplies, Safety Protection Equipment, And More \u2014 Providing You With A One-Stop Solution.\",\n            items: [\n                {\n                    img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-1.webp\",\n                    title: \"LANDSCAPING SOLUTIONS\",\n                    link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/li-ion-tools\/\"\n                },\n                {\n                    img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-2.webp\",\n                    title: \"MAINTENANCE SOLUTIONS\",\n                    link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/li-ion-tools\/\"\n                },\n                {\n                    img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-3.webp\",\n                    title: \"DISMANTLING SOLUTIONS\",\n                    link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/power-tools\/\"\n                },\n                {\n                    img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-4.webp\",\n                    title: \"SAFETY SERIES\",\n                    link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/safety-ppe\/\"\n                },\n                {\n                    img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f4-5.webp\",\n                    title: \"HAND TOOL SERIES\",\n                    link: \"https:\/\/www.adegsotools.com\/product-category\/tools\/hand-tools\/\"\n                }\n            ]\n        };\n\n        const style = document.createElement('style');\n        style.textContent = `\n            .zyx10-wrapper * {\n                margin: 0;\n                padding: 0;\n                box-sizing: border-box;\n                -webkit-tap-highlight-color: transparent;\n                user-select: none;\n            }\n            .zyx10-wrapper {\n                display: flex;\n                flex-direction: column;\n                width: 100%;\n                touch-action: pan-y pinch-zoom;\n                font-family: 'Bebas Neue', sans-serif;\n                position: relative;\n            }\n            .zyx10-text-part {\n                padding: 0px 0px 40px 20px;\n            }\n            .zyx10-nav-box {\n                display: flex;\n                gap: 12px;\n                margin-bottom: 20px;\n            }\n            .zyx10-btn {\n                width: 48px;\n                height: 48px;\n                border-radius: 40px;\n                border: 1px solid rgba(0,0,0,0.08);\n                background: rgba(255,255,255,0.96);\n                backdrop-filter: blur(2px);\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                cursor: pointer;\n                transition: all 0.2s ease;\n                box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n            }\n            .zyx10-btn:active {\n                transform: scale(0.94);\n                background: #f0f0f0;\n            }\n            .zyx10-btn svg {\n                fill: none;\n                stroke: #1e2a3e;\n                stroke-width: 2.2;\n                stroke-linecap: round;\n                stroke-linejoin: round;\n                width: 14px;\n                height: 14px;\n            }\n            .zyx10-title {\n                font-family: 'Bebas Neue', sans-serif;\n                font-size: 34px;\n                font-weight: 800;\n                letter-spacing: -0.3px;\n                color: #0a1927;\n                margin-bottom: 8px;\n                line-height: 1.2;\n            }\n            .zyx10-desc {\n                font-family: 'Roboto Flex', sans-serif;\n                font-size: 15px;\n                color: #5b6e6c;\n                line-height: 1.4;\n                font-weight: 450;\n            }\n            .zyx10-viewport {\n                width: 100%;\n                overflow: hidden;\n                position: relative;\n                cursor: grab;\n                touch-action: pan-y pinch-zoom;\n            }\n            .zyx10-viewport:active {\n                cursor: grabbing;\n            }\n            .zyx10-track {\n                display: flex;\n                gap: 20px;\n                will-change: transform;\n                transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.4, 1.1);\n            }\n            .zyx10-item {\n                flex: 0 0 50vw;\n                height: 300px;\n                position: relative;\n                border-radius: 3px;\n                overflow: hidden;\n                box-shadow: 0 12px 28px -8px rgba(0,0,0,0.12);\n                background: #fff;\n            }\n            @media (min-width: 768px) {\n                .zyx10-item {\n                    flex: 0 0 50vw;\n                    height: 300px;\n                }\n                .zyx10-track {\n                    gap: 24px;\n                    padding-left: 20px\n                }\n                .zyx10-title {\n                    font-size: 42px;\n                }\n            }\n            .zyx10-item img {\n                width: 100%;\n                height: 100%;\n                object-fit: cover;\n                display: block;\n                pointer-events: none;\n            }\n            .zyx10-click-layer {\n                position: absolute;\n                top: 0;\n                left: 0;\n                width: 100%;\n                height: 100%;\n                z-index: 10;\n                text-decoration: none;\n                cursor: pointer;\n            }\n            .zyx10-wrapper.zyx10-is-dragging .zyx10-click-layer {\n                pointer-events: none;\n            }\n            .zyx10-label {\n                position: absolute;\n                bottom: 20px;\n                left: 20px;\n                color: white;\n                font-family: 'Bebas Neue', sans-serif;\n                font-size: 26px;\n                font-weight: 700;\n                z-index: 5;\n                text-shadow: 0 2px 12px rgba(0,0,0,0.45);\n                letter-spacing: -0.2px;\n                backdrop-filter: blur(4px);\n                background: rgba(0,0,0,0.3);\n                padding: 6px 16px;\n                border-radius: 40px;\n            }\n            @media (max-width: 480px) {\n                .zyx10-item {\n                    flex: 0 0 75vw !important;\n                    height: 280px !important;\n                }\n                .zyx10-track {\n                    padding-left: 16px !important;\n                    padding-right: 0 !important;\n                    gap: 16px !important;\n                }\n                .zyx10-text-part {\n                    padding: 20px 16px 30px 16px !important;\n                }\n                .zyx10-title {\n                    font-size: 28px !important;\n                }\n                .zyx10-label {\n                    font-size: 20px !important;\n                    padding: 4px 12px !important;\n                    bottom: 15px !important;\n                    left: 15px !important;\n                }\n            }\n        `;\n\n        shadow.innerHTML = `\n            <div class=\"zyx10-wrapper\" id=\"zyx10-wrap\">\n                <div class=\"zyx10-text-part\">\n                    <div class=\"zyx10-nav-box\">\n                        <button class=\"zyx10-btn\" id=\"zyx10-prev\" aria-label=\"\u4e0a\u4e00\u5f20\">\n                            <svg viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"\/><\/svg>\n                        <\/button>\n                        <button class=\"zyx10-btn\" id=\"zyx10-next\" aria-label=\"\u4e0b\u4e00\u5f20\">\n                            <svg viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"\/><\/svg>\n                        <\/button>\n                    <\/div>\n                    <h2 class=\"zyx10-title\">${zyx10Config.title}<\/h2>\n                    <p class=\"zyx10-desc\">${zyx10Config.description}<\/p>\n                <\/div>\n                <div class=\"zyx10-viewport\" id=\"zyx10-viewport\">\n                    <div class=\"zyx10-track\" id=\"zyx10-track\">\n                        ${zyx10Config.items.map((d, idx) => `\n                            <div class=\"zyx10-item\" data-idx=\"${idx}\">\n                                <a href=\"${d.link}\" class=\"zyx10-click-layer\" data-link=\"${d.link}\"><\/a>\n                                <img decoding=\"async\" src=\"${d.img}\" alt=\"${d.title}\" loading=\"lazy\">\n                                <div class=\"zyx10-label\">${d.title}<\/div>\n                            <\/div>\n                        `).join('')}\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n        shadow.appendChild(style);\n\n        const zyx10Track = shadow.getElementById('zyx10-track');\n        const zyx10Viewport = shadow.getElementById('zyx10-viewport');\n        const zyx10Wrap = shadow.getElementById('zyx10-wrap');\n        const zyx10PrevBtn = shadow.getElementById('zyx10-prev');\n        const zyx10NextBtn = shadow.getElementById('zyx10-next');\n\n        let zyx10CurIdx = 0;\n        let zyx10StartX = 0;\n        let zyx10StartY = 0;\n        let zyx10IsMoving = false;\n        let zyx10BaseTranslate = 0;\n        let zyx10DragJustOccurred = false;\n        let zyx10CurrentTouchId = null;\n        let zyx10IsHorizontalScroll = false;\n        let zyx10DragActive = false;\n        \n        const ZYX10_MOVE_THRESHOLD = 8;\n        const ZYX10_SWIPE_DISTANCE = 45;\n        \n        const zyx10GetItemStep = () => {\n            const firstItem = shadow.querySelector('.zyx10-item');\n            if (!firstItem) return 300;\n            const gap = parseFloat(getComputedStyle(zyx10Track).gap) || 20;\n            return firstItem.offsetWidth + gap;\n        };\n        \n        const zyx10GetMaxTranslate = () => {\n            if (!zyx10Track) return 0;\n            const items = shadow.querySelectorAll('.zyx10-item');\n            if (items.length === 0) return 0;\n            const gap = parseFloat(getComputedStyle(zyx10Track).gap) || 20;\n            const leftPadding = parseFloat(getComputedStyle(zyx10Track).paddingLeft) || 20;\n            const rightPadding = parseFloat(getComputedStyle(zyx10Track).paddingRight) || 20;\n            let itemsWidth = 0;\n            items.forEach(item => {\n                itemsWidth += item.offsetWidth;\n            });\n            const totalGaps = (items.length - 1) * gap;\n            const trackFullWidth = itemsWidth + totalGaps + leftPadding + rightPadding;\n            const viewWidth = zyx10Viewport.getBoundingClientRect().width;\n            let maxLeft = -(trackFullWidth - viewWidth);\n            if (trackFullWidth <= viewWidth) maxLeft = 0;\n            return Math.min(0, maxLeft);\n        };\n        \n        const zyx10UpdateCarousel = (withTransition = true) => {\n            if (!zyx10Track) return;\n            const step = zyx10GetItemStep();\n            let targetTranslate = -zyx10CurIdx * step;\n            const maxTranslate = zyx10GetMaxTranslate();\n            targetTranslate = Math.max(maxTranslate, Math.min(0, targetTranslate));\n            zyx10BaseTranslate = targetTranslate;\n            if (withTransition) {\n                zyx10Track.style.transition = 'transform 0.45s cubic-bezier(0.2, 0.9, 0.4, 1.1)';\n            } else {\n                zyx10Track.style.transition = 'none';\n            }\n            zyx10Track.style.transform = `translateX(${targetTranslate}px)`;\n        };\n        \n        const zyx10MarkDragJustOccurred = () => {\n            if (zyx10DragJustOccurred) return;\n            zyx10DragJustOccurred = true;\n            setTimeout(() => {\n                zyx10DragJustOccurred = false;\n            }, 400);\n        };\n        \n        const zyx10HandleClickCapture = (e) => {\n            if (zyx10DragJustOccurred) {\n                let target = e.target;\n                let isClickLayer = false;\n                while (target && target !== zyx10Wrap) {\n                    if (target.classList && target.classList.contains('zyx10-click-layer')) {\n                        isClickLayer = true;\n                        break;\n                    }\n                    target = target.parentNode;\n                }\n                if (isClickLayer) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                }\n                zyx10DragJustOccurred = false;\n            }\n        };\n        \n        const zyx10OnDragStart = (e) => {\n            let target = e.target;\n            let isNavBtn = false;\n            while (target && target !== zyx10Wrap) {\n                if (target.id === 'zyx10-prev' || target.id === 'zyx10-next' || target.closest('.zyx10-btn')) {\n                    isNavBtn = true;\n                    break;\n                }\n                target = target.parentNode;\n            }\n            if (isNavBtn) return;\n            \n            let clientX, clientY;\n            if (e.type === 'mousedown') {\n                e.preventDefault();\n                clientX = e.clientX;\n                clientY = e.clientY;\n                zyx10CurrentTouchId = null;\n            } else {\n                if (e.touches.length > 1) return;\n                const touch = e.touches[0];\n                clientX = touch.clientX;\n                clientY = touch.clientY;\n                zyx10CurrentTouchId = touch.identifier;\n            }\n            \n            zyx10StartX = clientX;\n            zyx10StartY = clientY;\n            zyx10IsMoving = false;\n            zyx10IsHorizontalScroll = false;\n            zyx10DragActive = true;\n            zyx10Track.style.transition = 'none';\n            zyx10Wrap.classList.remove('zyx10-is-dragging');\n        };\n        \n        const zyx10OnDragMove = (e) => {\n            if (!zyx10DragActive || zyx10StartX === undefined) return;\n            \n            let clientX, clientY;\n            const isTouchEvent = e.type === 'touchmove';\n            if (isTouchEvent) {\n                let matchedTouch = null;\n                if (zyx10CurrentTouchId !== null) {\n                    for (let i = 0; i < e.touches.length; i++) {\n                        if (e.touches[i].identifier === zyx10CurrentTouchId) {\n                            matchedTouch = e.touches[i];\n                            break;\n                        }\n                    }\n                }\n                if (!matchedTouch && e.touches.length > 0) matchedTouch = e.touches[0];\n                if (!matchedTouch) return;\n                clientX = matchedTouch.clientX;\n                clientY = matchedTouch.clientY;\n            } else {\n                clientX = e.clientX;\n                clientY = e.clientY;\n            }\n            \n            const diffX = clientX - zyx10StartX;\n            const diffY = clientY - zyx10StartY;\n            \n            if (!zyx10IsHorizontalScroll && !zyx10IsMoving) {\n                const absX = Math.abs(diffX);\n                const absY = Math.abs(diffY);\n                if (absX > ZYX10_MOVE_THRESHOLD || absY > ZYX10_MOVE_THRESHOLD) {\n                    if (absX > absY * 0.7 && absX > ZYX10_MOVE_THRESHOLD) {\n                        zyx10IsHorizontalScroll = true;\n                        zyx10IsMoving = true;\n                        zyx10Wrap.classList.add('zyx10-is-dragging');\n                        if (e.cancelable) e.preventDefault();\n                    } else {\n                        zyx10DragActive = false;\n                        zyx10StartX = 0;\n                        zyx10IsMoving = false;\n                        zyx10IsHorizontalScroll = false;\n                        zyx10Wrap.classList.remove('zyx10-is-dragging');\n                        return;\n                    }\n                }\n            }\n            \n            if (zyx10IsHorizontalScroll && zyx10IsMoving) {\n                if (e.cancelable) e.preventDefault();\n                let currentTranslate = zyx10BaseTranslate + diffX;\n                const maxTranslate = zyx10GetMaxTranslate();\n                currentTranslate = Math.max(maxTranslate, Math.min(0, currentTranslate));\n                zyx10Track.style.transform = `translateX(${currentTranslate}px)`;\n            }\n        };\n        \n        const zyx10OnDragEnd = (e) => {\n            if (!zyx10DragActive) {\n                zyx10DragActive = false;\n                zyx10StartX = 0;\n                zyx10IsMoving = false;\n                zyx10IsHorizontalScroll = false;\n                zyx10Wrap.classList.remove('zyx10-is-dragging');\n                return;\n            }\n            \n            let endX = zyx10StartX;\n            if (e.type === 'touchend' || e.type === 'touchcancel') {\n                if (e.changedTouches && e.changedTouches.length > 0) {\n                    endX = e.changedTouches[0].clientX;\n                } else {\n                    endX = zyx10StartX;\n                }\n                zyx10CurrentTouchId = null;\n            } else {\n                endX = e.clientX;\n            }\n            \n            const diffX = endX - zyx10StartX;\n            \n            if (zyx10IsHorizontalScroll && zyx10IsMoving) {\n                zyx10MarkDragJustOccurred();\n                let currentTranslate = zyx10BaseTranslate + diffX;\n                const maxTranslate = zyx10GetMaxTranslate();\n                currentTranslate = Math.max(maxTranslate, Math.min(0, currentTranslate));\n                const step = zyx10GetItemStep();\n                let newIdx = Math.round(-currentTranslate \/ step);\n                newIdx = Math.max(0, Math.min(zyx10Config.items.length - 1, newIdx));\n                if (Math.abs(diffX) > ZYX10_SWIPE_DISTANCE) {\n                    if (diffX < 0 && zyx10CurIdx < zyx10Config.items.length - 1) newIdx = zyx10CurIdx + 1;\n                    else if (diffX > 0 && zyx10CurIdx > 0) newIdx = zyx10CurIdx - 1;\n                }\n                zyx10CurIdx = newIdx;\n                zyx10UpdateCarousel(true);\n                setTimeout(() => zyx10Wrap.classList.remove('zyx10-is-dragging'), 80);\n            } else {\n                zyx10Wrap.classList.remove('zyx10-is-dragging');\n                zyx10UpdateCarousel(true);\n            }\n            \n            zyx10IsMoving = false;\n            zyx10DragActive = false;\n            zyx10IsHorizontalScroll = false;\n            zyx10StartX = 0;\n            zyx10StartY = 0;\n        };\n        \n        const zyx10ResetDragGlobally = () => {\n            if (!zyx10DragActive) return;\n            zyx10IsMoving = false;\n            zyx10DragActive = false;\n            zyx10IsHorizontalScroll = false;\n            zyx10StartX = 0;\n            zyx10StartY = 0;\n            zyx10Wrap.classList.remove('zyx10-is-dragging');\n        };\n        \n        const zyx10GoPrev = () => {\n            if (zyx10CurIdx > 0) {\n                zyx10CurIdx--;\n                zyx10UpdateCarousel(true);\n                zyx10DragJustOccurred = false;\n                zyx10Wrap.classList.remove('zyx10-is-dragging');\n                zyx10ResetDragGlobally();\n            }\n        };\n        \n        const zyx10GoNext = () => {\n            if (zyx10CurIdx < zyx10Config.items.length - 1) {\n                zyx10CurIdx++;\n                zyx10UpdateCarousel(true);\n                zyx10DragJustOccurred = false;\n                zyx10Wrap.classList.remove('zyx10-is-dragging');\n                zyx10ResetDragGlobally();\n            }\n        };\n        \n        let zyx10ResizeTimer;\n        const zyx10RefreshOnResize = () => {\n            if (zyx10ResizeTimer) clearTimeout(zyx10ResizeTimer);\n            zyx10ResizeTimer = setTimeout(() => {\n                zyx10UpdateCarousel(true);\n            }, 100);\n        };\n        window.addEventListener('resize', zyx10RefreshOnResize);\n        \n        const zyx10Imgs = shadow.querySelectorAll('.zyx10-item img');\n        let zyx10LoadedCount = 0;\n        const zyx10TotalImgs = zyx10Imgs.length;\n        const zyx10OnImgLoad = () => {\n            zyx10LoadedCount++;\n            if (zyx10LoadedCount === zyx10TotalImgs) zyx10UpdateCarousel(true);\n        };\n        zyx10Imgs.forEach(img => {\n            if (img.complete) zyx10OnImgLoad(); \n            else {\n                img.addEventListener('load', zyx10OnImgLoad);\n                img.addEventListener('error', zyx10OnImgLoad);\n            }\n        });\n        \n        zyx10Viewport.addEventListener('touchstart', zyx10OnDragStart, {passive: false});\n        window.addEventListener('touchmove', zyx10OnDragMove, {passive: false});\n        window.addEventListener('touchend', zyx10OnDragEnd);\n        window.addEventListener('touchcancel', zyx10OnDragEnd);\n        \n        zyx10Viewport.addEventListener('mousedown', zyx10OnDragStart);\n        window.addEventListener('mousemove', (e) => {\n            if (zyx10DragActive && zyx10StartX !== undefined && zyx10StartX !== 0) {\n                zyx10OnDragMove(e);\n            }\n        });\n        window.addEventListener('mouseup', (e) => {\n            if (zyx10DragActive && zyx10StartX !== undefined) {\n                zyx10OnDragEnd(e);\n            }\n        });\n        \n        zyx10PrevBtn.addEventListener('click', (e) => {\n            e.preventDefault();\n            e.stopPropagation();\n            zyx10GoPrev();\n        });\n        zyx10NextBtn.addEventListener('click', (e) => {\n            e.preventDefault();\n            e.stopPropagation();\n            zyx10GoNext();\n        });\n        \n        zyx10Wrap.addEventListener('click', zyx10HandleClickCapture, true);\n        \n        zyx10Viewport.addEventListener('touchmove', (e) => {\n            if (zyx10IsHorizontalScroll && zyx10IsMoving && e.cancelable) {\n                e.preventDefault();\n            }\n        }, {passive: false});\n        \n        const zyx10Init = () => {\n            zyx10CurIdx = 0;\n            zyx10UpdateCarousel(false);\n            setTimeout(() => zyx10UpdateCarousel(true), 30);\n        };\n        zyx10Init();\n        \n        container.instance = {refresh: () => zyx10UpdateCarousel(true)};\n        \n        document.body.addEventListener('click', () => {\n            if (zyx10DragActive) {\n                zyx10ResetDragGlobally();\n            }\n        });\n    })();\n<\/script>\n<\/body>\n<\/html><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-257ece9 e-con-full e-flex e-con e-parent\" data-id=\"257ece9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bc62780 elementor-widget elementor-widget-spacer\" data-id=\"bc62780\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0cdaa7f e-flex e-con-boxed e-con e-parent\" data-id=\"0cdaa7f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e739d37 e-con-full e-flex e-con e-child\" data-id=\"e739d37\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-65c2541 elementor-widget elementor-widget-image\" data-id=\"65c2541\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"600\" height=\"440\" src=\"https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-4.webp\" class=\"attachment-full size-full wp-image-80\" alt=\"\" srcset=\"https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-4.webp 600w, https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-4-300x220.webp 300w, https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-4-16x12.webp 16w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0144155 e-con-full e-flex e-con e-child\" data-id=\"0144155\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7752f16 elementor-widget elementor-widget-heading\" data-id=\"7752f16\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PNEUMATIC TOOL SERIES<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1aa070d elementor-widget elementor-widget-heading\" data-id=\"1aa070d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Driven by compressed air with a high power-\n<br>\nto-weight ratio, suitable for continuous \n<br>\noperation and hazardous environments.<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-788bf3e elementor-align-center elementor-widget elementor-widget-button\" data-id=\"788bf3e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">LEARN MORE<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-67c811c e-con-full e-flex e-con e-child\" data-id=\"67c811c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f6b60e8 elementor-widget elementor-widget-image\" data-id=\"f6b60e8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"600\" height=\"440\" src=\"https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-3.webp\" class=\"attachment-full size-full wp-image-79\" alt=\"\" srcset=\"https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-3.webp 600w, https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-3-300x220.webp 300w, https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-3-16x12.webp 16w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4e7abd5 e-con-full e-flex e-con e-child\" data-id=\"4e7abd5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-726a2db elementor-widget elementor-widget-heading\" data-id=\"726a2db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PNEUMATIC TOOL SERIES<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ec7f18 elementor-widget elementor-widget-heading\" data-id=\"7ec7f18\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Driven by compressed air with a high power-\n<br>\nto-weight ratio, suitable for continuous \n<br>\noperation and hazardous environments.<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54a7616 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"54a7616\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">LEARN MORE<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e2b6d39 e-con-full e-flex e-con e-child\" data-id=\"e2b6d39\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b04a1b5 elementor-widget elementor-widget-image\" data-id=\"b04a1b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"600\" height=\"440\" src=\"https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-2.webp\" class=\"attachment-full size-full wp-image-81\" alt=\"\" srcset=\"https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-2.webp 600w, https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-2-300x220.webp 300w, https:\/\/www.adegsotools.ca\/wp-content\/uploads\/2026\/05\/home-f3-2-16x12.webp 16w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3137fa3 e-con-full e-flex e-con e-child\" data-id=\"3137fa3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-954f579 elementor-widget elementor-widget-heading\" data-id=\"954f579\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PNEUMATIC TOOL SERIES<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4989c3e elementor-widget elementor-widget-heading\" data-id=\"4989c3e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Driven by compressed air with a high power-\n<br>\nto-weight ratio, suitable for continuous \n<br>\noperation and hazardous environments.<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d881ed elementor-align-center elementor-widget elementor-widget-button\" data-id=\"1d881ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">LEARN MORE<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b6211cc e-con-full e-flex e-con e-parent\" data-id=\"b6211cc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1fc3470 elementor-widget elementor-widget-spacer\" data-id=\"1fc3470\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f2b5960 e-con-full e-flex e-con e-parent\" data-id=\"f2b5960\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-6e62e4b e-con-full e-flex e-con e-child\" data-id=\"6e62e4b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-98f5daf elementor-widget elementor-widget-heading\" data-id=\"98f5daf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">MORE THAN JUST A SUPPLIER \u2014 WE WANT TO BE YOUR PARTNER ON THE JOURNEY.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-61e9dbc e-con-full e-flex e-con e-child\" data-id=\"61e9dbc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-23cac44 elementor-widget elementor-widget-heading\" data-id=\"23cac44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Choosing Us Isn't About Picking A Brand. \n<br>\nIt's About Having Someone To Analyze The Market With You, Solve Problems With You, And Grow Alongside You.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cd52749 e-con-full e-flex e-con e-parent\" data-id=\"cd52749\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8f6021 elementor-widget elementor-widget-spacer\" data-id=\"e8f6021\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5e31713 e-con-full e-flex e-con e-parent\" data-id=\"5e31713\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-c83f43b e-flex e-con-boxed e-con e-child\" data-id=\"c83f43b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-d8e4100 e-con-full e-flex e-con e-child\" data-id=\"d8e4100\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f9d2b7 elementor-widget elementor-widget-shortcode\" data-id=\"1f9d2b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\"\/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\/>\n    <style>\n        #zyx1-slider-component {\n            all: initial;\n            display: block;\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n            box-sizing: border-box;\n        }\n    <\/style>\n<\/head>\n<body>\n\n<div id=\"zyx1-slider-component\"><\/div>\n\n<script>\n    (() => {\n        const container = document.getElementById('zyx1-slider-component');\n        const shadow = container.attachShadow({mode: 'open'});\n\n        const zyx1SliderData = [\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-1.webp\" },\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-2.webp\" },\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-3.webp\" },\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-4.webp\" },\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-5.webp\" },\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-6.webp\" },\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-7.webp\" },\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-8.webp\" },\n            { img: \"https:\/\/www.adegsotools.com\/wp-content\/uploads\/2026\/04\/home-f6-9.webp\" },\n        ];\n\n        const style = document.createElement('style');\n        style.textContent = `\n            .zyx1-slider-component * {\n                margin: 0;\n                padding: 0;\n                box-sizing: border-box;\n            }\n\n            .zyx1-slider-component {\n                background: transparent;\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: center;\n                user-select: none;\n            }\n\n            .zyx1-slider-container {\n                width: 100%;\n                overflow: hidden;\n                position: relative;\n                touch-action: pan-y;\n            }\n\n            .zyx1-slider-track {\n                display: flex;\n                transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n                cursor: grab;\n            }\n\n            .zyx1-slider-track.zyx1-grabbing {\n                cursor: grabbing;\n                transition: none;\n            }\n\n            .zyx1-slider-slide {\n                box-sizing: border-box;\n                padding: 10px;\n                flex-shrink: 0;\n                min-width: 33.3333%;\n                max-width: 33.3333%;\n            }\n\n            .zyx1-slider-slide-content {\n                background: rgba(243, 243, 243, 0.1);\n                overflow: hidden;\n                transition: all 0.3s ease;\n                border: 3px solid rgba(224, 224, 224, 0.5);\n                cursor: inherit;\n            }\n\n            .zyx1-slider-slide:hover .zyx1-slider-slide-content {\n                transform: translateY(-2px);\n                box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);\n            }\n\n            .zyx1-slider-slide img {\n                width: 100%;\n                height: auto;\n                aspect-ratio: 4\/3;\n                object-fit: cover;\n                pointer-events: none;\n                display: block;\n            }\n\n            .zyx1-slider-indicators,\n            .zyx1-slider-nav-btn {\n                display: none !important;\n            }\n\n            @media (max-width: 768px) {\n                .zyx1-slider-slide {\n                    min-width: 50%;\n                    max-width: 50%;\n                }\n            }\n\n            @media (max-width: 480px) {\n                .zyx1-slider-slide {\n                    min-width: 100%;\n                    max-width: 100%;\n                }\n            }\n        `;\n\n        const componentHTML = document.createElement('div');\n        componentHTML.className = 'zyx1-slider-component';\n        componentHTML.innerHTML = `\n            <div class=\"zyx1-slider-container\" id=\"zyx1-sliderContainer\">\n                <div class=\"zyx1-slider-track\" id=\"zyx1-sliderTrack\"><\/div>\n            <\/div>\n        `;\n\n        shadow.appendChild(style);\n        shadow.appendChild(componentHTML);\n\n        const zyx1Container = shadow.getElementById('zyx1-sliderContainer');\n        const zyx1Track = shadow.getElementById('zyx1-sliderTrack');\n\n        const zyx1ClonesCount = 3;\n        const zyx1OriginalCount = zyx1SliderData.length;\n        let zyx1Slides = [], zyx1Index = zyx1ClonesCount, zyx1SlideWidth = 0;\n        let zyx1IsDragging = false, zyx1StartX = 0, zyx1PrevTranslate = 0, zyx1PointerId = null;\n        let zyx1LastTime = Date.now(), zyx1Raf = null;\n\n        function zyx1CreateSlideHTML(product) {\n            return `\n                <div class=\"zyx1-slider-slide\">\n                    <div class=\"zyx1-slider-slide-content\">\n                        <img decoding=\"async\" src=\"${product.img}\" alt=\"Product\" draggable=\"false\">\n                    <\/div>\n                <\/div>\n            `;\n        }\n\n        function zyx1GenerateSlides() {\n            let html = '';\n            for (let i = zyx1OriginalCount - zyx1ClonesCount; i < zyx1OriginalCount; i++) html += zyx1CreateSlideHTML(zyx1SliderData[i]);\n            for (let i = 0; i < zyx1OriginalCount; i++) html += zyx1CreateSlideHTML(zyx1SliderData[i]);\n            for (let i = 0; i < zyx1ClonesCount; i++) html += zyx1CreateSlideHTML(zyx1SliderData[i]);\n            zyx1Track.innerHTML = html;\n            zyx1Slides = Array.from(zyx1Track.querySelectorAll('.zyx1-slider-slide'));\n        }\n\n        function zyx1CalcSlideWidth() { zyx1SlideWidth = zyx1Slides[0]?.getBoundingClientRect().width || 0; }\n\n        function zyx1UpdateSlider(animate = true) {\n            zyx1Track.style.transition = animate ? \"transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94)\" : \"none\";\n            const translatePx = -zyx1Index * zyx1SlideWidth;\n            zyx1Track.style.transform = `translateX(${translatePx}px)`;\n            zyx1PrevTranslate = translatePx;\n        }\n\n        function zyx1NextSlide() { zyx1Index++; zyx1UpdateSlider(true); }\n\n        function zyx1HandleLoopFix() {\n            if (zyx1Index < zyx1ClonesCount) { zyx1Index += zyx1OriginalCount; zyx1UpdateSlider(false); }\n            else if (zyx1Index >= zyx1ClonesCount + zyx1OriginalCount) { zyx1Index -= zyx1OriginalCount; zyx1UpdateSlider(false); }\n        }\n\n        function zyx1OnPointerDown(e) {\n            if (e.pointerType === 'mouse' && e.button !== 0) return;\n            zyx1IsDragging = true; zyx1PointerId = e.pointerId; zyx1StartX = e.clientX;\n            zyx1Track.classList.add('zyx1-grabbing');\n            zyx1Track.style.transition = 'none';\n            try { zyx1Container.setPointerCapture(zyx1PointerId); } catch (err) {}\n        }\n\n        function zyx1OnPointerMove(e) {\n            if (!zyx1IsDragging || e.pointerId !== zyx1PointerId) return;\n            const diff = e.clientX - zyx1StartX;\n            zyx1Track.style.transform = `translateX(${zyx1PrevTranslate + diff}px)`;\n        }\n\n        function zyx1OnPointerUp(e) {\n            if (!zyx1IsDragging || e.pointerId !== zyx1PointerId) return;\n            zyx1IsDragging = false; zyx1Track.classList.remove('zyx1-grabbing');\n            try { zyx1Container.releasePointerCapture(zyx1PointerId); } catch (err) {}\n\n            const movedBy = e.clientX - zyx1StartX;\n            if (Math.abs(movedBy) >= 8) {\n                const movedSlides = Math.round(Math.abs(movedBy) \/ Math.max(1, zyx1SlideWidth));\n                if (movedBy < 0) zyx1Index += movedSlides || 1;\n                else zyx1Index -= movedSlides || 1;\n                zyx1LastTime = Date.now();\n            }\n            zyx1UpdateSlider(true);\n        }\n\n        function zyx1AnimationLoop() {\n            zyx1HandleLoopFix();\n            const now = Date.now();\n            if (now - zyx1LastTime >= 4000 && !zyx1IsDragging) { zyx1NextSlide(); zyx1LastTime = now; }\n            zyx1Raf = requestAnimationFrame(zyx1AnimationLoop);\n        }\n\n        zyx1Track.addEventListener('pointerdown', zyx1OnPointerDown);\n        window.addEventListener('pointermove', zyx1OnPointerMove);\n        window.addEventListener('pointerup', zyx1OnPointerUp);\n        window.addEventListener('resize', () => { zyx1CalcSlideWidth(); zyx1UpdateSlider(false); });\n\n        zyx1GenerateSlides();\n        setTimeout(() => {\n            zyx1CalcSlideWidth();\n            zyx1UpdateSlider(false);\n            zyx1AnimationLoop();\n        }, 50);\n    })();\n<\/script>\n<\/body>\n<\/html>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-10f67b3 e-con-full e-flex e-con e-child\" data-id=\"10f67b3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4dbb2c2 elementor-headline--style-highlight elementor-widget elementor-widget-animated-headline\" data-id=\"4dbb2c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;marker&quot;:&quot;underline&quot;,&quot;highlighted_text&quot;:&quot;CONTACT US&quot;,&quot;headline_style&quot;:&quot;highlight&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;highlight_animation_duration&quot;:1200,&quot;highlight_iteration_delay&quot;:8000}\" data-widget_type=\"animated-headline.default\">\n\t\t\t\t\t\t\t<h3 class=\"elementor-headline\">\n\t\t\t\t<span class=\"elementor-headline-dynamic-wrapper elementor-headline-text-wrapper\">\n\t\t\t\t\t<span class=\"elementor-headline-dynamic-text elementor-headline-text-active\">CONTACT US<\/span>\n\t\t\t\t<\/span>\n\t\t\t\t\t<span class=\"elementor-headline-plain-text elementor-headline-text-wrapper\">AND COOPERATION NOW!<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3c796dd e-con-full e-flex e-con e-child\" data-id=\"3c796dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8f9ec7a elementor-align-center elementor-widget elementor-widget-button\" data-id=\"8f9ec7a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.adegsotools.ca\/contact-us\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">JOIN ADEGSO<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>A Full Range of Industrial Tools for Maximum EfficiencyFrom hand and power tools to gardening machinery, our 10000+ specifications meet [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-25","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.adegsotools.ca\/fr\/wp-json\/wp\/v2\/pages\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.adegsotools.ca\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.adegsotools.ca\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.adegsotools.ca\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.adegsotools.ca\/fr\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":28,"href":"https:\/\/www.adegsotools.ca\/fr\/wp-json\/wp\/v2\/pages\/25\/revisions"}],"predecessor-version":[{"id":137,"href":"https:\/\/www.adegsotools.ca\/fr\/wp-json\/wp\/v2\/pages\/25\/revisions\/137"}],"wp:attachment":[{"href":"https:\/\/www.adegsotools.ca\/fr\/wp-json\/wp\/v2\/media?parent=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}