{"product_id":"workpro-grass-shears-handheld-grass-clippers-with-360-degree-swivel-blades-15-inch-manual-grass-cutter-with-ultra-sharp-blade-tpr-coated-handle-gardening-scissors-for-precise-lawn-trimming","title":"WORKPRO Grass Shears Handheld, Grass Clippers with 360 Degree Swivel Blades | 15-Inch Manual Grass Cutter with Ultra-Sharp Blade \u0026 TPR Coated Handle, Gardening Scissors for Precise Lawn Trimming","description":"\u003cdiv class=\"aplus-content-wrapper\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/05dc99f5-8379-433b-b448-42143c79b822.__CR0_0_1464_600_PT0_SX1464_V1.jpg?v=1785735727\" alt=\"Grass shears with innovation and quality, held by a hand near a tree stump in green lawn\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/37e4f327-f68c-41e4-b566-b64c21c2f93c.__CR0_0_1464_600_PT0_SX1464_V1.jpg?v=1785735804\" alt=\"Garden trimmer with green handle showing 360 rotation design and multiple cutting positions for innovation and quality\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-13-carousel aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-13\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-2-id\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e\n\u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons a-carousel-overlay-buttons a-carousel-rounded-buttons\"\u003e\n\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003e\u003ca class=\"a-carousel-goto-prevpage\" role=\"button\" href=\"#\"\u003e\u003ci class=\"a-icon a-icon-previous-rounded\"\u003e\u003cspan class=\"a-icon-alt\"\u003ePrevious page\u003c\/span\u003e\u003c\/i\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n\u003cdiv class=\"a-carousel-viewport\"\u003e\n\u003col class=\"a-carousel\" role=\"list\"\u003e\n\u003cli class=\"a-carousel-card aplus-carousel-element\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-2-slide-0\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/6c1fbd9f-5761-4959-a1b9-0fe468f7f168.__CR0_0_1464_600_PT0_SX1464_V1.jpg?v=1785735886\" alt=\"Innovation and quality lawn trimmer blade with black coating on green grass, showing long-lasting sharpness\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"a-carousel-card aplus-carousel-element\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-2-slide-1\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/893f711b-5973-4d5c-911d-b06afbf78d44.__CR0_0_1464_600_PT0_SX1464_V1.jpg?v=1785735934\" alt=\"Green and black garden shears on grass with lock and unlock controls, showing innovation and quality\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"a-carousel-card aplus-carousel-element\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-2-slide-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/812208a9-8428-4927-a9f3-0955383624a5.__CR0_0_1464_600_PT0_SX1464_V1.jpg?v=1785735922\" alt=\"Green electric lawn trimmer with innovation and quality text overlay, cutting grass in a garden\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"a-carousel-card aplus-carousel-element\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-2-slide-3\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/059e0123-da4b-4464-9f41-106bd36e1eeb.__CR0_0_1464_600_PT0_SX1464_V1.jpg?v=1785735726\" alt=\"Garden hand pruners with green non slip TPR coating, ergonomic loop handle, innovation and quality grip\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-right\"\u003e\u003ca class=\"a-carousel-goto-nextpage\" role=\"button\" href=\"#\"\u003e\u003ci class=\"a-icon a-icon-next-rounded\"\u003e\u003cspan class=\"a-icon-alt\"\u003eNext page\u003c\/span\u003e\u003c\/i\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-pagination-wrapper\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle type=\"text\/css\"\u003e\n\n.aplus-mantle.aplus-module .aplus-pagination-dots {\n    margin: 0;\n}\n\n.aplus-mantle.aplus-module .aplus-pagination-dot {\n    display: inline-block;\n    list-style: none;\n}\n\n.aplus-mantle.aplus-module .aplus-carousel-nav {\n    text-align:center;\n}\n\n.aplus-mantle.aplus-module .carousel-slider-circle {\n    display: inline-block;\n    cursor: pointer;\n    height: 15px;\n    width: 15px;\n    border: 1px solid #000;\n    border-radius: 20px;\n    background-color: #fff;\n    margin-left: 5px;\n}\n\n.aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active {\n    background-color: #DE7921;\n}\n\n.aplus-mantle.aplus-module .aplus-pagination-dot--display-none {\n    display: none;\n}\n\n\u003c\/style\u003e\n\u003cdiv class=\"aplus-content-wrapper\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-13-carousel aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-13\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-pagination-wrapper\"\u003e\n\u003cscript\u003e\n\nP.now(\"premium-aplus-13-carousel-2\").execute(\"init-pagination-carousel\", function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-2\", function() {\n        return function() {\n            P.when(\"A\", \"jQuery\", \"a-carousel-framework\", \"ready\").execute(\"paginate-carousel\", function (A, $, framework) {\n                const ENTER_KEY_CODE = 13;\n                const ESCAPE_KEY_CODE = 27;\n                const LEFT_ARROW_KEY = 37;\n                const RIGHT_ARROW_KEY = 39;\n                const HOME_KEY = 36;\n                const END_KEY = 35;\n\n                var moduleId = \"2\";\n                var carouselName = \"premium-aplus-13-carousel-2\";\n                var paginationAction = \"aplus-pagination-dot-action-\" + moduleId + \"-\" + carouselName;\n                var paginationGroup = \"#aplus-pagination-group-\" + moduleId + \"-\" + carouselName;\n\n                \/* If the carousel goes to a new page *\/\n                A.on(\"a:carousel:\"+carouselName+\":change:pageNumber\", function (data) {\n                    A.$(paginationGroup+\" .carousel-slider-circle\").removeClass(\"aplus-carousel-active\").attr('aria-selected', 'false').attr('tabindex', -1)\n                                    .eq(data.newValue - 1).addClass(\"aplus-carousel-active\").attr('aria-selected', 'true').attr('tabindex', 0);\n                });\n\n                function syncPaginationDotsWithCarouselPages(numPages) {\n                    const parentElement = document.querySelector(paginationGroup);\n                    if (parentElement \u0026\u0026 parentElement.children) {\n                        const children = parentElement.children;\n                        for (let i = 0; i \u003c children.length; i++) {\n                            if (i \u003e= numPages) {\n                                \/\/ If number of dots \u003e num of pages, we should hide other dots\n                                children[i].classList.add('aplus-pagination-dot--display-none');\n                            } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) {\n                                \/\/ Reset display of dots if it was hidden before\n                                children[i].classList.remove('aplus-pagination-dot--display-none');\n                            }\n                        }\n                    }\n                }\n\n                framework.onInit(carouselName, function (carousel) {\n                    try {\n                        var totalPages = carousel.getAttr('totalPages');\n                        syncPaginationDotsWithCarouselPages(totalPages);\n                        \/* Resize event handler to re-calculate the pagination dots count based on orientation *\/\n                        window.addEventListener('resize', function() {\n                            carousel.resize();\n                            totalPages = carousel.getAttr('totalPages');\n                            syncPaginationDotsWithCarouselPages(totalPages);\n                        });\n\n                        A.declarative(paginationAction, 'click keydown', function(event){\n                            var isClick = event.type === 'click';\n                            var isKeydown = event.type === 'keydown';\n                            var isEnter = isKeydown \u0026\u0026 event.$event.keyCode === ENTER_KEY_CODE;\n                            var isEsc = isKeydown \u0026\u0026 event.$event.keyCode === ESCAPE_KEY_CODE;\n                            var isLeftArrow = isKeydown \u0026\u0026 event.$event.keyCode === LEFT_ARROW_KEY;\n                            var isRightArrow = isKeydown \u0026\u0026 event.$event.keyCode === RIGHT_ARROW_KEY;\n                            var isHome = isKeydown \u0026\u0026 event.$event.keyCode === HOME_KEY;\n                            var isEnd = isKeydown \u0026\u0026 event.$event.keyCode === END_KEY;\n\n                            if (isClick || isEnter) {\n                                var data = event.data;\n                                carousel.gotoPage(data.page);\n                            } else if (isEsc) {\n                                event.$target.blur();\n                            } else if (isLeftArrow || isRightArrow || isHome || isEnd) {\n                                event.$event.preventDefault();\n                                const dots = A.$(paginationGroup + \" .carousel-slider-circle\");\n                                const currentIndex = dots.index(event.$target);\n                                let nextIndex;\n\n                                if (isLeftArrow) {\n                                    nextIndex = currentIndex \u003e 0 ? currentIndex - 1 : dots.length - 1;\n                                } else if (isRightArrow) {\n                                    nextIndex = currentIndex \u003c dots.length - 1 ? currentIndex + 1 : 0;\n                                } else if (isHome) {\n                                    nextIndex = 0;\n                                } else if (isEnd) {\n                                    nextIndex = dots.length - 1;\n                                }\n\n                                dots.eq(nextIndex).focus();\n                                carousel.gotoPage(nextIndex + 1);\n                            }\n                        });\n                    } catch (e) {\n                        P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources');\n                    }\n                });\n            });\n        }\n    });\n});\n\u003c\/script\u003e\n\u003cdiv class=\"aplus-mantle aplus-module\"\u003e\n\u003cdiv class=\"aplus-carousel-nav\"\u003e\n\u003cul id=\"aplus-pagination-group-2-premium-aplus-13-carousel-2\" class=\"aplus-pagination-dots\" role=\"tablist\"\u003e\n\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block aplus-carousel-active\" role=\"tab\" tabindex=\"0\"\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block\" role=\"tab\" tabindex=\"-1\"\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block\" role=\"tab\" tabindex=\"-1\"\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block\" role=\"tab\" tabindex=\"-1\"\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"text\/javascript\"\u003e(function(f) {var _np=(window.P._namespace(\"PremiumAplusModule\"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {\n    P.when(\"premium-aplus-13-carousel-2\").execute('invoke-premium-13-carousel-desktop', function(init){init();});\n}));\u003c\/script\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/8802380b-ec09-4596-be7e-37f6196e3d1f.__CR0_0_1464_600_PT0_SX1464_V1.jpg?v=1785735933\" alt=\"Garden trimmer before and after, showing innovation and quality with green grass and hedge background\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/afdf8101-7196-4718-b752-a258bf104678.__CR0_0_1464_600_PT0_SX1464_V1.jpg?v=1785735991\" alt=\"Garden innovation and quality tools with a gift box, while a gardener hands a present in a flower-filled yard\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"WORKPRO","offers":[{"title":"Default Title","offer_id":48160576012478,"sku":"W151055AH","price":24.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0600\/0676\/0638\/files\/61cuenAAA_L._AC_US1500.jpg?v=1784258709","url":"https:\/\/workprotools.com\/products\/workpro-grass-shears-handheld-grass-clippers-with-360-degree-swivel-blades-15-inch-manual-grass-cutter-with-ultra-sharp-blade-tpr-coated-handle-gardening-scissors-for-precise-lawn-trimming","provider":"WORKPRO TOOLS","version":"1.0","type":"link"}