{"product_id":"suction-cup-shower-hooks-for-bathroom-matte-black-2-pack","title":"Suction Cup Shower Hooks for Bathroom, Matte Black, 2 Pack","description":"\u003cdiv id=\"aplus\" class=\"a-section a-spacing-large bucket\"\u003e \u003chr noshade size=\"1\" class=\"bucketDivider\"\u003e\n                                  \u003cstyle\u003e\n    .aplus-v2 .aplus-content-wrapper {\n        position: relative;\n        overflow: hidden;\n    }\n\n    .aplus-v2 .container-with-background-image {\n        width: 100%;\n        height: 100%;\n        background-repeat: no-repeat;\n        background-size: cover;\n    }\n\n    .aplus-v2 .aplus-module-csa-wrapper {\n        display: flow-root;\n    }\n\u003c\/style\u003e\n  \u003cscript type=\"application\/javascript\"\u003e\n    function logShoppableMetrics(moduleName, showsAddToCart) {\n        if (window.ue \u0026amp;\u0026amp; window.ue.count) {\n            window.ue.count(\"aplus:shoppable:\" + moduleName + \":addToCart\", showsAddToCart ? 1 : 0);\n        }\n    }\n\u003c\/script\u003e\n\n                                                  \u003ch2\u003eFrom the brand\u003c\/h2\u003e   \u003cdiv lang=\"en_US\"\u003e\n    \u003cdiv class=\"aplus-v2 desktop celwidget\" cel_widget_id=\"aplus\"\u003e\n            \u003cdiv class=\"aplus-content-wrapper\"\u003e\n                                                        \u003cstyle\u003e\n    .aplus-v2 .apm-brand-story-carousel-container {\n        position: relative;\n    }\n\n    .aplus-v2 .apm-brand-story-carousel-hero-container,\n    .aplus-v2 .apm-brand-story-carousel-hero-container \u0026gt; div {\n        position: absolute;\n        width: 100%;\n    }\n\u003c\/style\u003e\n\n    \u003cstyle\u003e\n        \/*\n          Ensuring the carousel takes only the space it needs.\n          The sizes need to be set again on the absolutely positioned elements so they can take up space.\n        *\/\n        .aplus-v2 .apm-brand-story-carousel-container,\n        .aplus-v2 .apm-brand-story-carousel-hero-container {\n            height: 625px;\n            width: 100%;\n            max-width: 1464px;\n            margin-left: auto;\n            margin-right: auto;\n            overflow: hidden;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel-hero-container,\n        .aplus-v2 .apm-brand-story-carousel-hero-container \u0026gt; div {\n            height: 625px;\n        }\n    \u003c\/style\u003e\n   \u003cstyle\u003e\n        .aplus-v2 .apm-brand-story-carousel.a-carousel-container {\n            padding: 0px;\n        }\n\n        \/*\n          This centers the carousel vertically on top of the hero image container and after the logo area (125px).\n          Margin-top = (heroHeight - cardHeight - logoAreaHeight) \/ 2 + logoAreaHeight\n        *\/\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-row-inner {\n            margin-top: 149px;\n        }\n\n        \/*\n          Cards need to have a width set, otherwise they default to 50px or so.\n          All cards must have the same width. The carousel will resize itself so all cards take the width of the largest card.\n          The left margin is for leaving a space between each card.\n        *\/\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-card {\n            width: 362px;\n            margin-left: 30px !important;\n        }\n\n        \/* styling the navigation buttons so they are taller, flush with the sides, and have a clean white background *\/\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left,\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right {\n            padding: 0px;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image,\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image {\n            border: none;\n            margin: 0px;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image .a-button-inner,\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image .a-button-inner {\n            background: #fff;\n            padding: 20px 6px;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image .a-button-inner {\n            border-radius: 0px 4px 4px 0px;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image .a-button-inner {\n            border-radius: 4px 0px 0px 4px;\n        }\n    \u003c\/style\u003e\n  \u003cdiv\u003e\n        \u003cdiv class=\"apm-brand-story-carousel-container\"\u003e\n                 \u003cdiv class=\"apm-brand-story-carousel-hero-container\"\u003e\n                             \u003cdiv class=\"celwidget aplus-module brand-story-hero-1-image-logo aplus-brand-story-hero\" cel_widget_id=\"aplus-brand-story-hero-1-image-logo\"\u003e\n             \u003cdiv class=\"apm-brand-story-hero\"\u003e\n    \u003cdiv class=\"apm-brand-story-background-image\"\u003e\n                                              \u003cimg alt=\"\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/a10c2272-cb2d-4986-b122-6a79a3c19b56.__CR0,0,4797,2048_PT0_SX1464_V1___.png\"\u003e  \u003c\/div\u003e\n\n     \u003cdiv class=\"apm-brand-story-text-bottom\"\u003e\n                                                    \u003ch3\u003e Engineered for Smarter Living \u003c\/h3\u003e                                      \u003cp\u003e Smart Home Organization for Modern Life \u003c\/p\u003e    \u003c\/div\u003e\n     \u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n                 \u003c\/div\u003e\n\n                    \u003cdiv id=\"apm-brand-story-carousel\" data-a-carousel-options='{\"minimum_gutter_width\":10,\"show_partial_next\":true,\"name\":\"brand-story-carousel\",\"single_page_align\":\"left\",\"circular\":false}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-stretchyGoodness a-carousel-transition-slide apm-brand-story-carousel size-cards a-carousel-container\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e \u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons\"\u003e\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\u003cdiv class=\"a-carousel-viewport\" aria-roledescription=\"slide\"\u003e\u003col class=\"a-carousel\" role=\"list\"\u003e  \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-0\"\u003e   \u003c\/li\u003e      \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-1\"\u003e           \u003cdiv class=\"celwidget aplus-module brand-story-card-3-about aplus-brand-story-card\" cel_widget_id=\"aplus-brand-story-card-3-about\"\u003e\n             \u003cdiv class=\"apm-brand-story-card\"\u003e\n    \u003cdiv class=\"apm-brand-story-logo-image\"\u003e\n                                              \u003cimg alt=\"\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/cfeccf8b-bb1c-4499-9647-c2cb36aeb833.__CR0,0,2835,1305_PT0_SX315_V1___.png\"\u003e  \u003c\/div\u003e\n    \u003cdiv class=\"apm-brand-story-slogan-text\"\u003e\n                                                \u003ch3\u003e Smart Home Organization \u003c\/h3\u003e                                      \u003cp\u003e Bonsphy focuses on stylish, durable, and user-friendly home organization products. We design practical solutions that combine quality, convenience, and modern aesthetics. Our mission is to help you organize your space easily without damage, suitable for families, renters, and RV living. \u003c\/p\u003e    \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/li\u003e    \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-2\"\u003e           \u003cdiv class=\"celwidget aplus-module brand-story-card-1-four-asin aplus-brand-story-card\" cel_widget_id=\"aplus-brand-story-card-1-four-asin\"\u003e\n                  \u003cdiv class=\"apm-brand-story-card\"\u003e\n    \u003cdiv class=\"apm-brand-story-image-grid\" role=\"list\"\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003c\/div\u003e\n\n      \u003cdiv class=\"apm-brand-story-text apm-brand-story-text-single\"\u003e\n                                                     \u003ch3\u003e Suction TP Holders \u0026amp; Hooks \u003c\/h3\u003e      \u003c\/div\u003e\n     \u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/li\u003e    \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-3\"\u003e           \u003cdiv class=\"celwidget aplus-module brand-story-card-1-four-asin aplus-brand-story-card\" cel_widget_id=\"aplus-brand-story-card-1-four-asin\"\u003e\n                  \u003cdiv class=\"apm-brand-story-card\"\u003e\n    \u003cdiv class=\"apm-brand-story-image-grid\" role=\"list\"\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003c\/div\u003e\n\n      \u003cdiv class=\"apm-brand-story-text apm-brand-story-text-single\"\u003e\n                                                     \u003ch3\u003e Luxury Hotel Towel Holders \u003c\/h3\u003e      \u003c\/div\u003e\n     \u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/li\u003e    \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-4\"\u003e           \u003cdiv class=\"celwidget aplus-module brand-story-card-1-four-asin aplus-brand-story-card\" cel_widget_id=\"aplus-brand-story-card-1-four-asin\"\u003e\n                  \u003cdiv class=\"apm-brand-story-card\"\u003e\n    \u003cdiv class=\"apm-brand-story-image-grid\" role=\"list\"\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003c\/div\u003e\n\n      \u003cdiv class=\"apm-brand-story-text apm-brand-story-text-single\"\u003e\n                                                     \u003ch3\u003e Luxury Hotel Towel Holders \u003c\/h3\u003e      \u003c\/div\u003e\n     \u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/li\u003e    \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-5\"\u003e           \u003cdiv class=\"celwidget aplus-module brand-story-card-1-four-asin aplus-brand-story-card\" cel_widget_id=\"aplus-brand-story-card-1-four-asin\"\u003e\n                  \u003cdiv class=\"apm-brand-story-card\"\u003e\n    \u003cdiv class=\"apm-brand-story-image-grid\" role=\"list\"\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                 \u003c\/div\u003e\n         \u003c\/div\u003e\n\n      \u003cdiv class=\"apm-brand-story-text apm-brand-story-text-single\"\u003e\n                                                     \u003ch3\u003e Luxury Hotel Bath Towel Racks \u003c\/h3\u003e      \u003c\/div\u003e\n     \u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/li\u003e   \u003c\/ol\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-right\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e \u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e \u003c\/div\u003e\n        \u003cdiv class=\"aplus-brandstory-pagination\"\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 id=\"aplus\" class=\"a-section a-spacing-large bucket\"\u003e \u003chr noshade size=\"1\" class=\"bucketDivider\"\u003e\n                                  \u003cstyle\u003e\n    .aplus-v2 .aplus-content-wrapper {\n        position: relative;\n        overflow: hidden;\n    }\n\n    .aplus-v2 .container-with-background-image {\n        width: 100%;\n        height: 100%;\n        background-repeat: no-repeat;\n        background-size: cover;\n    }\n\n    .aplus-v2 .aplus-module-csa-wrapper {\n        display: flow-root;\n    }\n\u003c\/style\u003e\n  \u003cscript type=\"application\/javascript\"\u003e\n    function logShoppableMetrics(moduleName, showsAddToCart) {\n        if (window.ue \u0026amp;\u0026amp; window.ue.count) {\n            window.ue.count(\"aplus:shoppable:\" + moduleName + \":addToCart\", showsAddToCart ? 1 : 0);\n        }\n    }\n\u003c\/script\u003e\n\n                                                \u003ch2\u003eProduct description\u003c\/h2\u003e   \u003cdiv lang=\"en_US\"\u003e\n    \u003cdiv class=\"aplus-v2 desktop celwidget\" cel_widget_id=\"aplus\"\u003e\n            \u003cscript type=\"application\/javascript\"\u003e\n\n    \/**\n     * Common event handler for click and keydown events.\n     * @param {Event} event - The event object.\n     * @param {Function} handleClickOrEnter - Function to handle click or Enter key events.\n     * @param {Function} handleEsc - Function to handle Esc key events.\n     *\/\n    \/\/ [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources\n    function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) {\n        const ENTER_KEY_CODE = 13;\n        const ESCAPE_KEY_CODE = 27;\n        const SPACE_KEY_CODE = 32;\n        const isClick = event.type === 'click';\n        const isKeydown = event.type === 'keydown';\n        const isEnter = isKeydown \u0026amp;\u0026amp; event.keyCode === ENTER_KEY_CODE;\n        const isSpace = isKeydown \u0026amp;\u0026amp; event.keyCode === SPACE_KEY_CODE;\n        const isEsc = isKeydown \u0026amp;\u0026amp; event.keyCode === ESCAPE_KEY_CODE;\n\n        if (isClick || isEnter || isSpace) {\n            handleClickOrEnterOrSpace();\n        } else if (isEsc) {\n            handleEsc(event);\n        }\n    }\n\n    \/**\n    * Function to handle esc key event.\n    * @param {Event} event - The event object.\n    *\/\n    function handleEsc(event) {\n        event.target.blur()  \/\/ force remove focus\n    }\n\n\u003c\/script\u003e      \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                                       \u003ch1 class=\"a-text-center aplus-container-3 aplus-h1 a-text-bold\"\u003e BONSPHY SUCTION CUP HOOKS \u003c\/h1\u003e    \u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e  \u003cdiv class=\"a-section a-spacing-none background-image\"\u003e                                     \u003cimg alt=\"Two matte black suction cup shower hooks holding a towel and loofah on smooth bathroom surfaces\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/d1673512-0403-4473-b356-3b8aa732c8db.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e  \u003c\/div\u003e   \u003c\/div\u003e \u003cdiv class=\"a-section a-text-center\"\u003e                                     \u003c\/div\u003e \u003c\/div\u003e      \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                                   \u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e  \u003cdiv class=\"a-section a-spacing-none background-image\"\u003e                                     \u003cimg alt=\"Guide: good for smooth glass, tile \u0026amp;amp;amp; metal; not for paint, wallpaper, rough porous \u0026amp;amp;amp; grout areas\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/90b27d82-d338-4d5c-9472-89fdba2f659d.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e  \u003c\/div\u003e   \u003c\/div\u003e \u003cdiv class=\"a-section a-text-center\"\u003e                                  \u003c\/div\u003e \u003c\/div\u003e      \u003c\/div\u003e\n             \u003cdiv class=\"celwidget aplus-module premium-module-10-hotspot-plain-image aplus-premium\" cel_widget_id=\"aplus-premium-module-10-hotspot-plain-image\"\u003e\n                           \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-10\"\u003e                                     \u003cimg alt=\"\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/bbcecee5-340b-442b-9f8d-205e467330d2.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e        \u003cdiv class=\"hover-wrapper\" style=\"left: -moz-calc(18.52% - 18px); left: -webkit-calc(18.52% - 18px); left: -o-calc(18.52% - 18px); left: calc(18.52% - 18px); top: -moz-calc(31.83% - 18px); top: -webkit-calc(31.83% - 18px); top: -o-calc(31.83% - 18px); top: calc(31.83% - 18px);\"\u003e\n                    \u003cspan tabindex=\"0\" class=\"hover-point\" data-inline-content=\"\u0026lt;div\u0026gt;\n                    \u0026lt;p style='font-weight: bold'\u0026gt;304 STAINLESS STEEL BODY \u0026amp;amp; HOOK\u0026lt;\/p\u0026gt;\n                    \u0026lt;p\u0026gt; — Forms the visible exterior and hanging surface.\u0026lt;\/p\u0026gt;\n                \u0026lt;\/div\u0026gt;\" data-position=\"triggerHorizontal\"\u003e\u003c\/span\u003e\n                \u003c\/div\u003e      \u003cdiv class=\"hover-wrapper\" style=\"left: -moz-calc(48.29% - 18px); left: -webkit-calc(48.29% - 18px); left: -o-calc(48.29% - 18px); left: calc(48.29% - 18px); top: -moz-calc(32.70% - 18px); top: -webkit-calc(32.70% - 18px); top: -o-calc(32.70% - 18px); top: calc(32.70% - 18px);\"\u003e\n                    \u003cspan tabindex=\"0\" class=\"hover-point\" data-inline-content=\"\u0026lt;div\u0026gt;\n                    \u0026lt;p style='font-weight: bold'\u0026gt;ABS REINFORCED INTERNAL LOCKING PARTS\u0026lt;\/p\u0026gt;\n                    \u0026lt;p\u0026gt;— Thickened ABS turns cover twist into firm, secure locking action.\u0026lt;\/p\u0026gt;\n                \u0026lt;\/div\u0026gt;\" data-position=\"triggerHorizontal\"\u003e\u003c\/span\u003e\n                \u003c\/div\u003e      \u003cdiv class=\"hover-wrapper\" style=\"left: -moz-calc(69.73% - 18px); left: -webkit-calc(69.73% - 18px); left: -o-calc(69.73% - 18px); left: calc(69.73% - 18px); top: -moz-calc(80.00% - 18px); top: -webkit-calc(80.00% - 18px); top: -o-calc(80.00% - 18px); top: calc(80.00% - 18px);\"\u003e\n                    \u003cspan tabindex=\"0\" class=\"hover-point\" data-inline-content=\"\u0026lt;div\u0026gt;\n                    \u0026lt;p style='font-weight: bold'\u0026gt;ABS SUCTION SUPPORT RING\u0026lt;\/p\u0026gt;\n                    \u0026lt;p\u0026gt;— Supports the suction cup to help maintain the seal.\u0026lt;\/p\u0026gt;\n                \u0026lt;\/div\u0026gt;\" data-position=\"triggerHorizontal\"\u003e\u003c\/span\u003e\n                \u003c\/div\u003e      \u003cdiv class=\"hover-wrapper\" style=\"left: -moz-calc(80.56% - 18px); left: -webkit-calc(80.56% - 18px); left: -o-calc(80.56% - 18px); left: calc(80.56% - 18px); top: -moz-calc(81.74% - 18px); top: -webkit-calc(81.74% - 18px); top: -o-calc(81.74% - 18px); top: calc(81.74% - 18px);\"\u003e\n                    \u003cspan tabindex=\"0\" class=\"hover-point\" data-inline-content=\"\u0026lt;div\u0026gt;\n                    \u0026lt;p style='font-weight: bold'\u0026gt;304 STAINLESS STEEL THREADED STUD\u0026lt;\/p\u0026gt;\n                    \u0026lt;p\u0026gt;— Tough 304 stainless steel threads resist breaking, joining hook body to suction assembly.\u0026lt;\/p\u0026gt;\n                \u0026lt;\/div\u0026gt;\" data-position=\"triggerHorizontal\"\u003e\u003c\/span\u003e\n                \u003c\/div\u003e      \u003cdiv class=\"hover-wrapper\" style=\"left: -moz-calc(94.09% - 18px); left: -webkit-calc(94.09% - 18px); left: -o-calc(94.09% - 18px); left: calc(94.09% - 18px); top: -moz-calc(78.26% - 18px); top: -webkit-calc(78.26% - 18px); top: -o-calc(78.26% - 18px); top: calc(78.26% - 18px);\"\u003e\n                    \u003cspan tabindex=\"0\" class=\"hover-point\" data-inline-content=\"\u0026lt;div\u0026gt;\n                    \u0026lt;p style='font-weight: bold'\u0026gt;FLEXIBLE TPU SUCTION CUP\u0026lt;\/p\u0026gt;\n                    \u0026lt;p\u0026gt;— Conforms to the compatible surface to form the seal.\u0026lt;\/p\u0026gt;\n                \u0026lt;\/div\u0026gt;\" data-position=\"triggerHorizontal\"\u003e\u003c\/span\u003e\n                \u003c\/div\u003e  \u003c\/div\u003e  \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                                   \u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e  \u003cdiv class=\"a-section a-spacing-none background-image\"\u003e                                     \u003cimg alt=\"Simple three-step assembly for the two-pack matte black round-knob suction hooks\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9522e770-562f-4e28-bf23-a7f1a458af6c.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e  \u003c\/div\u003e   \u003c\/div\u003e \u003cdiv class=\"a-section a-text-center\"\u003e                                   \u003cp class=\"aplus-description aplus-container-3 aplus-p1\"\u003e The 2 Pack arrives as separate hook bodies and suction assemblies. Assemble clockwise, fully loosen the round cover counterclockwise, then peel, press and wist clockwise to lock. The suction base has slight tack to assist temporary positioning only; it does NOT use permanent glue or adhesive pads. \u003c\/p\u003e    \u003c\/div\u003e \u003c\/div\u003e      \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                                   \u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e  \u003cdiv class=\"a-section a-spacing-none background-image\"\u003e                                     \u003cimg alt=\"Mounting \u0026amp;amp;amp; removal guide: press, twist, loosen and release reusable suction shower hook\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/3677b569-5a84-4f3d-9cda-0c3865a2e8d1.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e  \u003c\/div\u003e   \u003c\/div\u003e \u003cdiv class=\"a-section a-text-center\"\u003e                                     \u003c\/div\u003e \u003c\/div\u003e      \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                                     \u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-5-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-5\"}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e  \u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons a-carousel-overlay-buttons a-carousel-rounded-buttons\"\u003e\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\u003cdiv class=\"a-carousel-viewport\" aria-roledescription=\"slide\"\u003e\u003col class=\"a-carousel\" role=\"list\"\u003e     \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"2\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-5-slide-0\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"Matte black suction wreath hanger holding lightweight wreath on smooth flat glass door\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/cdf123ee-5c4d-4f09-994d-6dca916d1401.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e    \u003c\/div\u003e   \u003c\/div\u003e\n                            \u003c\/li\u003e      \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card aplus-carousel-element\" aria-setsize=\"2\"\u003e \u003cdiv id=\"premium-aplus-13-carousel-5-slide-1\"\u003e\n                                         \u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e                                         \u003cimg alt=\"Bonsphy Bathroom Suction Cup Shower Hooks for Hanging Loofahs and Bath Sponges, Five Color Options\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9204276d-83c6-4ae3-8018-afae072c432e.__CR0,0,4898,2007_PT0_SX1464_V1___.png\"\u003e    \u003c\/div\u003e   \u003c\/div\u003e\n                            \u003c\/li\u003e                   \u003c\/ol\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-right\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e \u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e \u003cdiv class=\"a-section a-spacing-none aplus-pagination-wrapper\"\u003e      \u003cscript\u003e\n\nP.now(\"premium-aplus-13-carousel-5\").execute(\"init-pagination-carousel\", function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-5\", 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 = \"5\";\n                var carouselName = \"premium-aplus-13-carousel-5\";\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 \u0026amp;\u0026amp; parentElement.children) {\n                        const children = parentElement.children;\n                        for (let i = 0; i \u0026lt; children.length; i++) {\n                            if (i \u0026gt;= numPages) {\n                                \/\/ If number of dots \u0026gt; 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 \u0026amp;\u0026amp; event.$event.keyCode === ENTER_KEY_CODE;\n                            var isEsc = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === ESCAPE_KEY_CODE;\n                            var isLeftArrow = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === LEFT_ARROW_KEY;\n                            var isRightArrow = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === RIGHT_ARROW_KEY;\n                            var isHome = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === HOME_KEY;\n                            var isEnd = isKeydown \u0026amp;\u0026amp; 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 \u0026gt; 0 ? currentIndex - 1 : dots.length - 1;\n                                } else if (isRightArrow) {\n                                    nextIndex = currentIndex \u0026lt; 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-5-premium-aplus-13-carousel-5\" class=\"aplus-pagination-dots\" aria-label=\"tablist-section\" role=\"tablist\"\u003e\n                  \u003cli class=\"aplus-pagination-dot\"\u003e\n                        \u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block aplus-carousel-active\" aria-selected=\"true\" data-action=\"aplus-pagination-dot-action-5-premium-aplus-13-carousel-5\" data-aplus-pagination-dot-action-5-premium-aplus-13-carousel-5='{\"page\": 1}' aria-label=\"slide-1\" aria-controls=\"premium-aplus-13-carousel-5-slide-0\" tabindex=\"0\" role=\"tab\"\u003e\u003c\/span\u003e\n                    \u003c\/li\u003e\n                  \u003cli class=\"aplus-pagination-dot\"\u003e\n                        \u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block \" aria-selected=\"false\" data-action=\"aplus-pagination-dot-action-5-premium-aplus-13-carousel-5\" data-aplus-pagination-dot-action-5-premium-aplus-13-carousel-5='{\"page\": 2}' aria-label=\"slide-2\" aria-controls=\"premium-aplus-13-carousel-5-slide-1\" tabindex=\"-1\" role=\"tab\"\u003e\u003c\/span\u003e\n                    \u003c\/li\u003e\n                 \u003c\/ul\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n \u003c\/div\u003e \u003c\/div\u003e \u003cdiv class=\"a-section a-text-center\"\u003e                                  \u003c\/div\u003e \u003c\/div\u003e  \u003c\/div\u003e\n             \u003cdiv class=\"celwidget aplus-module premium-module-11-faq aplus-premium\" cel_widget_id=\"aplus-premium-module-11-faq\"\u003e\n                                                                                                            \u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-11\"\u003e \u003cdiv data-faq-block=\"6\" class=\"a-section a-spacing-none aplus-container-2 faqs-container 6\"\u003e  \u003cul class=\"faq-list\"\u003e\n                    \u003cli id=\"faq-qa-pair-0\" class=\"faq-block\"\u003e\n                            \u003ch3\u003e\n                                \u003cspan data-faq-question=\"\" role=\"button\" tabindex=\"0\" aria-controls=\"faq-0\" aria-expanded=\"false\"\u003e\n                                                                      \u003cp class=\"aplus-question aplus-p1\"\u003e Can I use the hooks inside a shower? \u003c\/p\u003e    \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e\n                                \u003c\/span\u003e  \n                            \u003c\/h3\u003e\n                                                              \u003cp class=\"aplus-answer aplus-p2\"\u003e Yes, on clean, dry, smooth, flat, nonporous glass, glazed tile or metal. Keep the entire cup away from grout lines and check the hold before use. Stainless steel, TPU \u0026amp; ABS build makes them waterproof \u0026amp; rust resistant. \u003c\/p\u003e    \u003c\/li\u003e\n                         \u003cli id=\"faq-qa-pair-1\" class=\"faq-block\"\u003e\n                            \u003ch3\u003e\n                                \u003cspan data-faq-question=\"\" role=\"button\" tabindex=\"0\" aria-controls=\"faq-1\" aria-expanded=\"false\"\u003e\n                                                                      \u003cp class=\"aplus-question aplus-p1\"\u003e How much weight can each hook hold? \u003c\/p\u003e    \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e\n                                \u003c\/span\u003e  \n                            \u003c\/h3\u003e\n                                                              \u003cp class=\"aplus-answer aplus-p2\"\u003e Each hook holds up to 11 lb when correctly installed on a clean, dry, compatible surface. This is a per-hook limit, not a combined set rating. Prolonged max load or improper surface may lead to hook detachment. Avoid hanging valuable \u0026amp; fragile items. \u003c\/p\u003e    \u003c\/li\u003e\n                         \u003cli id=\"faq-qa-pair-2\" class=\"faq-block\"\u003e\n                            \u003ch3\u003e\n                                \u003cspan data-faq-question=\"\" role=\"button\" tabindex=\"0\" aria-controls=\"faq-2\" aria-expanded=\"false\"\u003e\n                                                                      \u003cp class=\"aplus-question aplus-p1\"\u003e Why does the suction cup feel slightly tacky? \u003c\/p\u003e    \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e\n                                \u003c\/span\u003e  \n                            \u003c\/h3\u003e\n                                                              \u003cp class=\"aplus-answer aplus-p2\"\u003e The light tack helps initial positioning. It is NOT a separate adhesive pad and does not replace correct surface preparation, firm pressure or locking. \u003c\/p\u003e    \u003c\/li\u003e\n                         \u003cli id=\"faq-qa-pair-3\" class=\"faq-block\"\u003e\n                            \u003ch3\u003e\n                                \u003cspan data-faq-question=\"\" role=\"button\" tabindex=\"0\" aria-controls=\"faq-3\" aria-expanded=\"false\"\u003e\n                                                                      \u003cp class=\"aplus-question aplus-p1\"\u003e Can the suction hooks be removed and reused? \u003c\/p\u003e    \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e\n                                \u003c\/span\u003e  \n                            \u003c\/h3\u003e\n                                                              \u003cp class=\"aplus-answer aplus-p2\"\u003e Yes. Unload the hook, loosen the cover, lift the suction cup release tab, wash the cup and let it dry fully before reinstalling and checking the hold. \u003c\/p\u003e    \u003c\/li\u003e\n                         \u003cli id=\"faq-qa-pair-4\" class=\"faq-block\"\u003e\n                            \u003ch3\u003e\n                                \u003cspan data-faq-question=\"\" role=\"button\" tabindex=\"0\" aria-controls=\"faq-4\" aria-expanded=\"false\"\u003e\n                                                                      \u003cp class=\"aplus-question aplus-p1\"\u003e Can I use one as a wreath hanger? \u003c\/p\u003e    \u003cspan class=\"faq-arrow\" aria-label=\"\"\u003e\u003c\/span\u003e\n                                \u003c\/span\u003e  \n                            \u003c\/h3\u003e\n                                                              \u003cp class=\"aplus-answer aplus-p2\"\u003e For a lightweight wreath, a suction cup wreath hanger may be used on compatible smooth glass. Verify the hold before display. Do NOT use on painted or textured doors, wood, or over grout and edges. \u003c\/p\u003e    \u003c\/li\u003e\n                      \u003c\/ul\u003e\n        \u003c\/div\u003e \u003c\/div\u003e  \u003c\/div\u003e\n         \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e    \u003c\/div\u003e                                 ","brand":"My Store","offers":[{"title":"Brushed Nickel \/ Anti‑Slip Stop Tab \/ 2","offer_id":46169783763004,"sku":null,"price":29.59,"currency_code":"AUD","in_stock":true},{"title":"Brushed Nickel \/ Round Hook \/ 2","offer_id":46169783795772,"sku":null,"price":28.59,"currency_code":"AUD","in_stock":true},{"title":"Brushed Nickel \/ Round Hook \/ 5","offer_id":46169783828540,"sku":null,"price":58.99,"currency_code":"AUD","in_stock":true},{"title":"Matte Black \/ Round Hook \/ 5","offer_id":46169783861308,"sku":null,"price":58.99,"currency_code":"AUD","in_stock":true},{"title":"Matte Black \/ Round Front-Knob \/ 2","offer_id":46169783894076,"sku":null,"price":15.59,"currency_code":"AUD","in_stock":true},{"title":"Polished Chrome \/ Round Hook \/ 2","offer_id":46169783926844,"sku":null,"price":29.99,"currency_code":"AUD","in_stock":true},{"title":"Polished Chrome \/ Round-Knob End \/ 5","offer_id":46169783959612,"sku":null,"price":59.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0726\/7093\/7148\/files\/61H_N5UHJWL._AC_SL1500.jpg?v=1789636543","url":"https:\/\/www.siloandstore.com\/products\/suction-cup-shower-hooks-for-bathroom-matte-black-2-pack","provider":"Down Under Splash","version":"1.0","type":"link"}