{"product_id":"portable-camping-shower-portable-shower-with-tent-camp-shower-8000mah-rechargeable-camp-shower-pump-with-led-display-ambient-light-5-spray-modes-ipx8-waterproof-camping-shower-kit-travel","title":"Portable Camping Shower, Portable Shower with Tent, Camp Shower | 8000mAh Rechargeable Camp Shower Pump with LED Display\u0026Ambient Light,5 Spray Modes,IPX8 Waterproof,Camping Shower Kit Travel","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    .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.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  \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 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  \u003cdiv class=\"aplus-content-wrapper\"\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     \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=\"portable shower\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/c2265f53-80a1-4234-88ec-c5b87db6e55c.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/c2265f53-80a1-4234-88ec-c5b87db6e55c.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n       \u003cnoscript\u003e\n        \u003cimg alt=\"portable shower\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/c2265f53-80a1-4234-88ec-c5b87db6e55c.__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   \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     \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=\"portable shower for camping\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/48c93a01-c77e-4fca-a224-b8960ef37a26.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/48c93a01-c77e-4fca-a224-b8960ef37a26.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n       \u003cnoscript\u003e\n        \u003cimg alt=\"portable shower for camping\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/48c93a01-c77e-4fca-a224-b8960ef37a26.__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   \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     \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=\"portable camping shower\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b27a96d7-8e0a-46b1-9654-d799bf6219d3.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b27a96d7-8e0a-46b1-9654-d799bf6219d3.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n       \u003cnoscript\u003e\n        \u003cimg alt=\"portable camping shower\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b27a96d7-8e0a-46b1-9654-d799bf6219d3.__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   \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     \u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n      \u003cdiv id=\"premium-aplus-13-carousel-3-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-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\"\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=\"2\"\u003e\n             \u003cdiv id=\"premium-aplus-13-carousel-3-slide-0\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"outdoor shower portable\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/ad8422d7-decb-4492-a306-45c5b4dfcefb.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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=\"2\"\u003e\n             \u003cdiv id=\"premium-aplus-13-carousel-3-slide-2\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"outdoor shower kit for camping\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/1ec3297b-c881-40b0-b4e6-9776b163be70.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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-3\").execute(\"init-pagination-carousel\", function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-3\", 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 = \"3\";\n                var carouselName = \"premium-aplus-13-carousel-3\";\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-3-premium-aplus-13-carousel-3\" 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-3-premium-aplus-13-carousel-3\" data-aplus-pagination-dot-action-3-premium-aplus-13-carousel-3='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-3-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-3-premium-aplus-13-carousel-3\" data-aplus-pagination-dot-action-3-premium-aplus-13-carousel-3='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-3-slide-1\" 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-3\").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-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     \u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n      \u003cdiv id=\"premium-aplus-13-carousel-4-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-4\"}' 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-4-slide-0\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"camping shower kit\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/dcb24f80-db3a-44b8-af7f-4330990187f8.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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-4-slide-1\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"portable shower\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/58ff6e75-3154-4258-ae94-0dfffd2542a2.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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-4-slide-2\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"portable shower for camping\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/4243e33c-4d01-4a6e-9fdc-5ba073a1a54a.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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-4\").execute(\"init-pagination-carousel\", function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-4\", 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 = \"4\";\n                var carouselName = \"premium-aplus-13-carousel-4\";\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-4-premium-aplus-13-carousel-4\" 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-4-premium-aplus-13-carousel-4\" data-aplus-pagination-dot-action-4-premium-aplus-13-carousel-4='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-4-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-4-premium-aplus-13-carousel-4\" data-aplus-pagination-dot-action-4-premium-aplus-13-carousel-4='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-4-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-4-premium-aplus-13-carousel-4\" data-aplus-pagination-dot-action-4-premium-aplus-13-carousel-4='{\"page\": 3}' aria-label=\"slide-3\" aria-controls=\"premium-aplus-13-carousel-4-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-4\").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\" 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     \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=\"duchas portatiles para camping\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/0b968414-e0b3-4da7-9a62-addedf10c1e7.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/0b968414-e0b3-4da7-9a62-addedf10c1e7.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n       \u003cnoscript\u003e\n        \u003cimg alt=\"duchas portatiles para camping\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/0b968414-e0b3-4da7-9a62-addedf10c1e7.__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   \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     \u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n      \u003cdiv id=\"premium-aplus-13-carousel-6-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-6\"}' 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=\"4\"\u003e\n             \u003cdiv id=\"premium-aplus-13-carousel-6-slide-0\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"portable showers for camping\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/0da00be7-8bbd-4c63-97c6-5b81b065b50c.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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=\"4\"\u003e\n             \u003cdiv id=\"premium-aplus-13-carousel-6-slide-1\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"shower portable camping\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/e81f1214-6cdf-4d4c-a8d7-d9b40e4ed554.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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=\"4\"\u003e\n             \u003cdiv id=\"premium-aplus-13-carousel-6-slide-2\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"camping shower tent with drain\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/f01ee484-62ff-4882-bdc5-03893ab98622.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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=\"4\"\u003e\n             \u003cdiv id=\"premium-aplus-13-carousel-6-slide-3\"\u003e\n              \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n               \u003cimg alt=\"portable shower with tent\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/65873b24-cdd3-41e7-8eaa-576621bb94e8.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\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-6\").execute(\"init-pagination-carousel\", function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-6\", 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 = \"6\";\n                var carouselName = \"premium-aplus-13-carousel-6\";\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-6-premium-aplus-13-carousel-6\" 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-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-6-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-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-6-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-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 3}' aria-label=\"slide-3\" aria-controls=\"premium-aplus-13-carousel-6-slide-2\" 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-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 4}' aria-label=\"slide-4\" aria-controls=\"premium-aplus-13-carousel-6-slide-3\" 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-6\").execute('invoke-premium-13-carousel-desktop', function(init){init();});\n}));\u003c\/script\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 8000mAh battery and large display show power \u0026amp; water temp live No more guessing or mid‑rinse failures. Our 8000mAh portable shower delivers a full 180 minutes of steady flow–that's 3x longer than most cheap camping Shower. The camp pump shower built‑in LED screen shows exact remaining battery life and current water temperature. Recharges in just 4–5 hours via any Type‑C cable (car, power bank, or laptop). Reliable, predictable, and ready when you are \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 5 LED mood lights to turn your shower from boring to brilliant Most portable electric shower are dark and boring. Ours outdoor shower turns your campsite into a vibe. Triple‑click the power button to cycle through 5 light modes (green, blue, red, white, and multicolor fade) – great for late‑night rinses, washing the dog, or setting a relaxing glow inside your tent.The smart screen also shows water temperature at a glance. Practical, fun, and surprisingly handy after sunset \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 5 adjustable pressure settings for the ultimate shower experience Why settle for a weak drizzle that struggles to rinse off shampoo? Our 5th‑gen enhanced motor pumps 6 liters per minute–60% stronger than typical 4L\/min pumps. Our portable water pump with 5 adjustable settings let you go from a gentle mist to a deep massaging jet. Even at max power, the motor runs whisper‑quiet. Finally, a camping shower kit that actually feels like the real thing \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Absolute privacy that protects every adventure Most shower tents are too short, see‑through, and collapse in the first breeze. Ours stands a full 6.9 feet high – plenty of room to change, dry off,and shower without bumping your head. Built from tear‑resistant polyester with sandbags,guy lines, and heavy‑duty stakes. Dual‑zip doors, a side mesh window (private but well‑ventilated),plus interior pockets for soap and towel. Pair with our LED lights for your own private outdoor spa under the stars \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Lightweight, portable, and a complete one‑stop shower solution Our portable shower with tent fully submersible. Most water resistant competitors die when knocked into a river. Ours keeps pumping in a lake, bucket, or stream. The outdoor shower kit includes the 8000mAh pump, adjustable showerhead, 6.9ft tent, and a compact carry bag – everything you need for camping, beach trips, or overlanding. Our camping shower Lightweight, packable, and ready for wherever the trail takes you \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","brand":"Heinze \u0026 Company","offers":[{"title":"Default Title","offer_id":44722922225715,"sku":null,"price":85.65,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0667\/2039\/9411\/files\/81XwNzCzUfL._AC_SL1500.jpg?v=1786362099","url":"https:\/\/shopheinze.com\/products\/portable-camping-shower-portable-shower-with-tent-camp-shower-8000mah-rechargeable-camp-shower-pump-with-led-display-ambient-light-5-spray-modes-ipx8-waterproof-camping-shower-kit-travel","provider":"Heinze \u0026 Company","version":"1.0","type":"link"}