{"title":"Test","description":"\u003cbody\u003e\n\n\n\n\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n    \u003cmeta name=\"description\" content=\"Shop premium Rippa mini excavators at JoyT5 across Canada \u0026amp; USA. Kubota-powered, ISO:9001 certified. Perfect for construction, landscaping \u0026amp; agriculture. Nationwide shipping.\"\u003e\n    \u003ctitle\u003eRippa Mini Excavators For Sale | JoyT5 Canada \u0026amp; USA\u003c\/title\u003e\n\n\n    \n    \u003c!-- Hero Section --\u003e\n    \u003cdiv class=\"content-highlight\"\u003e\n        \u003ch1 style=\"margin-bottom: 15px;\"\u003eRippa Mini Excavators – Power, Precision \u0026amp; Performance\u003c\/h1\u003e\n        \u003cp style=\"font-size: 1.6rem; line-height: 1.6; margin-bottom: 0;\"\u003eDiscover premium \u003cstrong\u003eRippa mini excavators\u003c\/strong\u003e at JoyT5 – engineered for reliability and built to tackle any job. From construction and landscaping to agriculture and property maintenance, Rippa's compact powerhouses deliver exceptional performance in tight spaces without compromising on strength. \u003cstrong\u003eNow serving customers across Canada and the USA.\u003c\/strong\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Why Choose Rippa --\u003e\n    \u003ch2 style=\"text-align: center; margin-top: 40px; margin-bottom: 30px;\"\u003eWhy Choose Rippa Mini Excavators?\u003c\/h2\u003e\n    \n    \u003c!-- Horizontal Slider --\u003e\n    \u003cdiv class=\"slider-container\"\u003e\n        \u003c!-- Left Arrow (Desktop Only) --\u003e\n        \u003cbutton class=\"slider-arrow slider-arrow-left\" onclick=\"changeSlide(-1)\" aria-label=\"Previous slide\"\u003e\n            \u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n                \u003cpolyline points=\"15 18 9 12 15 6\"\u003e\u003c\/polyline\u003e\n            \u003c\/svg\u003e\n        \u003c\/button\u003e\n\n        \u003c!-- Right Arrow (Desktop Only) --\u003e\n        \u003cbutton class=\"slider-arrow slider-arrow-right\" onclick=\"changeSlide(1)\" aria-label=\"Next slide\"\u003e\n            \u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n                \u003cpolyline points=\"9 18 15 12 9 6\"\u003e\u003c\/polyline\u003e\n            \u003c\/svg\u003e\n        \u003c\/button\u003e\n\n        \u003cdiv class=\"slider-wrapper\"\u003e\n            \u003cdiv class=\"content-card slider-card\"\u003e\n                \u003ch3 style=\"color: #2e7d32; margin-top: 0;\"\u003e✓ Proven Quality\u003c\/h3\u003e\n                \u003cp style=\"margin-bottom: 0;\"\u003eKubota engines, ISO:9001-certified manufacturing, and German-engineered precision\u003c\/p\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"content-card slider-card\"\u003e\n                \u003ch3 style=\"color: #2e7d32; margin-top: 0;\"\u003e✓ Versatile Performance\u003c\/h3\u003e\n                \u003cp style=\"margin-bottom: 0;\"\u003eHandle trenching, excavation, demolition, land clearing, and more\u003c\/p\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"content-card slider-card\"\u003e\n                \u003ch3 style=\"color: #2e7d32; margin-top: 0;\"\u003e✓ Compact Design\u003c\/h3\u003e\n                \u003cp style=\"margin-bottom: 0;\"\u003eNavigate tight spaces with ease while maintaining impressive digging force\u003c\/p\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"content-card slider-card\"\u003e\n                \u003ch3 style=\"color: #2e7d32; margin-top: 0;\"\u003e✓ Fuel Efficient\u003c\/h3\u003e\n                \u003cp style=\"margin-bottom: 0;\"\u003eLower operating costs without sacrificing power\u003c\/p\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"content-card slider-card\"\u003e\n                \u003ch3 style=\"color: #2e7d32; margin-top: 0;\"\u003e✓ Extensive Attachments\u003c\/h3\u003e\n                \u003cp style=\"margin-bottom: 0;\"\u003eCustomize with hydraulic thumbs, augers, grapples, and specialized tools\u003c\/p\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"content-card slider-card\"\u003e\n                \u003ch3 style=\"color: #2e7d32; margin-top: 0;\"\u003e✓ North American Support\u003c\/h3\u003e\n                \u003cp style=\"margin-bottom: 0;\"\u003eNationwide shipping and dedicated after-sales service across Canada \u0026amp; USA\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \n        \u003c!-- Navigation Dots --\u003e\n        \u003cdiv class=\"slider-dots\"\u003e\n            \u003cspan class=\"dot active\" onclick=\"currentSlide(1)\"\u003e\u003c\/span\u003e\n            \u003cspan class=\"dot\" onclick=\"currentSlide(2)\"\u003e\u003c\/span\u003e\n            \u003cspan class=\"dot\" onclick=\"currentSlide(3)\"\u003e\u003c\/span\u003e\n            \u003cspan class=\"dot\" onclick=\"currentSlide(4)\"\u003e\u003c\/span\u003e\n            \u003cspan class=\"dot\" onclick=\"currentSlide(5)\"\u003e\u003c\/span\u003e\n            \u003cspan class=\"dot\" onclick=\"currentSlide(6)\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Built for North American Conditions --\u003e\n    \u003cdiv class=\"commitment-box\"\u003e\n        \u003ch3\u003eBuilt for North American Conditions\u003c\/h3\u003e\n        \u003cp style=\"margin-bottom: 12px;\"\u003eEvery Rippa mini excavator combines durability with operator comfort. Advanced safety features, ergonomic controls, and superior stability ensure maximum productivity on any job site—from the Canadian Rockies to the American Southwest.\u003c\/p\u003e\n        \u003cp style=\"margin-bottom: 0;\"\u003eWhether you're a professional contractor, landscaper, or property developer in Canada or the USA, Rippa delivers the reliability you need at a competitive price.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- CTA Section --\u003e\n    \u003cdiv class=\"cta-section\"\u003e\n        \u003ch2 style=\"font-size: 2.4rem;\"\u003eReady to Upgrade Your Equipment?\u003c\/h2\u003e\n        \u003cp style=\"font-size: 1.6rem; max-width: 700px; margin: 0 auto 30px;\"\u003eExplore our complete range of Rippa mini excavators with nationwide shipping across Canada and the USA.\u003c\/p\u003e\n        \u003cdiv style=\"display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;\"\u003e\n            \u003ca href=\"\/collections\/rippa-machinery-collection-canada\" class=\"cta-button\" style=\"margin-top: 0;\"\u003e🚜 Shop Mini Excavators Now\u003c\/a\u003e\n            \u003ca href=\"\/collections\/excavator-attachments\" class=\"cta-button\" style=\"margin-top: 0; background-color: transparent; color: #ffffff; border: 2px solid #ffffff;\"\u003eView Attachments\u003c\/a\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Contact Section --\u003e\n    \u003cdiv class=\"contact-info\"\u003e\n        \u003ch2 style=\"margin-top: 0;\"\u003eNeed Help Choosing?\u003c\/h2\u003e\n        \u003cp style=\"font-size: 1.5rem; margin-bottom: 15px;\"\u003e📞 \u003cstrong\u003eToll-Free (Canada \u0026amp; USA):\u003c\/strong\u003e \u003ca href=\"tel:1-833-695-6985\"\u003e1-833-MY-JOYT5 (1-833-695-6985)\u003c\/a\u003e\u003c\/p\u003e\n        \u003cp style=\"font-size: 1.5rem; margin-bottom: 15px;\"\u003e📧 \u003cstrong\u003eEmail:\u003c\/strong\u003e \u003ca href=\"mailto:Info@JoyT5.com\"\u003eInfo@JoyT5.com\u003c\/a\u003e\u003c\/p\u003e\n        \u003cp style=\"font-size: 1.4rem; margin-bottom: 0;\"\u003eOur North American experts are ready to help you choose the perfect Rippa excavator for your needs.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n        \/* Reset any inherited padding\/margin that might cause offset *\/\n        .content-highlight,\n        .slider-container,\n        .commitment-box,\n        .cta-section,\n        .contact-info {\n            margin-left: 0;\n            margin-right: 0;\n        }\n\n        \/* Horizontal Slider Styles *\/\n        .slider-container {\n            position: relative;\n            margin: 35px 0;\n            overflow: hidden;\n        }\n\n        .slider-wrapper {\n            display: flex;\n            overflow-x: auto;\n            scroll-behavior: smooth;\n            gap: 20px;\n            padding: 10px 5px 30px 5px;\n            -webkit-overflow-scrolling: touch;\n            scrollbar-width: none; \/* Firefox *\/\n            -ms-overflow-style: none; \/* IE and Edge *\/\n        }\n\n        .slider-wrapper::-webkit-scrollbar {\n            display: none; \/* Chrome, Safari, Opera *\/\n        }\n\n        .slider-card {\n            flex: 0 0 auto;\n            width: 320px;\n            min-width: 320px;\n        }\n\n        \/* Navigation Arrows *\/\n        .slider-arrow {\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n            background-color: #ffffff;\n            border: 2px solid #e8e8e8;\n            border-radius: 50%;\n            width: 48px;\n            height: 48px;\n            display: none; \/* Hidden by default (mobile) *\/\n            align-items: center;\n            justify-content: center;\n            cursor: pointer;\n            z-index: 10;\n            transition: all 0.3s ease;\n            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n        }\n\n        .slider-arrow:hover {\n            background-color: #2e7d32;\n            border-color: #2e7d32;\n            box-shadow: 0 4px 12px rgba(46, 125, 50, 0.3);\n            transform: translateY(-50%) scale(1.1);\n        }\n\n        .slider-arrow:hover svg {\n            stroke: #ffffff;\n        }\n\n        .slider-arrow svg {\n            stroke: #121212;\n            transition: stroke 0.3s ease;\n        }\n\n        .slider-arrow-left {\n            left: -24px;\n        }\n\n        .slider-arrow-right {\n            right: -24px;\n        }\n\n        \/* Show arrows on desktop only *\/\n        @media (min-width: 1024px) {\n            .slider-arrow {\n                display: flex;\n            }\n        }\n\n        \/* Navigation Dots *\/\n        .slider-dots {\n            text-align: center;\n            padding: 20px 0 10px 0;\n        }\n\n        .dot {\n            height: 12px;\n            width: 12px;\n            margin: 0 6px;\n            background-color: #bbb;\n            border-radius: 50%;\n            display: inline-block;\n            cursor: pointer;\n            transition: background-color 0.3s ease, transform 0.3s ease;\n        }\n\n        .dot:hover {\n            background-color: #717171;\n            transform: scale(1.2);\n        }\n\n        .dot.active {\n            background-color: #2e7d32;\n            transform: scale(1.3);\n        }\n\n        \/* Desktop: Show 3 cards at a time *\/\n        @media (min-width: 1024px) {\n            .slider-card {\n                width: calc(33.333% - 14px);\n                min-width: calc(33.333% - 14px);\n            }\n        }\n\n        \/* Tablet: Show 2 cards at a time *\/\n        @media (min-width: 768px) and (max-width: 1023px) {\n            .slider-card {\n                width: calc(50% - 10px);\n                min-width: calc(50% - 10px);\n            }\n        }\n\n        \/* Mobile: Show 1 card at a time with peek *\/\n        @media (max-width: 767px) {\n            .slider-card {\n                width: 85%;\n                min-width: 85%;\n            }\n\n            .slider-wrapper {\n                padding-left: 15px;\n            }\n        }\n\n        \/* Mobile Optimizations *\/\n        @media (max-width: 768px) {\n            .content-highlight h1 {\n                font-size: 2rem !important;\n                line-height: 1.3;\n            }\n            \n            .content-highlight p {\n                font-size: 1.4rem !important;\n            }\n            \n            h2 {\n                font-size: 1.8rem !important;\n            }\n            \n            .cta-section h2 {\n                font-size: 1.9rem !important;\n            }\n            \n            .cta-section p {\n                font-size: 1.4rem !important;\n            }\n        }\n        \n        @media (max-width: 480px) {\n            .content-highlight h1 {\n                font-size: 1.8rem !important;\n            }\n            \n            .content-card h3 {\n                font-size: 1.4rem !important;\n            }\n\n            .slider-card {\n                width: 90%;\n                min-width: 90%;\n            }\n        }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n        \/\/ Slider functionality\n        let currentSlideIndex = 1;\n        \n        function currentSlide(n) {\n            showSlide(currentSlideIndex = n);\n        }\n\n        function changeSlide(direction) {\n            showSlide(currentSlideIndex += direction);\n        }\n\n        function showSlide(n) {\n            const slider = document.querySelector('.slider-wrapper');\n            const cards = document.querySelectorAll('.slider-card');\n            const dots = document.querySelectorAll('.dot');\n            \n            if (n \u003e cards.length) { currentSlideIndex = 1; }\n            if (n \u003c 1) { currentSlideIndex = cards.length; }\n            \n            \/\/ Calculate scroll position\n            const cardWidth = cards[0].offsetWidth;\n            const gap = 20;\n            const scrollPosition = (currentSlideIndex - 1) * (cardWidth + gap);\n            \n            slider.scrollTo({\n                left: scrollPosition,\n                behavior: 'smooth'\n            });\n            \n            \/\/ Update dots\n            dots.forEach(dot =\u003e dot.classList.remove('active'));\n            dots[currentSlideIndex - 1].classList.add('active');\n        }\n\n        \/\/ Auto-update dots on scroll\n        document.querySelector('.slider-wrapper').addEventListener('scroll', function() {\n            const slider = this;\n            const cards = document.querySelectorAll('.slider-card');\n            const dots = document.querySelectorAll('.dot');\n            const cardWidth = cards[0].offsetWidth;\n            const gap = 20;\n            \n            const scrollPosition = slider.scrollLeft;\n            const activeIndex = Math.round(scrollPosition \/ (cardWidth + gap));\n            \n            dots.forEach((dot, index) =\u003e {\n                if (index === activeIndex) {\n                    dot.classList.add('active');\n                    currentSlideIndex = index + 1;\n                } else {\n                    dot.classList.remove('active');\n                }\n            });\n        });\n\n        \/\/ Touch swipe support\n        let touchStartX = 0;\n        let touchEndX = 0;\n        \n        const sliderWrapper = document.querySelector('.slider-wrapper');\n        \n        sliderWrapper.addEventListener('touchstart', e =\u003e {\n            touchStartX = e.changedTouches[0].screenX;\n        });\n        \n        sliderWrapper.addEventListener('touchend', e =\u003e {\n            touchEndX = e.changedTouches[0].screenX;\n            handleSwipe();\n        });\n        \n        function handleSwipe() {\n            if (touchEndX \u003c touchStartX - 50) {\n                \/\/ Swipe left\n                changeSlide(1);\n            }\n            if (touchEndX \u003e touchStartX + 50) {\n                \/\/ Swipe right\n                changeSlide(-1);\n            }\n        }\n    \u003c\/script\u003e\n\n\n\n\u003c\/body\u003e","products":[],"url":"https:\/\/joyt5.com\/collections\/test.oembed","provider":"JoyT5 Mini Excavators, Wheel Loaders and Heavy Equipment Canada ","version":"1.0","type":"link"}