{"product_id":"bluetooth-shower-speaker-ip7-waterproof-portable-speakers-hd-sound-24h","title":"Bluetooth Shower Speaker IP7 Waterproof Portable Speakers HD Sound 24H","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=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-slot-id=\"aplus-module-premium-module-2-fullbackground-image-1\" data-csa-c-content-id=\"amzn1.aplus.aa2169b2-6dbf-4244-ac0d-57a57b5117fb:1790666849750.f64ab707-c001-4e9e-bab9-51e7db0e83c0.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      \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=\"Bluetooth Shower Speaker\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/6a0c136a-8108-482d-8d72-89067f094d2d.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/6a0c136a-8108-482d-8d72-89067f094d2d.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n        \u003cnoscript\u003e\n         \u003cimg alt=\"Bluetooth Shower Speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/6a0c136a-8108-482d-8d72-89067f094d2d.__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-2-fullbackground-image-2\" data-csa-c-content-id=\"amzn1.aplus.aa2169b2-6dbf-4244-ac0d-57a57b5117fb:1790666849750.63962c2f-3b71-4846-ad04-7b330c28063e.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      \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=\"shower speaker\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7d3e49de-886c-48cc-b630-a61caf640913.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7d3e49de-886c-48cc-b630-a61caf640913.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n        \u003cnoscript\u003e\n         \u003cimg alt=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7d3e49de-886c-48cc-b630-a61caf640913.__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.aa2169b2-6dbf-4244-ac0d-57a57b5117fb:1790666849750.2b974f83-690e-4e12-b00d-08ac93d72da6.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      \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=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9bfbba77-e5dc-4333-8544-5a61b90d30d9.__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=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/4fabde57-dcd2-4599-87f9-ea5284725478.__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=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/0c0f13c3-fc87-456c-998c-4c9b08b2e6f8.__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-13-carousel-4\" data-csa-c-content-id=\"amzn1.aplus.aa2169b2-6dbf-4244-ac0d-57a57b5117fb:1790666849750.d957a496-fd11-47e7-841d-88dfc54f6349.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      \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=\"3\"\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                \u003cdiv style=\"aspect-ratio: 1464 \/ 600; line-height: 0;\"\u003e\n                 \u003cimg alt=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/fe38db1f-796d-48c8-9199-8c4c090fae61.__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-3-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=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/77dbd913-0b00-41f9-aab4-195fe24c3ed4.__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-3-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=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/45ca97e2-41ee-4635-9293-2c91263fed52.__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-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           \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\": 3}' aria-label=\"slide-3\" aria-controls=\"premium-aplus-13-carousel-3-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-3\").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-13-carousel-5\" data-csa-c-content-id=\"amzn1.aplus.aa2169b2-6dbf-4244-ac0d-57a57b5117fb:1790666849750.8005d358-470c-4aa3-a615-1f41fbb09509.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      \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=\"2\"\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                \u003cdiv style=\"aspect-ratio: 1464 \/ 600; line-height: 0;\"\u003e\n                 \u003cimg alt=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b269eefa-cc2c-4476-b791-fde4eb2f8f94.__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=\"2\"\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                \u003cdiv style=\"aspect-ratio: 1464 \/ 600; line-height: 0;\"\u003e\n                 \u003cimg alt=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/dcfa00c2-62d8-4317-a7bf-550955c4fa8f.__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-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          \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   \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-6\" data-csa-c-content-id=\"amzn1.aplus.aa2169b2-6dbf-4244-ac0d-57a57b5117fb:1790666849750.68280262-c0a1-4803-8048-af2e3271111b.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      \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=\"1\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/3e91b894-2292-4024-9148-737b6a523a7a.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/3e91b894-2292-4024-9148-737b6a523a7a.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n        \u003cnoscript\u003e\n         \u003cimg alt=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/3e91b894-2292-4024-9148-737b6a523a7a.__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-2-fullbackground-image-7\" data-csa-c-content-id=\"amzn1.aplus.aa2169b2-6dbf-4244-ac0d-57a57b5117fb:1790666849750.ff401a4f-512a-40d7-a2bd-e2c49d9192de.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      \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=\"shower speaker\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b9c39df6-fb45-4ff1-bc50-01107c6c9412.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b9c39df6-fb45-4ff1-bc50-01107c6c9412.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\n        \u003cnoscript\u003e\n         \u003cimg alt=\"shower speaker\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b9c39df6-fb45-4ff1-bc50-01107c6c9412.__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  \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 High-Definition Sound: Indulge in the sheer excellence of sound with our bluetooth speaker's high-definition audio output. Every note and beat is rendered with exceptional clarity, bringing a studio-like experience right into your bathroom. From the deep bass to the soaring highs, your music will sound as the artist intended. \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Colorful LED Light Show: Forget the hassle of frequent charging. Our portable speaker's battery life is nothing short of impressive, providing up to 8 hours of playtime. The integrated LED lights offer a variety of colors and can be set to seven different lighting effects, creating an ambiance that complements the music and enhances your mood. \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Universal Bluetooth Connectivity: Compatibility is key, MC005 speaker offers universal Bluetooth connectivity that ensures you can pair it with a wide range of devices. Stream music from your smartphone, tablet, or laptop with ease, without the hassle of wires or complex setups. \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e IPX7 Waterproof \u0026amp; Durable: Designed to defy water, this shower speaker is constructed with premium materials that are both waterproof and durable. Whether it's a gentle mist or a direct splash, our speakers are built to handle the moisture of your bathroom environment with ease, ensuring longevity and reliability. Installation is a breeze with the powerful suction cup mount. \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Built-in Microphone: Our waterproof speaker is equipped with a noise-cancelling microphone that allows you to answer phone calls hands-free. The next time your phone rings while you're in the shower, you won't have to rush out—simply press the answer button and speak freely. \u003c\/span\u003e\u003c\/li\u003e\n  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Accurate time synchronization: MC005 bathroom speaker is equipped with time display function, which does not require additional complex design. When connected to your mobile phone, it will automatically update the time consistent with your mobile phone display within 30 seconds. Please note that Android phones need to click authorization before it can take effect. \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\"\u003eDbasne\u003c\/span\u003e\u003c\/td\u003e\n   \u003c\/tr\u003e\n   \u003ctr class=\"a-spacing-small po-speakers_maximum_output_power\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eSpeaker Maximum Output Power\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003e180 watts\u003c\/span\u003e\u003c\/td\u003e\n   \u003c\/tr\u003e\n   \u003ctr class=\"a-spacing-small po-connectivity_technology\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eConnectivity Technology\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eBluetooth\u003c\/span\u003e\u003c\/td\u003e\n   \u003c\/tr\u003e\n   \u003ctr class=\"a-spacing-small po-audio_output_mode\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eAudio Output Mode\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eStereo\u003c\/span\u003e\u003c\/td\u003e\n   \u003c\/tr\u003e\n   \u003ctr class=\"a-spacing-small po-mounting_type\" role=\"listitem\"\u003e\n    \u003ctd class=\"a-span3\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eMounting Type\u003c\/span\u003e\u003c\/td\u003e\n    \u003ctd class=\"a-span9\" role=\"presentation\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eCeiling Mount\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":"Black","offer_id":50814386208961,"sku":"B0HJTVBT21","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue","offer_id":50814386241729,"sku":"B0HJTZB8J3","price":87.49,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0045\/8909\/2957\/files\/71qnFSxq6UL._AC_SL1500.jpg?v=1792787702","url":"https:\/\/shop.dealsupplies.com\/products\/bluetooth-shower-speaker-ip7-waterproof-portable-speakers-hd-sound-24h","provider":"Deal Supplies","version":"1.0","type":"link"}