{"product_id":"airzeen-bagless-robot-vacuum-and-mop-self-emptying-for-pet-hair-carpet","title":"Airzeen Bagless Robot Vacuum and Mop Self-Emptying for Pet Hair\/Carpet","description":"\u003cdiv\u003e\u003cdiv lang=\"en_US\"\u003e\n \u003cdiv class=\"aplus-v2 desktop celwidget\" cel_widget_id=\"aplus\"\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n\n.aplus-v2 .premium-aplus-module-3 .premium-module-3-heading {\n    padding-bottom: 40px;\n}\n\n.aplus-v2 .premium-aplus-module-3 .premium-aplus-four-column {\n     text-align: center;\n }\n\n.aplus-v2 .premium-aplus-module-3 .premium-aplus-four-column {\n    text-align: inherit;\n}\n\n.aplus-v2 .premium-aplus-module-3 .premium-aplus-column {\n    display: inline-block;\n    vertical-align: top;\n    width: 25%;\n}\n\n.aplus-v2 .premium-aplus-module-3 .premium-aplus-column {\n    padding: 0 20px;\n}\n\n.aplus-v2 .premium-aplus-module-3 .column-heading {\n    padding-top: 20px;\n}\n\n.aplus-v2 .premium-aplus-module-3 .column-description {\n    padding-top: 10px;\n}\n\n\u003c\/style\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n    .aplus-v2 .premium-aplus-module-13 .aplus-carousel-container {\n        position: relative;\n    }\n\n    .aplus-v2 .premium-aplus-module-13 .aplus-carousel-element {\n        position: relative;\n        width: 100%;\n    }\n\n    .aplus-v2 .premium-aplus-module-13 .aplus-card-link-button {\n        text-align: center;\n        padding-top: 20px;\n    }\n\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background h1,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background h5,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol .a-list-item,\n    .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul .a-list-item {\n        color: #fff;\n    }\n\n\u003c\/style\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium-module 11: FAQs - Common Styles (All Devices)\n *\/\n\n.aplus-v2 .premium-aplus-module-11 {\n    background: #fff;\n    position: relative;\n}\n\n.aplus-v2 .premium-aplus-module-11.aplus-secondary-color {\n    background: #000;\n}\n\n.aplus-v2 .premium-aplus-module-11 .aplus-question,\n.aplus-v2 .premium-aplus-module-11 .aplus-answer {\n    display: block;\n    width: 100%;\n    margin: 0;\n}\n\n.aplus-v2 .premium-aplus-module-11 .aplus-answer {\n    visibility: hidden;\n    opacity: 0;\n    height: 0;\n    transition: display 0.1s linear, opacity 0.1s linear, height 0.1s linear;\n    transition-behavior: allow-discrete;\n}\n\n.aplus-v2 .premium-aplus-module-11 .aplus-active .aplus-answer {\n    visibility: visible;\n    opacity: 1;\n    height: auto;\n    height: calc-size(auto);\n    min-height: 40px;\n}\n\n.aplus-v2 .premium-aplus-module-11 .faq-list {\n    margin: 0;\n}\n\n.aplus-v2 .premium-aplus-module-11 .faq-block {\n    position: relative;\n    list-style-type: none;\n    cursor: pointer;\n    border: 2px solid #E6E6E6;\n    background: #fff;\n    border-radius: 3px;\n    margin-bottom: 10px;\n}\n\n.aplus-v2 .premium-aplus-module-11.aplus-secondary-color .faq-block {\n    border: none;\n}\n\n.aplus-v2 .premium-aplus-module-11 .aplus-question::before,\n.aplus-v2 .premium-aplus-module-11 .aplus-answer::before {\n    text-align: center;\n    border-radius: 3px;\n    display: inline-block;\n    font-weight: 500;\n    position: absolute;\n    color: #fff;\n    top: 10px;\n    left: 10px;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-11 .aplus-question::before,\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-11 .aplus-answer::before {\n    right: 10px;\n}\n\n.aplus-v2 .premium-aplus-module-11 .aplus-question::before {\n    content: \"Q\";\n    background: #505050;\n    transition: background 0.1s linear;\n    z-index: 2;\n}\n\n.aplus-v2 .premium-aplus-module-11 .aplus-answer::before {\n    content: \"A\";\n    background: #DF7600;\n    color: #000000;\n    z-index: 1;\n    transform: translateY(0px);\n    transition: transform 0.1s linear;\n}\n\n.aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active .aplus-question::before {\n    background: #404040;\n}\n\n.aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active .aplus-answer::before {\n    transform: translateY(40px);\n}\n\n.aplus-v2 .premium-aplus-module-11 .faq-arrow {\n    position: absolute;\n    top: 25px;\n    border: 10px solid transparent;\n    border-top-color: #505050;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-11 .faq-arrow {\n    right: auto;\n}\n\n.aplus-v2 .premium-aplus-module-11 .aplus-active .faq-arrow {\n    top: 15px;\n    border-top-color: transparent;\n    border-bottom-color: #404040;\n}\n\n\u003c\/style\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n\n.aplus-v2 .premium-aplus-module-2 .premium-background-wrapper {\n    position: relative;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper {\n    position: absolute;\n    width: 50%;\n    height: 100%;\n    top: 0;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right {\n    left: 50%;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right {\n    left: auto;\n    right: 50%;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.secondary-color {\n    color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background {\n    padding: 20px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .aplus-module-2-topic {\n    padding-bottom: 10px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .aplus-module-2-heading {\n    padding-bottom: 20px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .aplus-module-2-description {\n    line-height: 1.5em;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.white-background {\n    background: rgba(255,255,255,0.5);\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background {\n    background: rgba(0,0,0,0.5);\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h1,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h5,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol .a-list-item,\n.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul .a-list-item {\n  color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-content-container {\n    display: table;\n    height: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container {\n    padding-left: 40px;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container {\n\tpadding-left: 0px;\n\tpadding-right: 40px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container {\n    padding-right: 40px;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container {\n    padding-right: 0px;\n    padding-left: 40px;\n}\n\n.aplus-v2 .premium-aplus-module-2 .premium-intro-content-column {\n    display: table-cell;\n    vertical-align: middle;\n}\n\n\n\u003c\/style\u003e\n  \u003cscript type=\"application\/javascript\"\u003e\n\n    \/**\n     * Common event handler for click and keydown events.\n     * @param {Event} event - The event object.\n     * @param {Function} handleClickOrEnter - Function to handle click or Enter key events.\n     * @param {Function} handleEsc - Function to handle Esc key events.\n     *\/\n    \/\/ [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources\n    function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) {\n        const ENTER_KEY_CODE = 13;\n        const ESCAPE_KEY_CODE = 27;\n        const SPACE_KEY_CODE = 32;\n        const isClick = event.type === 'click';\n        const isKeydown = event.type === 'keydown';\n        const isEnter = isKeydown \u0026\u0026 event.keyCode === ENTER_KEY_CODE;\n        const isSpace = isKeydown \u0026\u0026 event.keyCode === SPACE_KEY_CODE;\n        const isEsc = isKeydown \u0026\u0026 event.keyCode === ESCAPE_KEY_CODE;\n\n        if (isClick || isEnter || isSpace) {\n            handleClickOrEnterOrSpace();\n        } else if (isEsc) {\n            handleEsc(event);\n        }\n    }\n\n    \/**\n    * Function to handle esc key event.\n    * @param {Event} event - The event object.\n    *\/\n    function handleEsc(event) {\n        event.target.blur()  \/\/ force remove focus\n    }\n\n\u003c\/script\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium modules global styles\n *\/\n.aplus-v2.desktop {\n  max-width: 1464px;\n  min-width: 800px;\n  margin-left: auto;\n  margin-right: auto;\n  word-wrap: break-word;\n  overflow-wrap: break-word;\n  word-break: break-word;\n}\n\/* Undo this for tech-specs because it breaks table layout *\/\n.aplus-v2.desktop .premium-aplus .aplus-tech-spec-table { word-break: initial; }\n\n.aplus-v2 .premium-aplus,\n.aplus-v2 .premium-aplus .aplus-h1,\n.aplus-v2 .premium-aplus .aplus-h2,\n.aplus-v2 .premium-aplus .aplus-p1,\n.aplus-v2 .premium-aplus .aplus-p2,\n.aplus-v2 .premium-aplus .aplus-p3,\n.aplus-v2 .premium-aplus .aplus-accent1,\n.aplus-v2 .premium-aplus .aplus-accent2\n{ font-family: Arial, sans-serif; }\n\n.aplus-v2 .premium-aplus,\n.aplus-v2 .premium-aplus .aplus-h1,\n.aplus-v2 .premium-aplus .aplus-h2,\n.aplus-v2 .premium-aplus .aplus-p1,\n.aplus-v2 .premium-aplus .aplus-p2,\n.aplus-v2 .premium-aplus .aplus-p3,\n.aplus-v2 .premium-aplus .aplus-accent1,\n.aplus-v2 .premium-aplus .aplus-accent2\n{ font-family: inherit; }\n\n\/* type *\/\n.aplus-v2 .premium-aplus .aplus-h1 { font-size: 32px; line-height: 1.2em; font-weight: 500; }\n.aplus-v2 .premium-aplus .aplus-h2 { font-size: 26px; line-height: 1.25em; font-weight: 500; }\n.aplus-v2 .premium-aplus .aplus-h3 { font-size: 18px; line-height: 1.25em; font-weight: 500; }\n.aplus-v2 .premium-aplus .aplus-p1 { font-size: 20px; line-height: 1.3em; font-weight: 300; }\n.aplus-v2 .premium-aplus .aplus-p2 { font-size: 16px; line-height: 1.4em; font-weight: 300; }\n.aplus-v2 .premium-aplus .aplus-p3 { font-size: 14px; line-height: 1.4em; font-weight: 300; }\n.aplus-v2 .premium-aplus .aplus-accent1 { font-size: 16px; line-height: 1.4em; font-weight: 600; }\n.aplus-v2 .premium-aplus .aplus-accent2 { font-size: 14px; line-height: 1.4em; font-weight: 600; }\n\n\/* spacing *\/\n.aplus-v2 .aplus-container-1 { padding: 40px; }\n.aplus-v2 .aplus-container-1-2 { padding: 40px 80px; }\n.aplus-v2 .aplus-container-2 { padding: 80px; }\n.aplus-v2 .aplus-container-3 { padding: 40px 0; }\n\n\/* Display *\/\n.aplus-v2 .premium-aplus .aplus-display-table { display: table; }\n.aplus-v2 .premium-aplus .aplus-display-table-cell { display: table-cell; }\n.aplus-v2 .premium-aplus .aplus-display-inline-block { display: inline-block; }\n\n\/* Aplus display table with min-width 1000px and fill remaining space inside parent *\/\n.aplus-v2.desktop .premium-aplus .aplus-display-table-width { min-width: 1000px; width: 100% }\n\n\/**\n* Padding and margin for element should be 10, 20, 40, or 80 px. Considering mini 10, small 20, medium 40, large 80.\n*\/\n\n\u003c\/style\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium-module 11: FAQs\n *\/\n\n.aplus-v2 .premium-aplus-module-11 .aplus-question {\n    line-height: 25px;\n    padding-bottom: 10px;\n}\n\n.aplus-v2 .premium-aplus-module-11 .faq-block {\n    padding: 10px 80px 15px 100px;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-11 .faq-block {\n    padding-left: 80px;\n    padding-right: 100px;\n}\n\n.aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active {\n    padding-bottom: 35px;\n}\n\n.aplus-v2 .premium-aplus-module-11 .aplus-question::before,\n.aplus-v2 .premium-aplus-module-11 .aplus-answer::before {\n    width: 80px;\n    line-height: 40px;\n    font-size: 25px;\n}\n\n.aplus-v2 .premium-aplus-module-11 .faq-arrow {\n    right: 40px;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-11 .faq-arrow {\n    left: 40px;\n}\n\n\u003c\/style\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) {\nP.now('premium-module-11-faq').execute('init-premium-module-11-faq', function(init) {\n    if (init) {\n        return;\n    }\n    P.register('premium-module-11-faq', function() {\n        return function() {\n            P.when('A', 'jQuery', 'ready').execute('premium-11-faq', function(A, $){\n                function initFaq(module) {                   \n                    const MODULE_CLASS_NAME = 'premium-aplus-module-11';\n                    const FAQ_CONTAINER_CLASS_NAME = 'faqs-container';\n                    const FAQ_BLOCK_CLASS_NAME = 'faq-block';\n                    const moduleId = $(module).data('faq-block');\n                    const $faqBlocks = $('.aplus-v2 .' + MODULE_CLASS_NAME + ' .' + FAQ_CONTAINER_CLASS_NAME + '.' + moduleId + ' .' + FAQ_BLOCK_CLASS_NAME);\n\n                    \/**\n                    * Function to handle click or Enter or Space key events.\n                    * @param {Element} element - The this object from which the event is dispatched\n                    * @param {faqBlocks} faqBlocks - List of all the Question and Answer blocks.\n                    *\/\n                    function handleClickOrEnterOrSpace(element, faqBlocks) {\n                        const $element = $(element);\n                        const isActive = $element.hasClass('aplus-active');\n\n                        faqBlocks.removeClass('aplus-active');\n                        faqBlocks.find('[data-faq-question]').attr('aria-expanded', 'false');\n\n                        if (!isActive) {\n                            $element.addClass('aplus-active');\n                            $element.find('[data-faq-question]').attr('aria-expanded', 'true');\n                        }\n                    }\n\n                    \/* Using jQuery event namespace for preventing duplicate binding on twister refresh *\/\n                    $faqBlocks.unbind('click keydown.premiumAplusModule11ClickHandler').bind('click keydown.premiumAplusModule11ClickHandler', function(event) {\n                        handleClickAndKeyEvents(event, () =\u003e handleClickOrEnterOrSpace(this, $faqBlocks)); \n                    });\n                }\n                $(\".aplus-v2 .premium-aplus-module-11 .faqs-container\").each(function(index, module) {\n                    initFaq(module);\n                });\n            });\n        };\n    });\n});\n}));\u003c\/script\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium-module 12: Nav Carousel\n *\/\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-card {\n    position: relative;\n    width: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container {\n    position: relative;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container {\n    \/* Match the aspect ratio of the desktop image uploaded via the editor (1464px x 600px) *\/\n    padding-top: calc(600 \/ 1464 * 100%); \/* ~40.983% *\/\n    height: 0;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container \u003e div {\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n}\n\n\/* Override AUI styles. It poorly attempts to measure the slide heights before waiting until images load. *\/\n.aplus-v2 .premium-aplus-module-12 .a-carousel-viewport {\n    height: 100% !important;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-card-image img {\n    width: 100%;\n    height: auto;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-card-details-wrapper {\n    position: absolute;\n    top: 0;\n    width: 50%;\n    height: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-card-detail {\n    display: table;\n    width: 100%;\n    height: 100%\n}\n\n.aplus-v2 .premium-aplus-module-12 .card-description {\n    text-align: left;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-12 .card-description {\n    text-align: right;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-table-cell {\n    display: table-cell;\n    vertical-align: middle;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background {\n    padding: 20px;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color {\n    background: rgba(0, 0, 0, 0.5);\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h1,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h5,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol .a-list-item,\n.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul .a-list-item {\n    color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-12 .description {\n    margin-top: 20px;\n}\n\n\/* nav *\/\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions {\n    position: absolute;\n    top: 20px;\n    width: 100%;\n    text-align: center;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn {\n    display: inline-block;\n    margin: 7px 10px;\n    cursor: pointer;\n    border-radius: 30px;\n    border: 2px solid #000;\n    line-height: 2.5em;\n    min-width: 200px;\n    background-color: #fff;\n    white-space: nowrap;\n    color: #000;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-index {\n    display: none;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.aplus-active {\n    border-color: #fff;\n    background-color: #000;\n    color: #fff;\n}\n\n\/**\n * Regimen template specific css\n *\/\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen {\n    text-align: right;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen {\n    text-align: right;\n    top: 50%;\n    width: 250px;\n    right: 75px;\n    -webkit-transform: translateY(-50%);\n    -moz-transform: translateY(-50%);\n    -o-transform: translateY(-50%);\n    transform: translateY(-50%);\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen {\n    text-align: left;\n    top: 50%;\n    left: 75px;\n    right: auto;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen {\n    display: inline-block;\n    margin: 10px 10px;\n    cursor: pointer;\n    border-radius: 30px;\n    border: 2px solid #000;\n    width: 220px;\n    background-color: #fff;\n    padding: 2px 0 2px;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active {\n    border-color: #fff;\n    background-color: #000;\n    color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-index {\n    color: inherit;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-label {\n    color: inherit;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index {\n    display: inline-block;\n    width: 12px;\n    color: #000;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-label {\n    color: #000;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index {\n    margin-left: 0px;\n    margin-right: 6px;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    background-color: #000;\n    opacity: 0.5;\n    text-align: center;\n}\n\n.aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen .aplus-headline {\n    color: #fff;\n    line-height: 2em;\n}\n\n\/**\n * Navigation template specific css\n *\/\n\n.aplus-v2 .premium-aplus-module-12--top-nav .aplus-carousel-actions {\n    background-color: rgba(0, 0, 0, 0.8);\n    top: 0px;\n}\n\n.aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn {\n    padding: 8px;\n    color: #fff;\n    background-color: transparent;\n    border: none;\n}\n\n.aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn.aplus-active {\n    text-decoration: underline;\n    text-underline-offset: 0.8em;\n    text-decoration-thickness: 3px;\n    background-color: transparent;\n    border: none;\n}\n\u003c\/style\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium-module 13: Carousel\n *\/\n\n.aplus-v2 .premium-aplus-module-13 .aplus-card-description-wrapper {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-card-description {\n    display: table;\n    width: 50%;\n    height: 100%;\n    color: #fff;\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell {\n    display: table-cell;\n    vertical-align: middle;\n    text-align: left;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell {\n    text-align: right;\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-text-background {\n    background: rgba(0, 0, 0, 0.6);\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-card-body {\n    padding: 20px 40px 0 0;\n}\n\nhtml[dir=\"rtl\"] .aplus-v2 .premium-aplus-module-13 .aplus-card-body {\n    padding: 20px 0 0 40px;\n}\n\n.aplus-v2 .premium-aplus-module-13 .aplus-pagination-wrapper {\n    position: absolute;\n    top: 92%;\n    width: 100%;\n}\n\n\u003c\/style\u003e\n  \u003cstyle type=\"text\/css\"\u003e\n\n\/**\n * Premium-module 8: Hero Video module\n *\/\n\n.aplus-v2 .premium-aplus-module-8 .premium-aplus-module-8-video {\n    position: relative;\n    width: 100%;\n}\n\n.aplus-v2 .premium-aplus-module-8 .video-placeholder {\n    padding-bottom: 40.984%; \/* Video or image required size 1464 : 600 = 40.9836 *\/\n}\n\n.aplus-v2 .premium-aplus-module-8 .video-container {\n    position: absolute;\n    top: 0;\n    width: 100%;\n    height: 100%;\n}\n\n\/*Override the default VSE video player size*\/\n.aplus-v2 .premium-aplus-module-8 .video-js.vjs-fluid {\n    padding: 0;\n}\n\n\u003c\/style\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) {\nP.now('premium-module-12-nav-carousel').execute('init-premium-module-12-nav-carousel', function(init) {\n    if (init) {\n        return;\n    }\n    P.register('premium-module-12-nav-carousel', function(){\n        return function() {\n            P.when('A', 'jQuery', 'a-carousel-framework', 'ready').execute('premium-12-nav-carousel', function (A, $, framework) {\n                function initiateCarousel(module) {\n                    var MODULE_ID = $(module).data('module-id');\n                    \/**\n                    * Carousel button element classname\n                    * @const\n                    *\/\n                    var GOTO_BTN_CLASS_NAME = \"aplus-goto-btn-\" + MODULE_ID;\n                    \/**\n                    * Carousel button element active classname\n                    * @const\n                    *\/\n                    var GOTO_BTN_ACTIVE_CLASS_NAME = \"aplus-active\";\n                    \/**\n                    * AUI name for aui carousel\n                    * @const\n                    *\/\n                    var CAROUSEL_NAME = \"premium-aplus-12-carousel-\" + MODULE_ID;\n                    \/**\n                    * Module class name\n                    * @const\n                    *\/\n                    var MODULE_CLASS_NAME = \".aplus-v2 .premium-aplus-module-12\";\n                    \/**\n                    * Carousel text container class name\n                    * @const\n                    *\/\n                    var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \" .aplus-carousel-text-container-\" + MODULE_ID;\n                    \/**\n                    * Carousel text hidden class name\n                    * @const\n                    *\/\n                    var TEXT_CONTAINER_HIDDEN = \"aplus-hidden\";\n                    \/**\n                    * Carousel horizontal scroll container class name\n                    * @const\n                    *\/\n                    var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \" .aplus-horizontal-scroll-container-\" + MODULE_ID;\n\n                    function showCarouselText(oldIndex, newIndex) {\n                        var oldClass = TEXT_CONTAINER_CLASS_NAME + \"-\" + oldIndex;\n                        var newClass= TEXT_CONTAINER_CLASS_NAME + \"-\" + newIndex;\n                        $(oldClass).addClass(TEXT_CONTAINER_HIDDEN);\n                        $(newClass).removeClass(TEXT_CONTAINER_HIDDEN);\n                    }\n\n                    function scrollToCarouselButton(scrollLeft) {\n                        if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) {\n                            $(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}, 200);\n                        }\n                    }\n\n                    \/**\n                    * Creates a CarouselButton class for provided carousel instance\n                    * @param {object} carousel - AUI Carousel instance\n                    * @returns {Class} - CarouselButton Class\n                    *\/\n                    function CarouselButtonTemplate(carousel) {\n                        \/**\n                        * Button for controlling the active slide\n                        * @constructor\n                        * @param {number} index - slide index\n                        * @param {DOMElement} [elem] - optional DOM element to use as this objects DOM representation\n                        *\/\n                        function CarouselButton(index, elem) {\n                            var self = this;\n                            this.index = index;\n                            this.carousel = carousel;\n\n                            \/* create the button element *\/\n                            this.elem = this.getElem(elem);\n                            this.$elem = $(this.elem);  \/* store jquery version *\/\n                            this.elem.addEventListener('click', self.handleClick.bind(self));\n                            this.elem.setAttribute('role', 'tab');\n\n                            \/* add this object to the object manager *\/\n                            CarouselButton.objects.byId[index] = this;\n                            CarouselButton.objects.all.push(this);\n                        }\n\n                        \/**\n                        * Describe behavior for click events on this.elem\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.handleClick = function(e) {\n                            e.preventDefault();\n                            this.carousel.gotoPage(this.index);\n                        };\n\n                        \/**\n                        * Enter active state\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.activate = function() {\n                            this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'true');\n                        };\n\n                        \/**\n                        * Enter inactive state\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.deactivate = function() {\n                            this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'false');\n                        };\n\n                        \/**\n                        * Returns an existing or creates a new bound element for this object\n                        * @memberOf CarouselButton\n                        * @param {DOMElement} [elem] - optionally provide an existing element in the DOM to use\n                        * @returns {DOMElement} - this objects DOM representation\n                        *\/\n                        CarouselButton.prototype.getElem = function(elem) {\n                            if (this.elem) return this.elem;\n                            if (elem) return elem;\n\n                            var createdElem = document.createElement('span');\n                            createdElem.className = GOTO_BTN_CLASS_NAME;\n\n                            return createdElem;\n                        };\n\n                        \/** @const Object manager *\/\n                        CarouselButton.objects = {\n                            byId: {},\n                            all: [],\n                        };\n\n                        return CarouselButton;\n                    }\n\n                    framework.onInit(CAROUSEL_NAME, function(carousel) {\n                        \/** @const {Class} *\/\n                        var CarouselButton = CarouselButtonTemplate(carousel);\n\n                        \/* create carousel controls *\/\n                        var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME));\n                        var btns = $carouselBtns.map(function(i, btnElem) {\n                            return new CarouselButton(i + 1, btnElem);\n                        });\n\n                        \/* activate first one *\/\n                        CarouselButton.objects.byId[1].activate();\n\n                        \/* Listen to slide changes *\/\n                        A.on(\"a:carousel:\" + CAROUSEL_NAME + \":change:pageNumber\", function (data) {\n                            var newCarouselButton = CarouselButton.objects.byId[data.newValue];\n                            var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue('margin-left'));\n                            var positionLeft = newCarouselButton.elem.offsetLeft - marginLeft;\n\n                            newCarouselButton.activate();\n                            CarouselButton.objects.byId[data.oldValue].deactivate();\n                            scrollToCarouselButton(positionLeft);\n                            showCarouselText(data.oldValue, data.newValue);\n                        });\n                    });\n\n                    \/**\n                    * @returns {string} - css classname prefixed with module selector\n                    *\/\n                    function safeClassSelector(className) {\n                        return '.' + MODULE_CLASS_NAME + ' .' + className;\n                    }\n                }\n\n                $('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index, module) {\n                    initiateCarousel(module);\n                });\n                framework.createAll();\n                framework.initializeAll();\n            });\n        }\n    })\n});\n}));\u003c\/script\u003e\n  \u003cdiv class=\"aplus-content-wrapper\"\u003e\n   \u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-slot-id=\"aplus-module-premium-module-8-hero-video-1\" data-csa-c-content-id=\"amzn1.aplus.94e654ab-a9ac-4422-9a39-8e071f3ddac4:1789376650864.b89d6a7d-01e3-4e6a-a117-1668464c797d.en_US\"\u003e\n    \u003cdiv class=\"celwidget aplus-module premium-module-8-hero-video aplus-premium\" cel_widget_id=\"aplus-premium-module-8-hero-video\"\u003e\n     \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-8\"\u003e\n      \u003cdiv class=\"a-section a-spacing-none premium-aplus-module-8-video\"\u003e\n       \u003cdiv class=\"a-section a-spacing-none video-placeholder\"\u003e\u003c\/div\u003e\n       \u003cdiv class=\"a-section a-spacing-none video-container\"\u003e\n        \u003cstyle type=\"text\/css\"\u003e\n\n.aplus-v2 .vse-video-player-title,  .aplus-v2 .vse-lightPlayer-vendor{\n    display:none;\n}\n\n#aplus .vse-video-player-title,  #aplus .vse-lightPlayer-vendor{\n    display:none;\n}\n\n\n.aplus-video-player-container {\n    width: 100%;\n    height: 100%;\n    position: relative;\n    z-index: 0;\n}\n\n.aplus-video-player-container .inline-py {\n    border-radius: unset;\n}\n\n\u003c\/style\u003e\n        \u003cdiv id=\"d8713680-af01-416d-9173-c91ae9db573a\" class=\"aplus-video-player-container\"\u003e\u003c\/div\u003e\n        \u003cscript type=\"text\/javascript\"\u003e(function(f) {var _np=(window.P._namespace(\"AplusVideo\"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {\n                P.when(\"aplus-video-init\").execute(\"AplusVideoInit-d8713680-af01-416d-9173-c91ae9db573a\", function (initVideo) {\n                    initVideo({\n                        parentId: \"d8713680-af01-416d-9173-c91ae9db573a\",\n                        videoUrl: \"https:\\\/\\\/m.media\\-amazon.com\\\/images\\\/S\\\/vse\\-vms\\-transcoding\\-artifact\\-us\\-east\\-1\\-prod\\\/e3603368\\-f44a\\-4fef\\-b88d\\-23964f5fdf5f\\\/default.jobtemplate.hls.m3u8\",\n                        contentId: \"\",\n                        vmsContentId: \"047e2488fce1470d85c86397e1edb91f\",\n                        poster: \"https:\\\/\\\/m.media\\-amazon.com\\\/images\\\/S\\\/aplus\\-media\\-library\\-service\\-media\\\/41eed79a\\-9c15\\-41a9\\-b51b\\-cc6d6aeadff5.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\",\n                        playbackMode: \"DEFAULT\",\n                        locale: \"en\\-US\",\n                        closedCaptions: \"\",\n                        deviceIdentifier: \"\",\n                        devicePlatform: \"desktop_web\"\n                    });\n                });\n            }));\u003c\/script\u003e\n       \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"a-section a-text-center\"\u003e\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-slot-id=\"aplus-module-premium-module-2-fullbackground-image-2\" data-csa-c-content-id=\"amzn1.aplus.94e654ab-a9ac-4422-9a39-8e071f3ddac4:1789376650864.f643417c-4437-483e-a2a0-be08f6ceaf8c.en_US\"\u003e\n    \u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\" cel_widget_id=\"aplus-premium-module-2-fullbackground-image\"\u003e\n     \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n      \u003ch1 class=\"a-text-center aplus-container-3 aplus-h1 a-text-bold\"\u003eQ20 Ultra Robot Vacuum: Upgrade to Hands-Free, Bagless Self-Emptying\u003c\/h1\u003e\n      \u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n       \u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\n        \u003cimg alt=\"robot vacuum pet hair\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/03eb8b55-9e69-41a1-b533-8727b791d4b5.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/03eb8b55-9e69-41a1-b533-8727b791d4b5.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n        \u003cnoscript\u003e\n         \u003cimg alt=\"robot vacuum pet hair\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/03eb8b55-9e69-41a1-b533-8727b791d4b5.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n        \u003c\/noscript\u003e\n       \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"a-section a-text-center\"\u003e\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-slot-id=\"aplus-module-premium-module-13-carousel-3\" data-csa-c-content-id=\"amzn1.aplus.94e654ab-a9ac-4422-9a39-8e071f3ddac4:1789376650864.2b285d48-c37d-4368-9d76-463bab25cc37.en_US\"\u003e\n    \u003cdiv class=\"celwidget aplus-module premium-module-13-carousel aplus-premium\" cel_widget_id=\"aplus-premium-module-13-carousel\"\u003e\n     \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-13\"\u003e\n      \u003ch1 class=\"aplus-container-3 aplus-h1 a-text-bold\"\u003e45-Day Self-Emptying \u0026amp; LiDar Navigation \u0026amp; 3-in-1 Sweeping,Vacuuming, and Mopping\u003c\/h1\u003e\n      \u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n       \u003cdiv id=\"premium-aplus-13-carousel-2-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-2\"}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" 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\n           \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\n          \u003c\/div\u003e\n          \u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n           \u003cdiv class=\"a-carousel-viewport\" aria-roledescription=\"slide\"\u003e\n            \u003col class=\"a-carousel\" role=\"list\"\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"3\"\u003e\n              \u003cdiv id=\"premium-aplus-13-carousel-2-slide-0\"\u003e\n               \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n                \u003cdiv style=\"aspect-ratio: 1464 \/ 600; line-height: 0;\"\u003e\n                 \u003cimg alt=\"robot vacuum and mop combo\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/3d64adf3-f03e-4677-81b7-c9a37b648d64.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n                \u003c\/div\u003e\n               \u003c\/div\u003e\n              \u003c\/div\u003e\n             \u003c\/li\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"3\"\u003e\n              \u003cdiv id=\"premium-aplus-13-carousel-2-slide-1\"\u003e\n               \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n                \u003cdiv style=\"aspect-ratio: 1464 \/ 600; line-height: 0;\"\u003e\n                 \u003cimg alt=\"bagless robot vacuum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/345db05c-a646-4c8e-9081-9db1c448cb52.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n                \u003c\/div\u003e\n               \u003c\/div\u003e\n              \u003c\/div\u003e\n             \u003c\/li\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"3\"\u003e\n              \u003cdiv id=\"premium-aplus-13-carousel-2-slide-2\"\u003e\n               \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n                \u003cdiv style=\"aspect-ratio: 1464 \/ 600; line-height: 0;\"\u003e\n                 \u003cimg alt=\"robot vacuum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/0e4b8bf4-d816-4a00-83f2-21b3fabf7c5a.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n                \u003c\/div\u003e\n               \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\n           \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\n          \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\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        \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\" aria-label=\"tablist-section\" role=\"tablist\"\u003e\n           \u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block aplus-carousel-active\" aria-selected=\"true\" data-action=\"aplus-pagination-dot-action-2-premium-aplus-13-carousel-2\" data-aplus-pagination-dot-action-2-premium-aplus-13-carousel-2='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-2-slide-0\" tabindex=\"0\" role=\"tab\"\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 \" aria-selected=\"false\" data-action=\"aplus-pagination-dot-action-2-premium-aplus-13-carousel-2\" data-aplus-pagination-dot-action-2-premium-aplus-13-carousel-2='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-2-slide-1\" tabindex=\"-1\" role=\"tab\"\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 \" aria-selected=\"false\" data-action=\"aplus-pagination-dot-action-2-premium-aplus-13-carousel-2\" data-aplus-pagination-dot-action-2-premium-aplus-13-carousel-2='{\"page\": 3}' aria-label=\"slide-3\" aria-controls=\"premium-aplus-13-carousel-2-slide-2\" tabindex=\"-1\" role=\"tab\"\u003e\u003c\/span\u003e\u003c\/li\u003e\n          \u003c\/ul\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\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   \u003c\/div\u003e\n   \u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-slot-id=\"aplus-module-premium-module-12-nav-carousel-4\" data-csa-c-content-id=\"amzn1.aplus.94e654ab-a9ac-4422-9a39-8e071f3ddac4:1789376650864.829457b1-649f-4bbe-80bb-5669e9853e16.en_US\"\u003e\n    \u003cdiv class=\"celwidget aplus-module premium-module-12-nav-carousel aplus-premium\" cel_widget_id=\"aplus-premium-module-12-nav-carousel\"\u003e\n     \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-12 premium-aplus-module-12--top-nav\"\u003e\n      \u003cdiv data-module-id=\"3\" class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n       \u003cdiv id=\"premium-aplus-12-carousel-3-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-12-carousel-3\"}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular aplus-image-carousel-container\"\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\n           \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\n          \u003c\/div\u003e\n          \u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n           \u003cdiv class=\"a-carousel-viewport\" aria-roledescription=\"slide\"\u003e\n            \u003col class=\"a-carousel\" role=\"list\"\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"3\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"rumba robots vacuum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/5d5d7874-a1fa-4aa4-aa7b-e39c7842e180.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n              \u003c\/div\u003e\n             \u003c\/li\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"3\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"vacuum robot\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/ff03c1fc-2da7-4434-a28b-fb5ed0c8e4cf.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n              \u003c\/div\u003e\n             \u003c\/li\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"3\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"roomba\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b693dbab-3557-4c3b-b05b-d38255197a54.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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\n           \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\n          \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 id=\"aplus-carousel-actions-3\" aria-label=\"tablist section\" class=\"a-section aplus-carousel-actions\" role=\"tablist\"\u003e\n        \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-3 aplus-active\" role=\"tab\" tabindex=\"0\" aria-selected=\"true\"\u003e\u003cspan class=\"aplus-carousel-index\"\u003e1\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003e6000 Pa Powerful Suction\u003c\/span\u003e\u003c\/button\u003e\n        \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-3 \" role=\"tab\" tabindex=\"0\" aria-selected=\"false\"\u003e\u003cspan class=\"aplus-carousel-index\"\u003e2\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003eMulti-Floor Mapping\u003c\/span\u003e\u003c\/button\u003e\n        \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-3 \" role=\"tab\" tabindex=\"0\" aria-selected=\"false\"\u003e\u003cspan class=\"aplus-carousel-index\"\u003e3\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003eDust Filtration System\u003c\/span\u003e\u003c\/button\u003e\n       \u003c\/div\u003e\n      \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-module-12-nav-carousel').execute('invoke-premium-12-nav-carousel-desktop-top', function(init){\n        init();\n    });\n}));\u003c\/script\u003e\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-slot-id=\"aplus-module-premium-module-3-four-column-images-5\" data-csa-c-content-id=\"amzn1.aplus.94e654ab-a9ac-4422-9a39-8e071f3ddac4:1789376650864.43e27a7c-cb45-4218-91ca-6539a2308f02.en_US\"\u003e\n    \u003cdiv class=\"celwidget aplus-module premium-module-3-four-column-images aplus-premium\" cel_widget_id=\"aplus-premium-module-3-four-column-images\"\u003e\n     \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-3 aplus-container-1\"\u003e\n      \u003ch1 class=\"a-text-center premium-module-3-heading aplus-h1 a-text-bold\"\u003e\u003c\/h1\u003e\n      \u003cdiv class=\"a-section a-spacing-none premium-aplus-four-column\"\u003e\n       \u003cdiv class=\"a-section a-spacing-none premium-aplus-column\"\u003e\n        \u003cdiv class=\"a-section a-spacing-none {'column-image'}\"\u003e\n         \u003cimg alt=\"roomba\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/d42008de-7b8d-43b6-951f-b08bc8134a34.__CR0,0,300,225_PT0_SX300_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/d42008de-7b8d-43b6-951f-b08bc8134a34.__CR0,0,300,225_PT0_SX300_V1___.jpg\"\u003e\n         \u003cnoscript\u003e\n          \u003cimg alt=\"roomba\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/d42008de-7b8d-43b6-951f-b08bc8134a34.__CR0,0,300,225_PT0_SX300_V1___.jpg\"\u003e\n         \u003c\/noscript\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"a-section a-spacing-none column-heading\"\u003e\n         \u003ch1 class=\"aplus-h3 a-text-bold\"\u003eMatrix Cleaning Path\u003c\/h1\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"a-section a-spacing-none column-description\"\u003e\n         \u003cp class=\"aplus-p3\"\u003eCleans in a precision matrix grid - no spots missed.\u003c\/p\u003e\n        \u003c\/div\u003e\n       \u003c\/div\u003e\n       \u003cdiv class=\"a-section a-spacing-none premium-aplus-column\"\u003e\n        \u003cdiv class=\"a-section a-spacing-none {'column-image'}\"\u003e\n         \u003cimg alt=\"shark robot vacuum\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b80811a0-d848-410f-8b26-496598fdef81.__CR0,0,300,225_PT0_SX300_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b80811a0-d848-410f-8b26-496598fdef81.__CR0,0,300,225_PT0_SX300_V1___.jpg\"\u003e\n         \u003cnoscript\u003e\n          \u003cimg alt=\"shark robot vacuum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b80811a0-d848-410f-8b26-496598fdef81.__CR0,0,300,225_PT0_SX300_V1___.jpg\"\u003e\n         \u003c\/noscript\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"a-section a-spacing-none column-heading\"\u003e\n         \u003ch1 class=\"aplus-h3 a-text-bold\"\u003e150-Minute Runtime\u003c\/h1\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"a-section a-spacing-none column-description\"\u003e\n         \u003cp class=\"aplus-p3\"\u003eCleans up to \u003cspan class=\"a-text-bold\"\u003e2,000 sq ft (180 m²)\u003c\/span\u003e on a full charge in ECO mode.\u003c\/p\u003e\n        \u003c\/div\u003e\n       \u003c\/div\u003e\n       \u003cdiv class=\"a-section a-spacing-none premium-aplus-column\"\u003e\n        \u003cdiv class=\"a-section a-spacing-none {'column-image'}\"\u003e\n         \u003cimg alt=\"airzeen robot vacuum and mop\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/e0dfd4d5-f80c-478c-86ec-5d3111fc4826.__CR0,0,300,225_PT0_SX300_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/e0dfd4d5-f80c-478c-86ec-5d3111fc4826.__CR0,0,300,225_PT0_SX300_V1___.jpg\"\u003e\n         \u003cnoscript\u003e\n          \u003cimg alt=\"airzeen robot vacuum and mop\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/e0dfd4d5-f80c-478c-86ec-5d3111fc4826.__CR0,0,300,225_PT0_SX300_V1___.jpg\"\u003e\n         \u003c\/noscript\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"a-section a-spacing-none column-heading\"\u003e\n         \u003ch1 class=\"aplus-h3 a-text-bold\"\u003eAuto Carpet Boost\u003c\/h1\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"a-section a-spacing-none column-description\"\u003e\n         \u003cp class=\"aplus-p3\"\u003eAutomatically increases suction up to \u003cspan class=\"a-text-bold\"\u003e6000Pa\u003c\/span\u003e when carpet is detected.\u003c\/p\u003e\n        \u003c\/div\u003e\n       \u003c\/div\u003e\n       \u003cdiv class=\"a-section a-spacing-none premium-aplus-column\"\u003e\n        \u003cdiv class=\"a-section a-spacing-none {'column-image'}\"\u003e\n         \u003cimg alt=\"robotic vacuum for pet hair\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9d324f63-4a39-4ce0-b170-5df5885f31e6.__CR0,0,300,225_PT0_SX300_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9d324f63-4a39-4ce0-b170-5df5885f31e6.__CR0,0,300,225_PT0_SX300_V1___.jpg\"\u003e\n         \u003cnoscript\u003e\n          \u003cimg alt=\"robotic vacuum for pet hair\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9d324f63-4a39-4ce0-b170-5df5885f31e6.__CR0,0,300,225_PT0_SX300_V1___.jpg\"\u003e\n         \u003c\/noscript\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"a-section a-spacing-none column-heading\"\u003e\n         \u003ch1 class=\"aplus-h3 a-text-bold\"\u003e15 mm Obstacle Clearance\u003c\/h1\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"a-section a-spacing-none column-description\"\u003e\n         \u003cp class=\"aplus-p3\"\u003eEasily crosses \u003cspan class=\"a-text-bold\"\u003e15 mm\u003c\/span\u003e-high thresholds and climbs \u003cspan class=\"a-text-bold\"\u003e15°\u003c\/span\u003e slopes.\u003c\/p\u003e\n        \u003c\/div\u003e\n       \u003c\/div\u003e\n      \u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-slot-id=\"aplus-module-premium-module-12-nav-carousel-6\" data-csa-c-content-id=\"amzn1.aplus.94e654ab-a9ac-4422-9a39-8e071f3ddac4:1789376650864.6d957a87-f1bd-4fab-b151-97c8880f0a52.en_US\"\u003e\n    \u003cdiv class=\"celwidget aplus-module premium-module-12-nav-carousel aplus-premium\" cel_widget_id=\"aplus-premium-module-12-nav-carousel\"\u003e\n     \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-12 premium-aplus-module-12--top-nav\"\u003e\n      \u003cdiv data-module-id=\"5\" class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n       \u003cdiv id=\"premium-aplus-12-carousel-5-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-12-carousel-5\"}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular aplus-image-carousel-container\"\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\n           \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\n          \u003c\/div\u003e\n          \u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n           \u003cdiv class=\"a-carousel-viewport\" aria-roledescription=\"slide\"\u003e\n            \u003col class=\"a-carousel\" role=\"list\"\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"4\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"roomba vacuum and mop combo\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/508152c6-b956-4be0-94ae-a13b791974bf.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n              \u003c\/div\u003e\n             \u003c\/li\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"4\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"vacuum robot\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/f54e9b95-4de0-4a6c-a6f7-a0e7e3c6928e.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n              \u003c\/div\u003e\n             \u003c\/li\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"4\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"eufy robot vacuum\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/84256873-6d80-40de-ba96-aad965def9de.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n              \u003c\/div\u003e\n             \u003c\/li\u003e\n             \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-card\" aria-setsize=\"4\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"robot vacuum and mop self emptying\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/221afc66-0a16-4542-a94d-5255fb4d4f6b.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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\n           \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\n          \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 id=\"aplus-carousel-actions-5\" aria-label=\"tablist section\" class=\"a-section aplus-carousel-actions\" role=\"tablist\"\u003e\n        \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-5 aplus-active\" role=\"tab\" tabindex=\"0\" aria-selected=\"true\"\u003e\u003cspan class=\"aplus-carousel-index\"\u003e1\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003eAPP \u0026amp; Voice Control\u003c\/span\u003e\u003c\/button\u003e\n        \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-5 \" role=\"tab\" tabindex=\"0\" aria-selected=\"false\"\u003e\u003cspan class=\"aplus-carousel-index\"\u003e2\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003eWi-Fi Connection\u003c\/span\u003e\u003c\/button\u003e\n        \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-5 \" role=\"tab\" tabindex=\"0\" aria-selected=\"false\"\u003e\u003cspan class=\"aplus-carousel-index\"\u003e3\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003eFAQ\u003c\/span\u003e\u003c\/button\u003e\n        \u003cbutton class=\"aplus-goto-btn aplus-goto-btn-5 \" role=\"tab\" tabindex=\"0\" aria-selected=\"false\"\u003e\u003cspan class=\"aplus-carousel-index\"\u003e4\u003c\/span\u003e \u003cspan class=\"aplus-accent2 aplus-carousel-label\"\u003eFAQ\u003c\/span\u003e\u003c\/button\u003e\n       \u003c\/div\u003e\n      \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-module-12-nav-carousel').execute('invoke-premium-12-nav-carousel-desktop-top', function(init){\n        init();\n    });\n}));\u003c\/script\u003e\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-slot-id=\"aplus-module-premium-module-11-faq-7\" data-csa-c-content-id=\"amzn1.aplus.94e654ab-a9ac-4422-9a39-8e071f3ddac4:1789376650864.1064ef6a-1bca-4423-9564-c4b22f332189.en_US\"\u003e\n    \u003cdiv class=\"celwidget aplus-module premium-module-11-faq aplus-premium\" cel_widget_id=\"aplus-premium-module-11-faq\"\u003e\n     \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-11\"\u003e\n      \u003cdiv data-faq-block=\"6\" class=\"a-section a-spacing-none aplus-container-2 faqs-container 6\"\u003e\n       \u003cul class=\"faq-list\"\u003e\n        \u003cli id=\"faq-qa-pair-0\" class=\"faq-block\"\u003e\n         \u003ch3\u003e\u003cspan data-faq-question role=\"button\" tabindex=\"0\" aria-controls=\"faq-0\" aria-expanded=\"false\"\u003e \n           \u003cp class=\"aplus-question aplus-p1\"\u003eHow to connect the robot vacuum to Wi-Fi? Does it support 5GHz Wi-Fi?\u003c\/p\u003e \n           \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e \n          \u003c\/span\u003e\u003c\/h3\u003e\n         \u003cp class=\"aplus-answer aplus-p2\"\u003ePlease follow the Quick Start Guide to download the app, and connect the robot to WiFi.\u003c\/p\u003e\n         \u003cp class=\"aplus-answer aplus-p2\"\u003ePlease note that the Q20 Ultra robot vacuum only supports 2.4GHz Wi-Fi networks , not 5 GHz.\u003c\/p\u003e\n        \u003c\/li\u003e\n        \u003cli id=\"faq-qa-pair-1\" class=\"faq-block\"\u003e\n         \u003ch3\u003e\u003cspan data-faq-question role=\"button\" tabindex=\"0\" aria-controls=\"faq-1\" aria-expanded=\"false\"\u003e \n           \u003cp class=\"aplus-question aplus-p1\"\u003eHow long can the robot vacuum run on a full charge?\u003c\/p\u003e \n           \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e \n          \u003c\/span\u003e\u003c\/h3\u003e\n         \u003cp class=\"aplus-answer aplus-p2\"\u003eThe runtime varies by cleaning mode. The robot vacuum can operate for up to 150 minutes in ECO mode, 100 minutes in Standard mode, and 60 minutes in Max (Strong) mode on a full charge.\u003c\/p\u003e\n        \u003c\/li\u003e\n        \u003cli id=\"faq-qa-pair-2\" class=\"faq-block\"\u003e\n         \u003ch3\u003e\u003cspan data-faq-question role=\"button\" tabindex=\"0\" aria-controls=\"faq-2\" aria-expanded=\"false\"\u003e \n           \u003cp class=\"aplus-question aplus-p1\"\u003eWhat should I do if the robot vacuum cannot return to the charging base?\u003c\/p\u003e \n           \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e \n          \u003c\/span\u003e\u003c\/h3\u003e\n         \u003cp class=\"aplus-answer aplus-p2\"\u003eThe robot’s ability to dock may be affected by its surroundings. If the robot fails to return to the charging base, please place it about 3 feet (1 meter) in front of the base and press the “Recharge”button to help it reconnect and dock correctly.\u003c\/p\u003e\n        \u003c\/li\u003e\n        \u003cli id=\"faq-qa-pair-3\" class=\"faq-block\"\u003e\n         \u003ch3\u003e\u003cspan data-faq-question role=\"button\" tabindex=\"0\" aria-controls=\"faq-3\" aria-expanded=\"false\"\u003e \n           \u003cp class=\"aplus-question aplus-p1\"\u003eCan I place the charging base on carpet?\u003c\/p\u003e \n           \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e \n          \u003c\/span\u003e\u003c\/h3\u003e\n         \u003cp class=\"aplus-answer aplus-p2\"\u003eNo. We recommend placing the charging base on a hard, flat surface against a wall, in a cool area with no surrounding obstacles. This helps ensure stable charging and reliable docking performance.\u003c\/p\u003e\n        \u003c\/li\u003e\n        \u003cli id=\"faq-qa-pair-4\" class=\"faq-block\"\u003e\n         \u003ch3\u003e\u003cspan data-faq-question role=\"button\" tabindex=\"0\" aria-controls=\"faq-4\" aria-expanded=\"false\"\u003e \n           \u003cp class=\"aplus-question aplus-p1\"\u003eCan I add cleaning solution to the water tank?\u003c\/p\u003e \n           \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e \n          \u003c\/span\u003e\u003c\/h3\u003e\n         \u003cp class=\"aplus-answer aplus-p2\"\u003eNo. Please do not add any cleaning solutions to the water tank. They can corrode the pump, and foam may clog the outlet, affecting operation and potentially damaging the robot.\u003c\/p\u003e\n        \u003c\/li\u003e\n       \u003c\/ul\u003e\n      \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-module-11-faq').execute('invoke-premium-11-faq', function(init){\n        init();\n    });\n}));\u003c\/script\u003e\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cdiv id=\"feature-bullets\" class=\"a-section a-spacing-medium a-spacing-top-small\"\u003e\n \u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 𝐁𝐚𝐠𝐥𝐞𝐬𝐬 𝐒𝐞𝐥𝐟-𝐄𝐦𝐩𝐭𝐲𝐢𝐧𝐠 𝐂𝐨𝐧𝐯𝐞𝐧𝐢𝐞𝐧𝐜𝐞 ➤Enjoy up to 45 days of hassle-free cleaning while saving $70+ a year and reducing waste. The robot vacuum automatically empties into its reusable dust cup that’s easy to rinse and reuse \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 𝐒𝐦𝐚𝐫𝐭 𝐋𝐢𝐃𝐀𝐑 𝐍𝐚𝐯𝐢𝐠𝐚𝐭𝐢𝐨𝐧 \u0026amp; 𝐌𝐚𝐩𝐩𝐢𝐧𝐠 ➤Advanced LiDAR navigation scans your home 360° to create precise maps and plan efficient cleaning routes. It supports up to 5 maps for multi-level homes and uses multiple sensors to detect walls, stairs, and obstacles—reducing missed spots and collisions \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 𝟔𝟎𝟎𝟎𝐏𝐚 𝐇𝐲𝐩𝐞𝐫𝐟𝐨𝐫𝐜𝐞 𝐒𝐮𝐜𝐭𝐢𝐨𝐧 ➤The Q20 Ultra robot vacuum cleaner delivers up to 6000Pa of strong suction to effortlessly lift dust, pet hair, kitty litter, and food crumbs from hardwood floors, tiles, and low-pile carpets. Featuring 3 adjustable suction levels for both light and deep cleaning needs \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 𝟒 -𝐢𝐧-𝟏 𝐂𝐥𝐞𝐚𝐧𝐢𝐧𝐠 𝐒𝐲𝐬𝐭𝐞𝐦 ➤Vacuum, sweep, mop, and self-empty all in one intelligent robot vacuum and mop combo. With its 2-in-1 dustbin and water tank, it vacuums and mops simultaneously, cutting cleaning time by up to 50% (Tip: Remove the mop holder before cleaning carpets to avoid wetting) \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 𝐀𝐏𝐏 \u0026amp; 𝐕𝐨𝐢𝐜𝐞 𝐂𝐨𝐧𝐭𝐫𝐨𝐥 ➤With the Honysmart App, your airzeen robot vacuum self emptying becomes fully customizable - Easily set cleaning schedules, create no-go zones and virtual walls, target specific rooms, and adjust suction and water flow to fit your needs. Works with Alexa and Google Assistant (2.4GHz WiFi only) \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 𝟏𝟓𝟎-𝐌𝐢𝐧𝐮𝐭𝐞 𝐑𝐮𝐧𝐭𝐢𝐦𝐞 𝐰𝐢𝐭𝐡 𝐀𝐮𝐭𝐨 𝐑𝐞𝐜𝐡𝐚𝐫𝐠𝐞 \u0026amp; 𝐑𝐞𝐬𝐮𝐦𝐞 ➤Clean more on a single charge with up to 150 minutes of runtime in ECO Mode. Low battery? No problem— the robotic vacuum and mop automatically recharges and picks up right where it left off, ensuring no area is missed \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 𝐏𝐞𝐫𝐟𝐞𝐜𝐭 𝐟𝐨𝐫 𝐅𝐚𝐦𝐢𝐥𝐲 \u0026amp; 𝐅𝐫𝐢𝐞𝐧𝐝𝐬 ➤The Q20 Ultra robot vacuum helps reduce the time spent on daily cleaning, giving you and your loved ones more time to relax, enjoy life, and create lasting memories together \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 𝐑𝐞𝐥𝐢𝐚𝐛𝐥𝐞 𝐒𝐮𝐩𝐩𝐨𝐫𝐭 ➤If you have any questions or experience any issues while using the robot vacuum, feel free to contact us. Compatible accessories are available in the Airzeen Brand Store for reference \u003c\/span\u003e\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003cdiv data-csa-c-content-id=\"voyager-product-details-jumplink\" data-csa-c-slot-id=\"voyager-product-details-jumplink\" data-csa-c-type=\"link\" class=\"a-section aok-hidden\"\u003e\n  \u003cspan class=\"caretnext\"\u003e›\u003c\/span\u003e \u003ca id=\"seeMoreDetailsLink\" class=\"a-link-normal\" href=\"#productDetails\"\u003e See more product details \u003c\/a\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cdiv class=\"a-section a-spacing-small a-spacing-top-small\"\u003e\n \u003ctable class=\"a-normal a-spacing-micro\" role=\"list\"\u003e\n  \u003ctbody\u003e\n   \u003ctr class=\"a-spacing-small po-brand\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eBrand\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eAirzeen\u003c\/span\u003e\u003c\/td\u003e\n   \u003c\/tr\u003e\n   \u003ctr class=\"a-spacing-small po-model_name\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eModel Name\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eQ20 Ultra\u003c\/span\u003e\u003c\/td\u003e\n   \u003c\/tr\u003e\n   \u003ctr class=\"a-spacing-small po-surface_recommendation\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eSurface Recommendation\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eWooden Floor\/ Hard Floor\/ Low-piled Carpet\/ Ceremic\u003c\/span\u003e\u003c\/td\u003e\n   \u003c\/tr\u003e\n   \u003ctr class=\"a-spacing-small po-special_feature\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eSpecial Feature\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\n     \u003cscript type=\"text\/javascript\"\u003e(function(f) {var _np=(window.P._namespace(\"DetailPageProductOverviewTemplatesJava\"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {\n    P.when('A').execute(function(A){\n    A.on('a:truncate:po-attribute-truncate-3:updated', function(data) {\n    var isTruncated = !data.truncateInstance.getIfTextFits();\n    var seeMoreElement = document.getElementById('po-attribute-see-more-id-3');\n    if(seeMoreElement) {\n    seeMoreElement.style.display = isTruncated ?  ''  :  'none';\n    }\n    })\n    });\n}));\u003c\/script\u003e\n     \u003cspan class=\"a-size-base\"\u003e \u003cspan class=\"a-truncate po-truncate-attribute\" data-a-word-break=\"normal\" data-a-truncate-name=\"po-attribute-truncate-3\" data-a-max-rows=\"3\" data-a-overflow-marker=\"\u0026amp;hellip;\" style=\"line-height: 1.3em !important; max-height: 3.9em;\"\u003e\u003cspan class=\"a-truncate-full\"\u003eAuto Recharge \u0026amp; Resume, Bagless Self-Emptying, Customizable Cleaning Settings, Smart LiDAR Navigation \u0026amp; Mapping, Vacuum \u0026amp; Sweep \u0026amp; Mop \u0026amp; Self-Empty\u003c\/span\u003e\u003cspan class=\"a-truncate-cut a-hidden\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"a-declarative\" data-action=\"a-modal\" data-a-modal='{\"width\":\"800\",\"max-height\":\"400\",\"header\":\"Special Feature\",\"inlineContent\":\"Auto Recharge \u0026amp;amp; Resume, Bagless Self-Emptying, Customizable Cleaning Settings, Smart LiDAR Navigation \u0026amp;amp; Mapping, Vacuum \u0026amp;amp; Sweep \u0026amp;amp; Mop \u0026amp;amp; Self-Empty\"}' id=\"po-attribute-see-more-id-3\"\u003e \u003ca href=\"javascript:void(0)\" role=\"button\" class=\"a-popover-trigger a-declarative\"\u003eSee more\u003ci class=\"a-icon a-icon-popover\"\u003e\u003c\/i\u003e\u003c\/a\u003e \u003c\/span\u003e\n    \u003c\/td\u003e\n   \u003c\/tr\u003e\n   \u003ctr class=\"a-spacing-small po-color\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eColor\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eBlack\u003c\/span\u003e\u003c\/td\u003e\n   \u003c\/tr\u003e\n  \u003c\/tbody\u003e\n \u003c\/table\u003e\n\u003c\/div\u003e\u003c\/div\u003e","brand":"Deal Supplies","offers":[{"title":"Medium \/ Black","offer_id":50851947479233,"sku":"B0H6G1DVT5","price":374.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0045\/8909\/2957\/files\/81hhLUuZrML._AC_SL1500.jpg?v=1793225928","url":"https:\/\/shop.dealsupplies.com\/products\/airzeen-bagless-robot-vacuum-and-mop-self-emptying-for-pet-hair-carpet","provider":"Deal Supplies","version":"1.0","type":"link"}